Linux账号管理与ACL权限设置
账号与用户组
- 用户标识符:UID(UserID),GID(GroupID)
- 登录Linux主机时,输入账号,但其实Linux主机并不认识账号,它仅认识ID,而账号与ID的对应关系就存在/etc/passwd当中。
- 每个登录用户至少都会有两个ID,一个是用户ID,一个是用户组ID。
- 用户账号
/etc/passwd文件结构
上图所示,每一行用":"隔开,共有7个字段,分别是:
- 账号名称:用来对应UID的
- 密码:密码字段已改到/etc/shadow中了,这里就只显示x了
- UID:用户标识符,通常Linux对UID有几个限制:0(表示系统管理员),1499(系统账号),50065535(可登录账号)
- GID:与/etc/group有关,用来规定组名与GID的对应关系
- 用户信息说明:解释账号的意义
- 主文件夹:用户的主文件夹
- shell:当用户登录系统后就会取得一个shell来与系统的内核通信以进行用户的操作任务
/etc/shadow文件结构
同样以":"作为分隔符
- 账号名称
- 密码
- 最近改动密码日期
- 密码不可被改动的天数
- 密码需要重新更改的天数
- 密码需要更改期限前的警告天数
- 密码过期后的账号宽限时间(密码失效日)
- 账号失效日
- 保留,看以后有无新功能加入
- 有效用户组与初始用户组
/etc/group文件如上图所示,用":"隔开,共有四个字段,分别是:
- 用户组名称
- 用户组密码:已移到/etc/gshadow,这里只显示x
- GID:用户组ID
- 此用户组支持的账号名称:一个账号可以加入多个用户组,某个账号想要加入某用户组时,只需将该账号填入这个字段即可,多个之间用","隔开,注意不要有空格
- 初始用户组:当用户登录系统时,立刻就拥有这个用户组的相关权限
- 有效用户组:查看:groups;切换:newgrp
账号管理
- 新增用户:useradd
- 删除用户:useradd -e 日期 设置账户失效日
- 密码设置:passwd
- 新增用户组:groupadd
- 删除用户组:groupdel
ACL
- 是什么?(Access Control List)的缩写,可以针对单一用户,单一文件或目录来进行r,w,x的权限设置。
- 如何启动?
- 查看文件系统是否支持:mount或者如下图所示
- setfacl:设置某个目录,文件的ACL权限
- getfacl:查询某个目录,文件的ACL权限
用户身份切换
- su [-lm][-c]username:可以进行任何身份切换
- sudo:默认只有root能用
- 当用户执行sudo时,系统于/etc/sudoers文件中查找该用户是否有执行sudo的权限
- 若用户有sudo权限,便让用户输入密码来确认
- 若密码输入成功,便开始执行后续命令
主机上的用户信息传递
- 查询用户:w,who,last,lastlog
- 用户交谈:write,mesg,wall
- 用户邮件信箱:mail