1.用户与组的相关文件
2.对用户进行操作(添加、删除、修改用户、修改用户参数、修改)
3.对组进行操作(创建、删除、修改组参数、向组中添加或者踢出用户)
4.用户和组账号查询
一:用户和组的相关文件
和用户相关的文件:/etc/passwd /etc/shadow
和组相关的文件:/etc/group /etc/gshadow
用户家目录文件来源:/etc/skel
用户属性文件:/etc/login.defs
etc/passwd(分为7个字段,每个字段间用:作为分隔符)
1.用户名
2.密码占位符:x
3.用户账号的UID
4.用户基本组的GID
5.用户的信息
6.用户的家目录
7.用户登录时的shell信息(想要某个用户不能登录,可设置家目录为 /sbin/nologin和/bin/false)
/etc/shadow(分为9个字段,每个字段用:作为分隔符)
1.用户名
2.密文密码(1 MD5 , 2a Blowfish, 5 SHA-256, 6 SHA-512)
3.上次密码修改时间(从1970到那一天经过了多少天)
4.密码最短有效天(从本次改密码到多久之后才可以再次修改,默认为0)
5.密码最长有效天数(密码多久会过期,默认为99999,无限制)
6.提前多少天警告用户密码过期(默认为7)
7.在密码过期之后多少天禁用此用户
8.密码失效时间
9.保留字段(未开发)
/etc/group
1.组名
2.密码占位符:x
3.GID
4.组成员列表(用,隔开,不一定全部显示)
用户所属组有主要组跟次要组之分
主要组查询:/etc/passwd第四个字段
次要组查询:用户可以同时属于多个组,/etc/group/文件的第四个字段
/etc/skel/*文件
新建用户帐号时,复制到用户宿主目录中
主要控制用户初始配置文件
.bash_profile:用户每次登录时执行
.bashrc:每次进入新的Bash环境时执行
.bash_logout:用户每次退出登录时执行
/etc/profile 所有用户每次登录时会执行
二、对用户进行操作
1.useradd [选项]... 用户名
选项:
-u:指定UID,不指定从当前最大的开始加1
-d:指定家目录,默认为/home/用户名
-e:账号失效时间
-g:指定用户的基本组(不指定的话,为自动为用户创建,组名和用户名相同)
-G:指定用户的次要组
-M:不为用户创建家目录
-s:指定用户的登录shell
注:新建的用户是没有设置密码的,是被禁用的,不能登录
usermod [选项]... 用户名(修改用户参数)
与useradd功能一样,只不过此命令为修改
选项:
-l:更改用户名 uesermod -l 新用户名 旧用户名
-L:锁定用户(与passwd的选项-l功能一样,此选项加!)
-U:解锁用户账号
-c:备注
其他选项与useradd命令相同(-u,-g,-G,-d,-e,-s)
2.userdel [选项]...用户名
-r:表示连同用户的家目录一起删除
3.passwd [选项]... 用户
不添加选项时,表示为用户设置密码
root用户可以修改所有用户密码,不要求复杂性
普通用户只能修改自己的密码,要求复杂性
选项:
-d:清空用户密码(用户本来有密码,清空之后,第二字段为空,无需密码即可登录,只能本地登录)
-l:锁定用户账号(第二个字段前面会存在两个!!)
-u:解锁用户账号
-S:查看用户状态是否被锁定
--stain(接受标准作为输入密码)
[root@111 ~]# echo "123456" | passwd --stdin test
Changing password for user test.
passwd: all authentication tokens updated successfully.
4.chage [选项]...用户
-l:列出密码时效信息(在shadow文件中也可以查看,但是此命令更明了)
-d:--lastday chage -d 0 (用户在下次登录时必须修改密码)
三、对组进行操作
1.groupadd [选项]...用户
-g:指定GID
2.groupdel 组名
3.groupmod [选项]... 组名
-n:修改组名
-g:修改GID
4.gpasswd [选项]...组账号名
-a:向组内添加一个用户
-d:删除组内某个用户
-M:重新定义组用户,以,分隔(原先组内用户被全部踢出)
将用户加入组:gpasswd -a 用户名 组名
usermod -G 组名
四、用户和组账号查询
[root@111 ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@111 ~]# who
root pts/0 2019-04-04 16:08 (172.16.2.50)
root pts/1 2019-04-05 01:51 (172.16.2.50)
[root@111 ~]# w
03:09:38 up 11:02, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.16.2.50 16:08 44:35 28.07s 0.20s /usr/lo
root pts/1 172.16.2.50 01:51 0.00s 0.04s 0.00s w
[root@111 ~]# users
root root