passwd是一个非常核心的记录用户相关信息的一个文件;
我们查看这个配置文件;
[root@yanglinux ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
yang:x:500:500::/home/yang:/bin/bash
这里打开cat /etc/passwd这个文件显示出这么多内容,每一个用户都有自己的一行配置;
可以看到以? :分割一共7段;
第一段表示:用户名;
第二段表示:现在用x表示,早期是用来存密码的,后面为了安全起见,就把密码放到了shadow专用的配置文件中;
第三段表示:uid,普通用户是从500 开始的;
第四段表示:gid;
第五段表示:用户的解释说明相关的,可以自定义它;
第六段表示:用户的家目录;
第七段表示:是它的shell,用户交互的。
?
shadow是用来存密码的还有一些密码的相关的属性在里面;
我们查看这个配置文件;
[root@yanglinux ~]# cat /etc/shadow
root:$6$XXscgJP04L/0JbdP$0gv6NdTJ5Nzh/0LMWAlXe8FwnMXuap9CUnk.Uab66lK5wTj2GIb5o3***1sTstM.A0RlfM1WvALNu1rLQTvAB.:18831:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::
shutdown:*:15980:0:99999:7:::
halt:*:15980:0:99999:7:::
mail:*:15980:0:99999:7:::
uucp:*:15980:0:99999:7:::
operator:*:15980:0:99999:7:::
games:*:15980:0:99999:7:::
gopher:*:15980:0:99999:7:::
ftp:*:15980:0:99999:7:::
nobody:*:15980:0:99999:7:::
dbus:!!:18831::::::
vcsa:!!:18831::::::
saslauth:!!:18831::::::
postfix:!!:18831::::::
sshd:!!:18831::::::
tcpdump:!!:18836::::::
yang:!!:18839:0:99999:7:::
可以看到以? :号分割一共九段;
第一段表示:用户名;
第二段表示:用户的密码,*表示用户被锁定,!!表示用户未设置密码;
第三段表示:密码更改的时间距离1970年1月1日过去了多少天,这是个特定的日期;
第四段表示:过多少天可以更改自己的密码;
第五段表示:密码过多少天失效;
第六段表示:密码预警密码还有多少天不能用;
第七段表示:账号的失效期限;
第八段表示:账号的生命周期;
第九段表示:保留用的。
?
如何创建组创建用户、删除组删除用户
?组相关
1.groupadd? 创建组的命令,例groupadd grp1;
2.groupadd -g 自定义gid号,更改组ID号,同时更改创建新组附属组 例groupadd -g 1000 grp3;
3.tail /etc/group可以查看组的配置文件,/etc/gshadow查看组的密码配置文件;
4.groupdel 删除组的命令;
?用户相关
1.useradd 创建新用户,创建用户的同时会创建一个跟用户的uid号一致的组gid号,例useradd user1;
2.useradd -u 自定义uid号,更改用户的ID号,同时更改创建新的用户,例useradd -u 505 user2;
3.增加用户的时候把指定的uid加入到已经存在的gid组中同时创建新的用户user4 格式useradd -u 508 -g 500 user4,
? 指定gid组的时候前提就是gid号这个组必须要存在,这样才能修改加入uid号加入到这个组里面去;
? 直接useradd -u 517 user11 (原用户user1)这样创建是指定uid号创建新的用户,它的gid号一样是517;
4.userdel 删除创建的用户;
5.userdel -r 同时删除家目录删除信箱文件;
6.信箱邮件存在 /var/spool/mail/配置文件中,userdel -r 同时删除用户家目录删除信箱文件;
7. -G 减大G指定用户所属的附加组例 useradd -u 508 -g 500 -G? user1,user2 user4;
8.id 查看用户id和组id在哪个组里,直接id跟用户查看;
9. -d 减d 是指定它的家目录 例 useradd -u 508 -g 500 -d /home/user44 user4 ;
10.-M 减大M 不创建家目录 例 useradd -u 508 -g 500 -M user4?现在user4用户没有家目录,
? ? ?我们使用su - 无法切换过去;在root下需要我们自己创建家目录;
11./etc/skel/中存放着用户的环境变量、初始化的东西,要把这些配置文件拷贝到家目录中,可以先ls -a 查看这个配置文件中的隐藏文件,
? ? 格式 cp -v /etc/skel/.b* /home/user4/ 加减v可视化,/etc/skel/.b*? .b*是skel这个目录下的.b开头的所有的文件都包括在内,/home/user4/是拷贝到/home/user4/下? ? ? 面去;
12.这时候再 su - 切换到user4就成功了,因为我们给它盖了房子,房子里的必需用品也都准备了,所以就可以拎包入住了 ;
13.logout退出新用户,切换用户;
14.创建普通用户不想让其它用户登陆加-s 格式 例 useradd -u 508 -g 500 -s /sbin/nologin user4,
? ? 这里简单拆解一下含义,useradd是创建新用户的命令,-u是指定uid号,-g是指定gid号,当然这里的gid组号必须是已经存在的创建好了的才可以指定把uid号加入到组里面,-s /sbin/nlogin 是把/bin/bash指定修改成/sbin/nlogin ,这样它就不允许登陆了,user4是创建的新的普通用户。??
?
usermod?
1.usermod -s /bin/bash user4 这样它就可以登陆这个用户了;
2.usermod -d 更改家目录 例 格式 usermod? -d /home/user44 user4,这样它的家目录就更改成了user44,它的家目录被修改了无法su - 登陆,
? 这时候mv /home/user4? /home/user44 这样把user4挪到user44下,就又可以登陆了;
3.usermod -u 511 -g 510 user5 这样同样可以指定它的uid号,前提也是要又已经存在的gid号,然后不修改添加用户名的同时能修改uid号;
4.usermod -u 512 user5 这样直接修改uid号,且不更改用户名;
5.usermod -L 减大L用户锁定不可登陆;
6.usermod -U 减大U解锁用户。
?
chfn 修改/etc/passwd配置文件中第5段的描述(了解即可)。
?
更改新用户密码相关
1.passwd user4 给新用户设置密码,/etc/shadow这个存放密码的配置文件会改变;
2.mkpasswd 帮我们生成不规则字符串,当密码使用,mkpasswd不能使用就安装expect这个包,格式 yum install -y expect;
3.mkpasswd -l 20 减l指定密码长度,数字多少是多长;
4.mkpasswd -l 20 -s 0 减s是指定特殊字符长度,数字多少是多长。
? keepass 一种记录密码的工具,一定要去官网下载。