五、账号及权限管理

账号

用户账号分类

超级用户:UID=0
系统用户:UID=1-499(RHEL5/6)UID=1-999(RHEL7)
普通用户:UID=500-65535(RHEL5/6)UID=1000-60000(RHEL7)
组账户分类
基本组(主组,每个用户有且仅有一个主组)
附加组(每个用户可以属于零或者多个附加组)

用户信息

相关文件存放在/etc/passwd文件中,文件包含7个字段

字段1:用户名
字段2:密码占位符(密码存放在/etc/shadow文件中)
字段3:uid
字段4:gid(主组的GID)
字段5:用户描述信息
字段6:用户的家目录
字段7:登录shell(/bin/bash表示此用户可以登录系统,/sbin/nologin表示此用户不允许登录系统)

用户信息及密码控制的默认属性文件位于/etc/login.defs中 用户在被创建时,拷贝到家目录的模版目录位于/etc/skel中

用户管理指令:

useradd 在进行用户创建时,做了以下三件事情:    
1.在passwd和shadow文件中同时创建了相同名称的用户
2.在/var/spool/mail目录中,创建了以此用户命名的邮箱信息
3.将/etc/skel目录中的模版文件全部拷贝到用户的家目录中

userdel 表示删除用户
删除用户时,需要增加一个选项,
添加-r,此选项表示删除用户的时候,将用户的家目录和邮箱一并删除
不加-r,只删除位于passwd和shadow文件中的数据信息

usermod 对已存在用户进行属性修改
可以锁定用户,可以修改用户的家目录,可以修改用户的主组或附加组等等

passwd为用户设置密码

root 用户:
1.不需要写入当前设置的密码
2.设置的新密码不需要满足长度以及复杂度要求

user 用户:
1.需要提供当前密码
2.设置的新密码需要满足长度以及复杂度要求

密码信息

相关的文件存放在/etc/shadow中,文件包含9个字段

字段1:用户名
字段2:通过sha-512加密过的密码($6)
字段3:此用户最后一次修改密码距离1970年1月1日的天数间隔
字段4:密码最短修改间隔,0表示随时可以修改
字段5:密码最长有效期,99999表示此用户的密码永不过期
字段6:密码过期前的警告天数
字段7:账户被禁用的天数
字段8:账号失效时间距离1970年1月1日单位是(天)
字段9:未分配功能

相关文件存放在/etc/group文件中,文件包含4个字段

字段1:组名称
字段2:组密码占位符
字段3:组的GID
字段4:组成员

groupadd增加附加组
用户创建时,可以指定groupadd创建的组(-g 主组)或者(-G 附加组)

groupdel删除附加组(不能删除主组)

groupmod修改组信息

权限管理

通过ls -l可以获取文件的属性信息 从最左边开始的10个字段中,第一个字段表示文件类型 第二个字段到第十个字段,每三个字段表示一个权限控制

-rwxr--r--
d(目录)rwx(属主权限) r--(属组权限) r--(除属主和属组外所有用户权限)
第一个字符d为目录,-为文件
第一个字段区间,文件的属主权限
第二个字段区间,文件的属组权限
第三个字段区间,文件的属主和属组“以外”所有用户对文件拥有什么权限

文件,rwx所表示的含义

r:表示可以读取此文件 w:表示可以编辑,删除此文件 x:表示此文件可以被用户执行

目录,rwx所表示的含义

r:表示可以查看目录中信息 w:表示可以对目录中的文件或子目录,执行cp/mv/rm/touch/mkdir x:表示用户是否能以长格式形式查看文件和子目录的详细信息

x权限: 对文件来说表示是否可执行 对目录来说表示是否允许用户查看子目录子文件的详细信息

chmod

chmod用于修改文件或目录的权限控制

  1. u:user属主 g:group属组 o:other其他用户 a:all所有用户
  2. +表示为对应用户增加权限
  3. -表示为对应用户删除权限
  4. =表示为对应用户设置指定权限

所以设置权限时,可以使用chmod ugo(a)+/- rwx 比如: chmod u-r file chmod a+x file等

也可使用数字代表权限,对应的三个数字即为属主、属组、其他用户 rwx对应的数字为 r=4 w=2 x=1 一个字段区间数字总和为7 所以每最大权限为7,三个字段最大区间则为777 比如:chmod 640 file 对应-rw-r-----拆开可看成-rw- r-- ---

chown

chown修改文件的属主,属组 chown 属主 文件 //修改文件的属主 chown :/. + 属组 文件 //修改文件的属组 chown 属主:属组 文件 //同时修改文件的属主属组 -R:选项表示递归修改目录和子目录子文件的属主 root only

chgrp

chgrp 只能修改文件的属组 chgrp [属组] [文件] //修改文件的属组 -R:选项表示递归修改目录和子目录子文件的属组 owner or root

chage

chage修改用户密码策略的相关配置 chage -l 用户名 //查看用户的密码策略信息 chage -M 天数 用户名 //修改用户的密码有效期为指定天数

suid

suid的作用:用于可执行文件,使文件的拥有者的身份运行该文件。 chmod u+s 文件 比如chmod u+s /bin/ls,表示将ls指令释放给所有用户使用,普通用户在调用ls指令时,借助root的身份来调用

sgid

sgid的作用:用于目录,在该目录建立的所有文件或目录,属组都继承该目录的属组。 chmod g+s 目录

粘滞位的作用:用于目录,在该目录建立的文件或目录,只有建立者可以删除其他用户无法删除。 chmod o+t 目录

扩展权限控制

因为默认的属主、属组只能控制一个用户和一个组,无法针对每个用户做权限控制 所以借助acl属性,完善权限控制 设置:setfacl(-m设置acl,针对用户,关键词为‘u’,针对组,关键词为‘g’,设置时,权限不能为空)

获取: setfacl -m u:[用户]:rw- /file setfacl -m u:[用户]:- /file setfacl -m g:[组]:rw- /file getfacl /file

移除权限(-x移除acl,移除权限时,无需指定权限,针对用户或组即可) setfacl -x u:[用户] /file setfacl -x g:[组] /file

results matching ""

    No results matching ""