文章目录
- 1 用户和用户标识号
- 1.1 用户
- 1.2 用户标识号
- 1.3 /etc/passwd文件
- 1.4 /etc/shadow文件
- 2 用户组和组标识号
- 2.1 用户组
- 2.2 用户组编号
- 2.3 /etc/group文件
- 3 用户管理
- 3.1 添加用户
- 3.1.1 useradd命令
- 3.1.2 adduser命令
- 3.2 修改用户信息:usermod
- 3.3 删除用户:userdel
- 3.4 修改用户密码:passwd
- 3.5 显示用户信息
- 3.6 用户间切换:su命令
- 3.7 受限的特权:sudo命令
- 4 用户组管理
- 4.1 添加用户组
- 4.1.1 addgroup命令
- 4.1.2 groupadd
- 4.2 修改用户组
- 4.3 删除用户组
- 5 权限管理
- 5.1 概述
- 5.1.1 权限组
- 5.1.2 基本权限类型
- 5.1.3 特殊权限
- 5.1.4 访问控制列表
- 5.2 改变文件所有者chown命令
- 5.3 改变文件所属组chgrp命令
- 5.4 设置权限掩码umask命令
- 5.5 修改文件访问权限
- 5.6 修改文件ACL:setfacl命令
- 5.7 查询文件的ACL
1 用户和用户标识号
1.1 用户
我们登录到Linux系统,使用的登录名和密码实际上就是用户的信息标识。
用户拥有账号、登录名、真实姓名、密码、主目录、默认shell等属性。
每个用户实际上代表了一组权限,而这些权限分别表示可以执行不同的操作,是能够获取系统资源的权限的集合。
1.2 用户标识号
Linux实际上并不直接认识用户的账号,而是查看用户标识号。
用户标识号(整数):
0: root,超级用户。
1-499:系统用户,保证系统服务正常运行,一般不使用。
500-60000:普通用户,可登录系统,拥有一定的权限。管理员添加的用户在此范围内。
用户名和标识号不一定一一对应,Linux允许几个登录名对应同一个用户标识号。
系统内部管理进程和文件访问权限时使用用户标识号。
账号和标识号的对应关系在/etc/passwd文件中。
1.3 /etc/passwd文件
该文件所有者和所属组为root,除了root用户外只有读取的权限。
格式:
登录名:口令:用户标识号:组标识号:注释:用户主目录:Shell程序
登录名:同意系统中唯一,大小敏感。
口令:密码,root和用户可使用passwd命令修改。
用户标识号:唯一。
组标识号:每个用户可以同时属于多个组。
注释:相关信息,真实姓名、联系电话等。mail和finger等会使用这些信息。
用户主目录:用户登录后的默认工作目录。root为/root,一般用户在/home下。
Shell程序:登录后默认启动的Shell程序。
1.4 /etc/shadow文件
包含用户的密码和过期时间,只有root组可读写。
格式:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:密码禁用期:账户失效时间:保留字段
登录名:略。
加密口令:*表示账户被锁定,!表示密码被锁定。其他的前三位表示加密方式。
最后一次修改时间:最近修改密码的时间,天为单位,1970年1月1日算起。
最小时间间隔:最小修改密码的时间间隔。
最大时间间隔:最长密码有效期,到期要求修改密码。
警告时间:密码过期后多久发出警告。
密码禁用期:密码过期后仍然接受的最长期限。
账号失效时间:账户的有效期,1970年1月1日算起,空串表示永不过期。
保留字段:保留将来使用。
2 用户组和组标识号
2.1 用户组
用户组指,一组权限和功能相类似的用户的集合。
Linux本身预定义了许多用户组,包括root、daemon、bin、sys等,用户可根据需要自行添加用户组。
用户组拥有组名、组标识号、组成员等属性。
2.2 用户组编号
Linux内部通过组标识号来标识用户组。
用户组信息保存在 /etc/group 中。
2.3 /etc/group文件
格式:组名:口令:组标识符:成员列表
/etc/passwd文件指定的用户组在/etc/group中不存在则无法登录。
3 用户管理
3.1 添加用户
3.1.1 useradd命令
命令:
useradd [option] 登录名
option参数自行查阅。
一般加-m创建目录。
3.1.2 adduser命令
adduser [option] user
如果没有指定–system和–group选项,则创建普通用户。
否则创建系统用户或用户组。
3.2 修改用户信息:usermod
命令:
usermod [option] 用户名
具体选项信息自行查阅。
3.3 删除用户:userdel
命令:
userdel [option] 用户名
-f:强制删除(谨慎使用)
-r:主目录中的文件一并删除。
3.4 修改用户密码:passwd
命令:
passwd [option] 登录名
3.5 显示用户信息
命令:
id [option] [用户]
3.6 用户间切换:su命令
命令:
su [option] [用户名]
用户名为 - ,则切换到root用户。
3.7 受限的特权:sudo命令
sudo使得用户可以在自己的环境下,执行需要root权限的命令。
该信息保存在/etc/sudoers中。
4 用户组管理
4.1 添加用户组
4.1.1 addgroup命令
类似adduser
4.1.2 groupadd
类似useradd
4.2 修改用户组
类似usermod,使用groupmod。
4.3 删除用户组
类似userdel,使用groupdel。
5 权限管理
5.1 概述
5.1.1 权限组
一般创建文件的人为所有者,其所属的主组为所属组,其他用户为其他组。
5.1.2 基本权限类型
三种:读、写、执行。
权限及其表示值:
读:r或4
写:w或2
执行:x或1
5.1.3 特殊权限
setuid、setgid和黏滞位。
setuid和setgid能以文件所有者或所属组的身份运行。
黏滞位使得只有文件的所有者才可以重命名和删除文件。
5.1.4 访问控制列表
访问控制表ACL可以针对某个用户或者用户组单独设置访问权限。
5.2 改变文件所有者chown命令
命令:
chown [option]...[owner][:[group]] file...
5.3 改变文件所属组chgrp命令
用户不受文件的文件主或超级用户不能修改组。
5.4 设置权限掩码umask命令
文件的权限为666-掩码
目录的权限为777-掩码
5.5 修改文件访问权限
命令:
chmod [option]...mode[,mode]...file...
“+”:增加权限
“-”:减少权限
“=”:设置权限
5.6 修改文件ACL:setfacl命令
命令:
setfacl [option] file...
5.7 查询文件的ACL
命令:
getfacl [文件名]