linux-账号管理与ACL权限设置
一.用户概述
1.Linux用户有以下三类,每一个用户都有一个数值,称为UID
。
2.Linux用户相关文件
A.passwd文件介绍
(1)/etc/passwd 文件每一行都表示的是一个用户的信息;一行有7个段位;每个段位用:号分割。
(2)每一段的解释:
账号名称 :密码 : UID : GID : 个人资料 : 主目录 : Shell
B.shadow文件
(1)在/etc/passwd文件中,有一个字段是用来存放经过加密的密码。我们先来看以下passwd文件的权限。
(2)可以看到任何用户对它都有读的权限。为了保证系统的正常运行和安全,Linux系统对密码提供了更多一层的保护,即把加密后的密码重定向到另一个文件/etc/shadow。
(4)shadow文件一共有9个字段来表示跟密码有关的部分,每个字段用“:
”来分隔。
每一段的格式:
用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志字段说明
每一段的解释:
用户名:和/etc/passwd文件中相对应的用户名。
密码:存放加密后的口令(密码)。密码字段为“*”表示用户被禁止登录,为“!!”表示密码未设置,为“!”表示用户被锁定。
最后一次修改时间:用户最后一次修改口令的时间(从1970-1-1起计的天数)。
最小时间间隔:两次修改口令允许的最小天数。
最大时间间隔:口令保持有效的最多天数,即多少天后必须修改口令。
警告时间:从系统提前警告到口令正式失效的天数。
不活动时间:口令过期多少天后,该账号被禁用。
失效时间:指示口令失效的绝对天数(从1970-1-1开始计算)。
标志:未使用。
C.group文件
(1)Linux的组有私有组、系统组、标准组之分。
私有组:建立账户时,若没有指定账户所属的组,系统会建立一个组名和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。
标准组:可以容纳多个用户,组中的用户都具有组所拥有的权利。
系统组:Linux系统正常运行所必需的,安装Linux系统或添加新的软件包会自动建立系统组。
(2 )组名:组的密码:GID:组成员
二.账号管理(增删改查)
1. 用户账号管理
添加用户:
语法格式:useradd [选项] 用户名
更多选项
-u 指定该用户的默认UID
-d 指定用户的家目录(默认为/home/username)
-g 指定一个初始的已存在用户基本组
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认Shell解释器
删除用户:userdel [选项] 用户名
userdel username
修改用户密码:
passwd username
管理用户:usermod [选项] 用户名
更多选项
-c comment 改变用户的注释,如:全名、地址、办公室电话、家庭电话等
-d dir 改变用户的主目录
-e YYYY-MM-DD 修改用户的有效日期
-L 锁定用户密码,使密码无效。锁定用户禁止其登录系统 (常用)
-U 解除密码锁定,解锁用户,允许其登录系统(常用)
-f days 在密码到期的days天后停止使用账户
-g GID或组名 修改用户的所属基本组(常用)
-G 变更扩展用户组(常用)
-l name 更改账户的名称,必须在该用户未登录的情况下才能使用
-p 密码 修改用户的密码
-s Shell 修改用户的登录Shell
-u UID 改变用户的UID为新的值,改变用户的UID时主目录下所有该 用户所拥有的文件或子目录将自动更改UID,
但对于主目录之 外的文件和目录只能用chown命令手工进行设置
2. 用户组管理
添加用户到用户组:
usermod -aG groupname username
创建用户组:groupadd [选项] 群组名
groupadd groupname
选项:
-g GID 指定新组的GID,默认值是已有的最大的GID加1
-r 建立一个系统专用组,与-g不同时使用时,则分配一个1~999的GID
删除用户组:groupdel 群组名
groupdel groupname
管理用户组:groupmod [选项] 群组名
选项:
-g GID 指定组新的GID
-n name 更改组的名字为name
3. 切换用户身份
切换用户:
su username
切换到超级用户:
sudo command
二.ACL概述:
访问控制列表 (Access Control List):ACL 通常指访问控制列表。这是一种权限系统,用于定义对计算机资源(例如文件、文件夹、网络资源等)的访问权限。
ACL 列出了被授权或被禁止访问某一资源的用户或系统进程的清单。
三.ACL管理:
1. 查看 ACL 权限:getfacl 文件名
2. 设置 ACL 权限: setfacl [选项] u/g/o:对象名称:权限 文件名
更多选项
-m 设定ACL权限
-x 删除置顶的ACL权限
-b 删除所有的ACL权限
-d 设定默认的ACL权限
-k 删除默认的ACL权限
-R 递归设定ACL权限
3.ACL特殊权限:
1 SUID
2 SGID