1.UID与GID
每一个登录者至少有两个id:
使用者id:UID
群组id:GID
2.用户登录主机做的工作:
(1)找/etc/passwd中是否有帐号,若有则读出UID,GID,家目录与shell配置
(2)在/etc/shadow中找到对应的帐号与UID,核对口令
(3)进入shell控管
3.三种文件结构
(1)/etc/passwd 每一行代表一个帐号
帐号名称—口令[x]—UID—GID—用户信息说明栏—家目录—shell
(2)/etc/shadow
帐号名称—口令—最近更动口令的日期—口令不可被更动的天数—口令需重新变更的天数—口令需变更期限前的警告天数—口令过期后的帐号宽限时间—帐号失效日
(3)/etc/group
组名—群组口令—GID—此群组支持的帐号名称
4.帐号管理命令
(1) 新增用户 useradd [-ucrd…] [用户名称]
-u[UID] 指定一个UID
-c[说明] 备注文字,一般为用户全名
-r 创建一个系统帐号
-d[绝对路径] 指定某个目录成为家目录
-g [群组] 指定用户的所属群组(默认组名称与用户名一样)
-G[组] 次要群组(还可以加入的群组)
-m 强制,创建家目录(一般帐号默认值)
-M 强制,不要创建家目录(系统帐号默认值)
-s[shell] 默认/bin/bash (不登录 /bin/nologin)
-e[YY-MM-DD] 帐号失效日期
-f [缓冲天数] 密码过期后多少天关闭该帐号(0立刻失效,-1 永不失效)
(2) passwd 配置口令[账号名称]
--stdin 透过来自前一个管线的数据,作为口令的输入(echo“口令” | passwd –stdin [用户名])
-lLock,使口令失效
-uUnlock
-S 列出口令相关参数
-n[天数] 多久不可修改口令天数
-x[天数] 多久内必须更改口令
-w[天数] 口令过期前的警告天数
-I [日期] 口令失效日期
(3)usermod 修改 [用户名]
-c 账号说明
-d 家目录
-e 日期
-f 天数
-g 初始群组
-G 次要群组
-a 与-G合用,添加次要群组
-l 修改账号名称
-s 修改shell
-uUID
-L 暂时将用户的口令冻结
-U 解除冻结
(4) 删除 userdel
userdel -r [用户名] 连家目录一起删除
(5)id [用户名]
查询UID,GID等相关信息
(6) 添加组 groupadd [-g gid] [-r] [组名]
-g给定GID
-r 创建系统群组,与/etc/login.defs的GID_MIN有关
(7)groupdel [组名] 删除群组
5.ACL的使用
(1) 配置ACL setfacl [-bkRd] [-m -x] [ACL参数] [目标文件名]
-m 配置ACL参数,不可与-x 同用 (setfacl –m u:user1:rx [文件名],u::rwx文件所有者,g:user:rw 代表组权限 )
-x 删除配置的ACL参数,后不加ACL参数
-b 删除所有的ACL参数
-k 移除默认的ACL参数
-R 递归配置ACL
-d 在该目录新建的文件会继承ACL
--set 覆盖参数
Mask 有效权限 m:rwx
防止权限过大,其真正权限为配置的权限与Mask按位与所得
(2) getfacl [文件名] 查看配置的ACL参数