Linux 上用户管理 以及 相应权限
查看 增加 删除用户 修改密码
用户 用户组 用户默认目录 用户 shell 路径 等
用户管理 相关文件
1. 查看系统有哪些用户
cat /etc/passwd
Linux 上面的用户都会写在上面这个文件中 / etc/passwd
每行表示一个用户 不同字段通过 : 分开 共七个字段
- root: x:0:0:root:/root:/bin/bash
- username:passwd:User Id:Group Id:comment:home dir:shell
字段 id | 说明 |
---|---|
1 | 用户名 |
2 | 密码 x 表示 真正的密码在 /etc/shadow 加密存储 |
3 | 用户 id |
4 | 用户组 id |
5 | 注释 |
6 | 用户目录 |
7 | shell 路径 |
2. 查看用户密码
root 用户下执行
cat /etc/shadow
密码在另一个文件 / etc/shadow 中 这个文件只对 root 用户可读
每行表示一个用户 不同字段通过 : 分开 共八个字段
- root:
- !!$6$Bj6gWbwf$T/i4LnqdnzwbnBXSDExUNhDGiZ0fnrvXoKoywrao322ianPjatAR1Vz0cPjHEo3rOv9FN6FMmsCcwaDRdkr7Z.:
- 16498:
- 0:
- 99999:
- 7:::
字段 id | 说明 |
---|---|
1 | 帐号 |
2 | 密码 |
3 | 自 1970-01-01 密码被修改的天数 |
4 | 多少天后允许修改密码 0 表示随时可修改 |
5 | 多少天后 系统强制用户修改成新密码 1 表示永远不能修改 |
6 | 密码过期前多少天 系统提示用户密码将过期 -1 不会有警告 |
7 | 密码过期后多少天 系统禁用这个帐号 -1 表示永不禁用 |
8 | 这个帐号被禁用的天数 |
3. 查看用户所属组
cat /etc/group
用户所属组的信息在 /etc/group 这个文件中
- root: x:0:
- group_name:passwd:GID:user1,user2..
每行表示一个用户组 不同字段通过 : 分开 共 4 个字段
参考:
用户管理 相关命令
0. 查看用户信息
id username
例: id root
uid=0(root) gid=0(root) groups=0(root)
1. 添加用户
相关指标: 用户名 所属组 用户主目录 shell 目录 注释
adduser -c 测试用户 -d /home/fadeq -g root -s /usr/bin fadeq
adduser 可选参数
-c 用户描述
-g 所属主用户组 默认新建一个用户名同名的用户组
-G
-d 用户主目录 默认 /home / 用户名
-s 用户 shell 目录 默认 /bin/bash
默认情况下
adduser fadeq
会创建 用户 username 同时创建 username 用户组 和 /home/username 用户目录
可用 -g 指定用户组 可用 -d 指定用户目录
2. 修改用户
修改用户资源路径
usermod -d /home/new -s /bin/bash -g develop -G root
3. 删除用户
删除用户在 /etc/passwd /etc/shadow /etc/group 这几个文件中的相关内容
userdel -r username
-r 同时删除用户主目录
4. 设置密码
passwd username
输入密码
- # 删除用户的密码
- passwd -d username
- # 锁定某个用户 使其不能登录
- passwd -l username
5. 切换用户组
su user_name 切换用户 并定位到用户的主目录
6. 创建用户组
- # 增加一个用户组
- groupadd group_name
- # 增加一个用户组 并指定 GID 这个 GID 不能是已经存在的 GID
- # 在不指定 GID 的情况下 系统根据当前最大 GID 数加一 作为 GID
- groupadd -g GID group_name
- groupadd grp1
- tail -n 3 /etc/group
- # grp1: x:500
- groupadd -g 510 grp2
- tail -n 3 /etc/group
- # grp1: x:500
- # grp2: x:510
- groupadd grp2
- tail -n 3 /etc/group
- # grp1: x:500
- # grp2: x:510
- # grp3: x:511 #这里显示的 GID 是从最大的 GID (510) 加一确定的 (511)
修改用户组
- groupmod [-g gid[-o]] [-n group_name] group
- # -g gid 指定用户组 id
- #-n group_name: 修改用户组名为 group_name
- #-o 此选项允许添加一个非唯一的 GID 值
- groupmod [-g] group_name
- # -g:gid 指定用户组 id
- # 修改
- groupmod -n old_grp_name new_grp_name
删除
groupdel group_name
参考:
用户权限
执行 ls -l 或者 ll 显示如下
- -rwxr-xr-x 1 root root 1861877 Feb 2 2018 Composer.phar
- drwxr-xr-x 4 MySQL MySQL 4096 Aug 17 2018 data
10 个字符确定不同用户能对文件干什么
第一个字符代表文件 (-), 目录 (d), 链接 (l)
其余字符每 3 个一组 (rwx), 读 (r), 写 (w), 执行 (x)
第一组 rwx: 文件所有者的权限是读, 写和执行 (文件所有者)
第二组 r-x: 与文件所有者同一组的用户的权限是读, 执行但不可写 (同组用户)
第三组 r-x: 不与文件所有者同组的其他用户的权限是读不能写和执行 (其他用户)
也可用数字表示为: r=4,w=2,x=1 因此 rwx=4+2+1=7
即有以下情况: 4: 只读, 2: 只写, 1: 执行 ,5: 可读可执行, 6: 可读可写, 7: 可读可执行可写, 3: 可执行可写不可读
1 表示连接的文件数
root 表示用户
root 表示用户所在的组
1213 表示文件大小 (字节)
Feb 2 2018 表示最后修改日期
Composer.phar 表示文件名
注: 目录的 可读 (r) 与 可执行 (x) 权限的区别
目录的可执行权限是表示你可否在目录下执行命令. 如果目录没有 - x 权限, 则无法对目录执行任何命令, 甚至无法 cd 进入目录. 即使目录仍然有 - r 读权限 而如果目录具有 - x 权限, 但没有 - r 权限, 则用户可以执行命令, 可以 cd 进入目录. 但由于没有目录的读权限, 所以在目录下, 即使可以执行 ls 命令, 但仍然没有权限读出目录下的文档.
来源: http://www.bubuko.com/infodetail-2995150.html