码迷,mamicode.com
首页 > 其他好文 > 详细

用户配置文件与密码配置文件

时间:2020-08-18 13:45:00      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:过多   str   个数   cti   密码过期   useradd   无效   装包   必须   

用户文件

**(原密码文件)

/etc/passwd**

[root@jinkai01 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
以:为隔离分段
第一段:用户名
第二段:以前密码存放地
第三段:用户UID
第四段:组GID
第五段:注释
第六段:用户家目录
第七段:用户的shell

密码文件

/etc/shadow

[root@jinkai01 ~]# head -n2 /etc/shadow
root:$6$iIKa5PJh$MvkpTCvxtu1lgan8MiVRiX2Lb05bEZFuCYCh1hc9s6zBQDukJaVaNyCdLPwzWc3ihD/GmZTqwEdEAl9UXpTsc/:18478:0:99999:7:::
bin:*:17834:0:99999:7:::
分为9段,其中密码已经被加密
第一段:用户名
第二段:密码
第三段:上次更改密码的时间(1970年-数值年)
第四段:要过多少天你必须更改 0为不需要
第五段:密码多少天到期;
第六段:密码到期前的警告;
第七段:账号失效时段;到期后还有7天时间可以使用;

用户组管理

组文件
/etc/group
组密码文件
/etc/gshadow**

groupadd

增加一个组
命令格式:
groupadd [组名]

[root@jinkai01 ~]# groupadd grp2
[root@jinkai01 ~]# tail -n5 /etc/group
postfix:x:89:
linuxprobe:x:1000:linuxprobe
grp1:x:1003:
user1:x:1004:
grp2:x:1005:

-g:指定组id
groupadd -g 1005 grp3

[root@jinkai01 ~]# groupadd -g 1006 grp3
[root@jinkai01 ~]# tail -n5 /etc/group
linuxprobe:x:1000:linuxprobe
grp1:x:1003:
user1:x:1004:
grp2:x:1005:
grp3:x:1006:

groupdel

删除一个组(删除组必须把组内的用户清空才可以)
命令格式:
groupdel [组名]

[root@jinkai01 ~]# groupdel grp3
[root@jinkai01 ~]# tail -n5 /etc/group
postfix:x:89:
linuxprobe:x:1000:linuxprobe
grp1:x:1003:
user1:x:1004:
grp2:x:1005:

用户管理

useradd

创建用户
命令格式:
useradd [参数][用户名]

实验1:增加一个用户名user2
useradd user2

[root@jinkai01 ~]# useradd user2
[root@jinkai01 ~]# tail -n2 /etc/passwd
user1:x:1003:1004::/home/user1:/bin/bash
user2:x:1004:1006::/home/user2:/bin/bash

-u:指定uid
实验2:增加一个用户名user3,指定uid为1005
useradd -u 1005 user3

[root@jinkai01 ~]# useradd -u 1005 user3
[root@jinkai01 ~]# tail -n2 /etc/passwd
user2:x:1004:1006::/home/user2:/bin/bash
user3:x:1005:1007::/home/user3:/bin/bash

-d:指定家目录
-s:指定shell
-g:指定组
实验3:新建用户user4指定组为grp2

[root@jinkai01 ~]# useradd -g grp2 user4
[root@jinkai01 ~]# tail -n2 /etc/passwd
user3:x:1005:1007::/home/user3:/bin/bash
user4:x:1006:1005::/home/user4:/bin/bash

userdel

删除用户
格式:
userdel [用户名]
userdel user4 删除用户后用户的家目录还是存在的

[root@jinkai01 ~]# userdel user4
[root@jinkai01 ~]# tail -n2 /etc/passwd
user2:x:1004:1006::/home/user2:/bin/bash
user3:x:1005:1007::/home/user3:/bin/bash
[root@jinkai01 ~]# ls /home/
linuxprobe user1 user2 user3 user4

-r:删除用户时,同时删除家目录

[root@jinkai01 ~]# userdel -r user3
[root@jinkai01 ~]# ls /home/
linuxprobe user1 user2 user4

usermod命令

usermod命令用于修改用户帐号
usermod可用来修改用户帐号的各项设定
参数

-c<备注>  修改用户帐号的备注文字。
-d<登入目录>  修改用户登入时的目录。
-e<有效期限>  修改帐号的有效期限。
-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
-g<群组>  修改用户所属的群组。
-G<群组>  修改用户所属的附加群组。
-l<帐号名称>  修改用户帐号名称。
-L  锁定用户密码,使密码无效。
-s<shell>  修改用户登入后所使用的shell。
-u<uid>  修改用户ID。
-U  解除密码锁定。*

更改用户uid
实验1:更改user2用户的uid为1008
命令:usermod -u 1008 user2

[root@jinkai01 ~]# tail -n1 /etc/passwd
user2:x:1004:1006::/home/user2:/bin/bash
[root@jinkai01 ~]# usermod -u 1008 user2
[root@jinkai01 ~]# tail -n1 /etc/passwd
user2:x:1008:1006::/home/user2:/bin/bash

更改用户所属组
实验2:更改账号user005用户的组为grp3也就是gid为1007
命令:usermod -g grp2 user2
更改用户家目录

[root@jinkai01 ~]# tail -n1 /etc/group
grp3:x:1007:
[root@jinkai01 ~]# tail -n1 /etc/passwd
user2:x:1008:1006::/home/user2:/bin/bash
[root@jinkai01 ~]# usermod -g grp3 user2
[root@jinkai01 ~]# tail -n1 /etc/passwd
user2:x:1008:1007::/home/user2:/bin/bash

实验3:指定user2的家目录为/home/user4

[root@jinkai01 ~]# usermod -d /home/user4 user2

更改用户shell目录
实验4:指定user2的shell

usermod -s /sbin/nologin user2

增加用户所属组(多个组)
查询所属uid gid 组的命令
id [用户名]
id user2

[root@jinkai01 ~]# id user2
uid=1008(user2) gid=1007(grp3) groups=1007(grp3)

添加到额外扩展组中
usermod -G [组名] [用户名]

[root@jinkai01 ~]# usermod -G grp2 user2
[root@jinkai01 ~]# id user2
uid=1008(user2) gid=1007(grp3) groups=1007(grp3),1005(grp2)

用户密码管理

passwd命令

更改用户密码
格式:
passwd [用户名]
passwd user2

[root@jinkai01 ~]# passwd user2
Changing password for user user2.
New password:
BAD PASSWORD: The password fails the dictionary check - it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully

**注意:查看/etc/shadow 文件中第二列表示密码,!号为无密码,号为被锁定无法登陆使用;

锁定一个用户

格式:
passwd -l [用户名]
passwd -l user2
[root@jinkai01 ~]# passwd -l user2
Locking password for user user2.
passwd: Success**

[root@jinkai01 ~]# tail -n1 /etc/shadow
user2:!!$6$a0f4Dgf0$4oeCi5cLN7Kp9tDPgc5hAfZtPMKN8QB4hMc60qj6FAGB5O8NSH/Nceggc/zIKyhPfTohdtAG.9HslB/xQfzTj1:18479:0:99999:7:::

解锁一个用户

格式:
passwd -u [用户名]
passwd -u user2

[root@jinkai01 ~]# passwd -u user2
Unlocking password for user user2.
passwd: Success
[root@jinkai01 ~]# tail -n1 /etc/shadow
user2:$6$a0f4Dgf0$4oeCi5cLN7Kp9tDPgc5hAfZtPMKN8QB4hMc60qj6FAGB5O8NSH/Nceggc/zIKyhPfTohdtAG.9HslB/xQfzTj1:18479:0:99999:7:::

新技能

更改用户密码,只需要输入1次密码;
passwd --stdin 【用户名】
passwd --stdin user2

[root@jinkai01 ~]# passwd --stdin user2
Changing password for user user2
admin123
passwd: all authentication tokens updated successfully.

那么我们写脚本时可以使用管道符|一次性给一个账号改密码

echo "123456789"|passwd --stdin user2

命令意思就是输出字符串123456789给passwd --stdin user2 来实现密码更改

[root@jinkai01 ~]# echo "123456789" | passwd --stdin user2
Changing password for user user2.
passwd: all authentication tokens updated successfully.

echo新技能
echo -e 可以在字符串中加入\n来实现换行
echo -e "123456\nABCD"

[root@jinkai01 ~]# echo -e "123456\nABCD"
123456
ABCD

根据这个 我们也可以来一次性更改密码
更改用户 user2 的密码 。

[root@jinkai01 ~]# echo -e "admin\nadmin" | passwd user2
mkpasswd

一个生成密码的小工具
安装包expect
yum install -y expect
默认随机生成9位密码

[root@jinkai01 ~]# mkpasswd
sFk8Ov0p$

命令格式:
-l [数值]:指定生成字符串的长度
-s [数值]:指定特殊符号
-d [数值]:指定多少个数字

指定长度
实验1:生成长度为12的字符串

[root@jinkai01 ~]# mkpasswd -l 12
6+yxi5FcuSkm

指定特殊符号数
实验2:生成长度为12,特殊符号为0的字符串

[root@jinkai01 ~]# mkpasswd -l 12 -s 0
q1omoohw1cYO

指定数字数
实验3:生成长度为12,特殊符号为0,数字为8的字符串;

[root@jinkai01 ~]# mkpasswd -l 12 -s 0 -d 8
17n39u6M90U1

用户配置文件与密码配置文件

标签:过多   str   个数   cti   密码过期   useradd   无效   装包   必须   

原文地址:https://blog.51cto.com/11451960/2520562

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!