Linux 是一个多用户、多任务的服务器操作系统。Linux 用户是根据角色定义的,具体分
为三种角色:
超级用户:拥有对系统的最高管理权限,默认是 root 用户。
普通用户:只能对自己目录下的文件进行访问和修改,具有登录系统的权限。
虚拟用户:也叫“伪”用户,这类用户最大的特点是不能登录系统,它们的存在主要是
方便系统管理,满足相应的系统进程对文件属主的要求。
主要组(主组):每个用户有且只有一个主要组,创建用户时默认创建。
附属组(补充组):用户可以是零个或多个附属组成员。一般用于帮助确保用户具有对 系统中文件及其他资源的访问权限。
cat /etc/passwd
结果
user:x:1006:1008::/home/user:/bin/bash
用户名:口令占位符:UID:GID:注释性描述:用户主目录:命令解释器
在passwd配置文件中用冒号:来分隔字段,字段含义如下
- 用户名:用户登录系统时使用的用户名。
- 口令占位符:存放加密的口令,被/etc/shadow 文件保护。
- 用户标识号(UID):系统内部用它来标识用户,每个用户的 UID 都是唯一的。
- 用户组标识号(GID):系统内部用它来标识用户所属的组,这里的 GID 是主组 GID。
- 注释性描述:为了方便管理和记忆该用户而添加的信息。 默认情况为空
- 用户主目录:也称家目录,用户登录系统后所进入的目录。
- 命令解释器:(登录类型)指示该用户使用的 Shell,CentOS Linux 7 默认的是 bin/bash。如果指定 Shell
为/sbin/nologin,则代表用户无法登录系统。
cat /etc/shadow
user:!!:18415:0:99999:7::::
用户名:加密的密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
密码配置文件字段含义
用户名: 用户账户名。
密码: 用户的加密密码。
最后一次修改的时间: 从 1970 年 1 月 1 日起,到用户最后一次更改密码的天数。
最小时间间隔: 从 1970 年 1 月 1 日起,到用户可以更改密码的天数,(0 表示随时可以变更)。
最大时间间隔: 从 1970 年 1 月 1 日起,到必须更改密码的天数,否则密码将过期,(99999 表示永远不 过期)。
警告时间: 在密码过期之前多少天提醒用户更新,默认值是 7 天。
不活动时间: 在用户密码过期之后到禁用账户的天数。
失效时间: 从 1970 年 1 月 1 日起,到账户被禁用的天数。
标志: 保留位。
选项 | 详解 |
---|---|
-d | 指定用户主目录 (一般不用) |
-g | 指定用户组 |
-m | 若主目录不存在,则创建 (一般不用) |
-M | 不创建主目录 (一般不用) |
-s | 常用,指定登录时使用的 Shell 类型,默认为/bin/bash,如果为/bin/nologin 就是虚拟用户 |
-c | 常用,设置对该账号的注释说明文字 |
-r | 创建系统账号(用户 ID 小于 1000,从 999 起按照递减的顺序创建),默认不创建对应的主目录 |
-u | 手工指定新用户的 ID 值,该值必须唯一,且大于 999。 |
【例1】创建用户 zhangsan 且不能登录系统
useradd -s /bin/nologin
【例2】创建用户tom并设置真实姓名为tom-sing,家庭电话为13111223344 ,公司地址为:TF5J,公司电话为028-123456789
useradd -c "tom-sing" 13111223344 tf5jie 028-123456789" tom
选项 | 详解 |
---|---|
-l | 锁定密码 |
-u | 解锁用户密码状态 |
-d | 删除用户密码 |
-s | 查询用户密码状态 |
选项 | 详解 |
---|---|
-l | 修改用户名 |
-c | 修改用户名描述信息 |
-d | 修改主目录 |
-L | 锁定账号,临时禁止用户登录 |
-U | 对账号解锁 |
-g | 修改用户所属组 |
-s | 修改用户登录的shell类型 |
-u | 修改用户的ID号 |
-e | 修改用户的有效期 |
-f | 修改用户密码在多少天后过期 |
【举例 1】修改用户 tom 的名字为 jack
usermod -l jack tom
【举例 2】修改用户 jack 的注释名为 jack-sing
usermod -c jack-sing jack
【举例 3】修改用户登录的类型为不可以登录
usermod -s /bin/nologin jack
-r 表示删除用户时同时删除用户的目录文件
选项 | 解释 | 详细解释 |
---|---|---|
-d | –lastday 最近日期 | 将最近一次密码设置时间设为“最近日期” |
-E | –expiredate 过期日期 | 将帐户过期时间设为“过期日期” |
-h | –help | 显示此帮助信息并推出 |
-I | –inactive INACITVE | 过期 INACTIVE 天数后,设定密码为失效状态 |
-l | –list | 显示帐户年龄信息 |
-m | –mindays 最小天数 | 将两次改变密码之间相距的最小天数设为“最小天数” |
-M | –maxdays 最大天数 | 将两次改变密码之间相距的最大天数设为“最大天数” |
-R | –root CHROOT_DIR | chroot 到的目录 |
-W | –warndays 警告天数 | 将过期警告天数设为“警告天数” |
【举例】设置 jack 用户的密码最大有效期为 30 天,提前 9 天警告,失效时间 40 天。
chage -M 30 -W 9 -E 40
选项 | 详解 |
---|---|
-f | 设置真实姓名 |
-h | 设置家中电话号码 |
-o | 设置办公室地址 |
-p | 设置办公室电话号码 |
主要组(主组):每个用户有且只有一个主要组,创建用户时默认创建。
附属组(补充组):用户可以是零个或多个附属组成员。一般用于帮助确保用户具有对 系统中文件及其他资源的访问权限。
cat /etc/group
group:x:1011:user1,user2
组名:组口令:组标识号:组成员
配置文件字段含义
组名: 组的名称。
组口令: 用户组的口令,用 x 表示口令是被/etc/gshadow 文件保护的。
组标识号(GID): 系统内部用它来标识用户组,每个用户组的 GID 都是唯一的。
组成员: 该组的成员。
组密码配置文件含义
组名: 组的名称。
组口令: 用户组的口令,保存已加密的口令。
组的管理员帐号: 组的管理员帐号,管理员有权对该组添加、删除帐号。
组成员: 该组的成员,多个用户用“,”分开。
选项 | 详解 |
---|---|
-n | 修改组名 |
-g | 修改组标识号GID |
-a | 添加用户到组 |
-d | 将用户从组中删除 |
-A | 设置用户为组管理员 |
将stu1加入group1组并添加为group1的组长
gpasswd -a stu1 group1|gpasswd -A stu1 group1
例:并把stu1设置为grp1的临时组员
su stu1
newgrp grp1
r-读 w-写 x-执行
rwx r-x r-x .
所有者权限 属组权限 其他用户权限 特殊权限(.)
r–读
w–写
x–执行
-没有权限
选项 | 详解 |
---|---|
权限值 | r w x |
a | 所有用户 |
u | 用户所有者 |
g | 属组 |
o | 其他用户 |
1-减掉Lying文件夹下所有用户的执行权限
chmod a -x Lying
2-把所有用户改成rwx权限
chmod a=rwx Lying
3-把所有者改成rx权限
chmod u=rx Lying
4-将用户所有者权限改为读写,组内权限改为只读,其他用户没有权限
chmod u=rw-,g=r--,o=---
r对应4
w对应2
x对应1
-对应0
1-把所有者用户权限改成 rwx
chmod 700 Lying
2-把Lying文件夹的所有者改成rwx 所属组改成r-w 其他用户改成r--
chmod 764 Lying
命令用法 | 详解 |
---|---|
chown :属组 文件名 | 修改文件属组 |
chown 用户 文件名 | 修改文件所有者 |
chown 用户名:属组 文件名 | 修改文件所有者和属组 |
setfacl -m [-u:]用户名:用户权限:文件名
【例】针对stu3用户的files文件给予读和执行的权限
操作前:drwxr- x--- . 2 stu2 d1z 6 6月 1 15:32 files
setfacl -m u:stu3:r-x files
操作后:drwxr- x--- + 2 stu2 d1z 6 6月 1 15:32 files
. => + 点.变成+说明设置了ACL
表现在:在属组的x位置有s
- 有执行权限属组的x处就是小写s
- 没有执行权限属组的x处就是大写S
执行前
drwxrwx---. 2 stu2 d1z 22 6月 1 15:55 files
chmod g+s files
执行后
drwxrws---. 2 stu2 d1z 22 6月 1 15:55 files
表现在:在其他用户的x位置有t
- 有执行权限属组的x处就是小写t
- 没有执行权限属组的x处就是大写T
执行前:drwxrws---. 2 stu2 dlz 38 6月 1 16:07 files
chmod o+t files/
执行后:drwxrws--T. 2 stu2 d1z 38 6月 1 16:07 files
表现在:在所有用户的x位置有t
- 有执行权限所有用户的x处就是小写t
- 没有执行权限所有用户的x处就是大写T