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个字段
参考:
http://blog.chinaunix.net/uid-26100163-id-3011493.html
用户管理 相关命令
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
参考:http://www.cnblogs.com/end/archive/2011/05/25/2057129.html
用户权限
执行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命令,但仍然没有权限读出目录下的文档。