账户和权限管理
一.用户和组账号概述
1.用户账号
超级用户:root
普通用户:自定义用户
程序用户:无法登录
还有一种匿名用户:nobody
2.组账号
基本组(私有组):伴随着用户的创建而创建 与用户同名
附加组(公共组):附加组 直接创建空组,可以添加已有的用户,给组设置权限
改组中的所有用户都具备此权限
3.UID和GID
UID用户标识号
GID组标识号
二.用户账号文件每一段含义
1./etc/passwd 举例:root:x:0:0:root: /root: /bin/bash
第一段:用户账号(root)
第二段:密码占位符(x)
第三段:用户账号(0)
第四段:组账号(0)
第五段:用户说明(root)
第六段:宿主目录(/root)
第七段:登录shell(/bin/bash)
2./etc/shadow
<img src="https://cache.tdyun.com/upload/information/20200309/33/52270.jpg" alt="mark" style="zoom:75%;" />
根据这幅图来说明
14374:离1970.1.1的天数
0:密码最短期限
99999:密码最长期限
7:密码到期提前7天提醒
三.命令
useradd:添加账号
-u:指定UID
-d:指定用户家(宿主)目录,当与-M一起使用时不生效
-M:不建立宿主目录
-e:指定账户失效时间
-s:指定用户登录shell
passwd:设置更改用户口令
-l锁定账号
-u解锁账号
-d清空指定用户密码
-s查看用户账户状态
UID 0 root 1~999程序用户 1000~60000普通用户
/sbin/nologin 用户无法直接登陆和被切换登录
passwd -l 用户被锁定,无法直接登录,但是可以从root用户切换登录
passwd不指定用户名时,就是修改当前用户的密码
usermod
-L锁定
-U解锁
其他和useradd相同
userdel
-r 同时删除宿主目录
用户账号的初始配置文件
~/.bash_profile
~/.bashrc
~/.bash_logout
groupadd 添加组
gpasswd添加/删除组成员
-a只添加一个用户
-d组内删除一个用户
-M定义组成员列表,以逗号分隔
-M 使用的时候,相当于重新定义组员,会清空之前的组员。慎用
groups查询用户所属组
id查询用户标识
finger:查询用户账号的详细信息
w,who,users:查询已登录到主机的用户信息
四.文件的权限和归属
访问权限包括读取,写入,可执行三种基本类型。
归属
属主:拥有该文件或目录的用户账号
属组:拥有该文件或目录的组账号
<img src="https://cache.tdyun.com/upload/information/20200309/33/52272.jpg" alt="mark" style="zoom:75%;" />
chmd:设置文件权限及归属
-R:递归修改指定目录下所有子项的权限
字符组合
ugoa
u:代表属主
g:代表属组
o:其他用户
a:所有用户
+:增加权限
-:减少权限
=:设置权限
权限掩码umask(反码)