一、规则
用户至少属于一个组,在创建时如果不指定组,将会创建同名的组
用户只能有一个基本组(主组),但可以隶属于多个附加组
如果一个组作为某用户的基本组,此组将不能被删除
UID: 用户标识
GID: 组的标识
root管理员的uid及gid 都为0
二、用户的配置文件
1./etc/passwd
test :x :1000 :1000 :test Test :/home/test :/bin/bash
用户名:口令节点 :UID :GID :描述 :宿主目录 :登录的SH
口令节点代表密码文件
2./etc/shadow
test :$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:14495 :0 :99999:7:::
用户名 :密码hash值 :最后修改时间:最短有效期:最长有效期:提前警告时间:密码过期后禁用时间:帐号失效时间:保留字段
3.用户环境变量配置文件:
默认情况下都存放在宿主目录里,都是隐藏文件.
创建用户时通过复制模板生成 /etc/skel
4.组的配置文件 #cat /etc/group
三、用户管理命令
1.useradd 新建用户
-u 指定用户的uid
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
profil 是全局参数
[root@localhost mnt]# useradd -u 1667 -d /mnt/test4 -g 0 -G 1002 -s /bin/sh test4
[root@localhost mnt]# ls /home/ //查看所有用户
2.passwd 设置用户密码
普通用户只能修改自己的密码,管理员可以修改所有人的密码
普通用户修改密码时需要先验证当前的密码
3.usermod 修改用户属性
-L 锁定用户
-U 解锁用户
[root@localhost ~]# usermod -L test7 //通过注销系统验证登录
[root@localhost ~]# su - test7 // 使用SU可以正常切换
[test7@localhost ~]$ exit
logout
[root@localhost ~]# usermod -U test7
4.userdel 删除用户
删除目录里的用户,目录变成普通文件
-r 将用户宿主目录一起删除
当一个有其他的成员时,删除主组会报警,但是还是会执行命令主组会变为其他成员。
[root@localhost ~]# ls /home/
test test2 test5 test7 user1
[root@localhost ~]# userdel test //会留下宿主目录
[root@localhost ~]# ls /home/
test test2 test5 test7 user1
[root@localhost ~]# rm -rf /home/test //删除宿主目录
[root@localhost ~]# ls /home/
test2 test5 test7 user1
[root@localhost ~]# userdel -r test2 //递归删除,和宿主目录一起删除
userdel: group test2 not removed because it has other members.
[root@localhost ~]# su - test2 // - 表示环境变量
su: user test2 does not exist
[root@localhost ~]# ls /home/
test5 test7 user1
修改配置文件创建用户:
1.vim /etc/passwd 添加一行记录
修改 名称 uid gid 描述
2.vim /etc/shadow 添加一行记录 :wq! 强制保存退出
修改名称 (密码最短生效时间,最长生效时间,预警过期时间...)
3.vim /etc/group 添加一行主组记录
修改名称
4.生成宿主目录 [root@localhost ~]# cp -r /etc/skel/ /home/user6
5.修改宿主目录的权限 [root@localhost ~]# chown user6:user6 /home/user6 -R
5.groupadd 新建组
-g 指定组的 gid
[root@localhost ~]# groupadd -g 1009 group1
[root@localhost ~]# tail /etc/group //查看
6. 将用户从组中移除
[root@localhost ~]# useradd -G group1 test8 //新建用户test8添加到group1组中
[root@localhost ~]# id test8
uid=1673(test8) gid=1673(test8) groups=1673(test8),1009(group1) //主组为test8
[root@localhost ~]# gpasswd -d test8 group1 //将test8从组中移除
Removing user test8 from group group1
[root@localhost ~]# id test8
uid=1673(test8) gid=1673(test8) groups=1673(test8)
7.删除组
#groupdel 组名
[root@localhost ~]# groupdel group1
8.查看用户信息
#id 用户名
[root@localhost ~]# id test8
uid=1673(test8) gid=1673(test8) groups=1673(test8)
9.查看用户属于组的信息
#groups 用户名
[root@localhost ~]# groups test8
test8 : test8 //所有者:同组人修改权限
chown user6:user6 /home/user6 -R // 修改 所有者 所属组 用户地址 R是递归
10. gpasswd命令设置组帐号密码、添加/删除组成员
常用命令选项
-a:向组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表,以逗号分隔
[root@localhost ~]# gpasswd -a test market
正在将用户“test”加入到“market”组中
[root@localhost ~]# grep "market" /etc/group //查看组成员
market:x:1000:test
[root@localhost ~]# gpasswd -M test,root,adm market / / 将多个用户添加到组
[root@localhost ~]# grep "market" /etc/group
market:x:1000:test,root,adm
四、文件/目录的权限和归属
1.查看文件权限和归属
[root@localhost ~]# ls -l install.log
权限标识
—— | — — — | — — — | — — — |
文件类型 | 所有者 | 同组人 | 其他人 |
文件类型一般是权限的第一位
—— | 1 | d | 除此之外 |
普通文件 | 连接文件 | 目录文件 | 其他文件 |
权限表示 r:读 w:写 x:执行
数字表示 4:读 2:写 1:执行
2.修改用户权限
chmod (需要修改的类型) (+-=)(r,w,x)文件或者目录
类型简称 | u | g | o | a |
注释 | 所有者 | 同组人 | 其他人 | 全部 |
chmod 数字权限表示 文件或者目录
当其他人分组被修改成可写文件后,目录文件会高亮,
当任意分组修改成执行文件后,文本文件和普通文件会变成绿色