Linux用户和组的属性与权限本章结构1.用户账号和组账号概述2.用户账号和组账号管理3.查询账号信息4.查看目录或文件的属性5.设置目录或文件的权限6.设置目录或文件的归属
前言在linux中一切都是文件(文件夹和硬件设备是特殊的文件),如果有可能尽量使用文本文件。文本文件是人和机器能理解的文件,也成为人和机器进行交流的最好途径。由于所有的配置文件都是文本,所以你只需要一个最简单的编辑器就可以修改。由于修改文本文件如此简单,所以Linux系统本身肯定要加以规范。这就引出了用户(组)和权限这2个概念。而这2个概念的引入,完美的保证了Linux的安全性,同时没有添加复杂性。由于一切皆为文件。所以Linux引入了3个文件来管理用户(组), /etc/passwd存放用户信息,/etc/shadow存放用户密码信息,/etc/group存放组信息,然后在文件系统中的每个文件的文件头里面添加了用户和文件之间的关系信息。一、用户和组的信息查看1.用户:在Linux下,用户分为三类:超级用户(root)、普通用户、程序用户。超级用户:UID=0程序用户:Rhel5/6,UID=1-499; Rhel7,UID=1-999普通用户:Rhel5/6,UID=500-65535; Rhel7,UID=1000-60000超级用户有且只有一个,且不能被代替!匿名用户(nobody):普通用户中权限最小的2.组:用户权限的集合称为组私有组:伴随着用户的创建而创建,与用户同名共有组:附加组 直接创建空组,可以添加已有用户,给组设置权限,该组中的所有用户都具备此权限。3.UID和GID:用户和组的标识号,具有唯一性4.用户账号文件/etc/passwd:保存用户名称,宿主目录,登录shell等基本信息用户账号文件 /etc/shadow:保存用户的密码,账号有效期等信息添加用户账号 useradd-u:指定UID-d:创建家目录指定位置-e:指定失效时间-g:指定基本组-G:指定共有组-M:不创建家目录-s:指定可以从shell终端登录/sbin/nologin状态下 用户无法直接登录和被切换登录用户被锁定状态下 无法直接登录,可以从root用户切换登录passwd命令-l:锁定账号-u:解锁账号-d:清除账号-S:查看账号是否被锁不指定用户名时,就是就该当前账号的密码!usermod 修改用户账号的属性-u:指定UID-d:创建家目录指定位置-e:指定失效时间-g:指定基本组-G:指定共有组-M:不创建家目录-s:指定可以从shell终端登录-L:锁定-U:解锁userdel 删除用户账号-r 连用户的宿主目录一并删除用户账号的初始配置文件新建用于账号时,从 /etc/skel目录中复制而来主要的用户初始配置文件~/.bash_prolile~/.bashrc~/.bash_logout隐藏文件profile 环境变量 进入bash才被加载bashrc 不进入bash就加载
组账号文件/etc/group:保存组账号基本信息/etc/gshadow:保存组账号的密码信息groupadd:添加组账号gpasswd:添加删除组成员命令 gpasswd -a:向组内添加一个用户gpasswd -d :从组内删除一个用户gpasswd -M :定义组内成员列表,以逗号分隔groupdel:删除组账号查询账号信息groups 查询用户所属的组id 查询用户身份标识w、who、user命令:查询已登录到主机的用户信息二、文件、目录的权限和归属1.访问权限1)读取r:允许查看文件内容、显示目录列表2)写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录3)可执行x:允许运行程序,切换目录2.归属(所有权)1)属主:拥有改文件或目录的用户账号2)属组:拥有该文件或目录的组账号-rwxr-xr-x. 1 root root 5343 8月 2 2017 znew