您的位置:首页 > 运维架构 > Linux

Linux指令详解useradd groupadd passwd chpasswd chage 密码修改

2016-05-26 22:48 579 查看
创建用户、设置密码、修改用户、删除用户:
useradd testuser 创建用户testuser
passwd testuser 给创建的用户testuser设置密码
说明:新创建的用户会在/home下创建一个用户目录testuser
usermod --help 修改用户这个命令的相关参数
userdel testuser 删除用户testuser
rm -rf testuser 删除用户testuser所在目录

上面的几个命令只有root账号才可以使用,如果你不知道自己的系统上面的命令在什么位置可以使用如下命令查找其路径:

locate useradd

创建新用户后,同时会在etc目录下的passwd文件中添加这个新用户的相关信息
说明:为了截图,此处我使用了tail -3 passwd命令,只将该文件的最后3行信息(也是我关注的信息)显示出来
Linux 创建用户、设置密码、修改用户、删除用户
命令行窗口下用户的相互切换:
su 用户名
说明:su是switch user的缩写,表示用户切换
从新的用户状态下输入“exit”即可退回到刚才的用户状态

用户组的添加和删除:
groupadd testgroup 组的添加
groupadd -g 201 sales 增加组ID号是201的SALES组

usermod -a -G sales username 把username增加到1个新组sales,保留原来的组。

groupdel testgroup 组的删除
说明:组的增加和删除信息会在etc目录的group文件中体现出来。

/etc/login.defs 建立用户的默认环境,默认建立的用户有效期是9999天
echo password | passwd --stdin username 把password密码设置给username
passwd的--stdin参数ubuntu不支持,debian也不支持这个

1、passwd 简单说明;

我们已经学会如何添加用户了,所以我们还要学习设置或修改用户的密码;passwd命令的用法也很多,我们只选如下的几个参数加以说明;想了解更多,请参考man passwd或passwd --help ;

passwd [OPTION...]

passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码;

passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;请看下面的例子;
[root@localhost ~]# passwd 注:没有加任何用户,我是用root用户来执行的passwd 表示修改root用户的密码;下面也有提示;
Changing password for user root.
New UNIX password: 注:请输入新密码;
Retype new UNIX password: 注:验证新密码;
passwd: all authentication tokens updated successfully. 注:修改root密码成功;

如果是普通用户执行passwd 只能修改自己的密码;

如果新建用户后,要为新用户创建密码,则用 passwd 用户名 ,注意要以root用户的权限来创建;

[root@localhost ~]# passwd beinan 注:更改或创建beinan用户的密码;
Changing password for user beinan.
New UNIX password: 注:请输入新密码;
Retype new UNIX password: 注:再输入一次;
passwd: all authentication tokens updated successfully. 注:成功;

普通用户如果想更改自己的密码,直接运行passwd即可;比如当前操作的用户是beinan;

[beinan@localhost ~]$ passwd
Changing password for user beinan. 注:更改beinan用户的密码;
(current) UNIX password: 注:请输入当前密码;
New UNIX password: 注:请输入新密码;
Retype new UNIX password: 注:确认新密码;
passwd: all authentication tokens updated successfully. 注:更改成功;

2、passwd 几个比较重要的参数;

[root@localhost beinan]# passwd --help
Usage: passwd [OPTION...] <accountName>
-k, --keep-tokens keep non-expired authentication tokens
注:保留即将过期的用户在期满后能仍能使用;
-d, --delete delete the password for the named account (root only)
注:删除用户密码,仅能以root权限操作;
-l, --lock lock the named account (root only)
注:锁住用户无权更改其密码,仅能通过root权限操作;
-u, --unlock unlock the named account (root only)
注:解除锁定;
-f, --force force operation
注:强制操作;仅root权限才能操作;
-x, --maximum=DAYS maximum password lifetime (root only) 注:两次密码修正的最大天数,后面接数字;仅能root权限操作;
-n, --minimum=DAYS minimum password lifetime (root only) 注:两次密码修改的最小天数,后面接数字,仅能root权限操作;
-w, --warning=DAYS number of days warning users receives before 注:在距多少天提醒用户修改密码;仅能root权限操作;
password expiration (root only)
-i, --inactive=DAYS number of days after password expiration when an 注:在密码过期后多少天,用户被禁掉,仅能以root操作;
account becomes disabled (root only)
-S, --status report password status on the named account (root 注:查询用户的密码状态,仅能root用户操作;
only)
--stdin read new tokens from stdin (root only)

比如我们让某个用户不能修改密码,可以用-l 参数来锁定:

[root@localhost ~]# passwd -l beinan 注:锁定用户beinan不能更改密码;
Locking password for user beinan.
passwd: Success 注:锁定成功;
[beinan@localhost ~]# su beinan 注:通过su切换到beinan用户;
[beinan@localhost ~]$ passwd 注:beinan来更改密码;
Changing password for user beinan.
Changing password for beinan
(current) UNIX password: 注:输入beinan的当前密码;
passwd: Authentication token manipulation error 注:失败,不能更改密码;

再来一例:

[root@localhost ~]# passwd -d beinan 注:清除beinan用户密码;
Removing password for user beinan.
passwd: Success 注:清除成功;
[root@localhost ~]# passwd -S beinan 注:查询beinan用户密码状态;
Empty password. 注:空密码,也就是没有密码;

注意: 当我们清除一个用户的密码时,登录时就无需密码;这一点要加以注意;

Linux指令详解chpasswd批量修改用户密码
语法:
1:# echo 用户名:密码 | chpasswd
2:# chpasswd < doiido.txt
参数:
-e :如果使用了-e选项,口令将只能以加密的方式传递
如果未使用-e选项,口令将按明文的形式传递

注意事项
1:用户名必须是系统上已存在的用户
2:普通用户没有使用这个指令的权限
3:如果输入文件是按非加密方式传递的话,请对该文件进行适当的加密。
4:指令文件不能有空行

1、直接修改doiido用户的密码为helloboy
echo doiido:helloboy |chpasswd
2、使用doiido.txt里面的用户名密码批量修改相应用户的密码
2.1:首先建立指令文件doiido.txt(格式为[username:passwd])
# vi doiido.txt
doiido1:helloboy
doiido2:hellogirl

2.2:将doiido.txt的内容传输到chpasswd指令来修改相应用户的密码
# chpasswd < doiido.txt

3、让普通用户使用chpasswd
默认普通用户是没有chpasswd的权限,但是可以通过修改命令文件权限来修改
# chmod 4755 /usr/sbin/chpasswd
这样普通用户就可以使用chpasswd来修改密码

chage 命令
功能:修改帐号和密码的有效期限
用法:chage[-l][-m mindays][-M maxdays][-I inactive][-E expiredate][-W warndays][-d lastdays]username
参数:
-l:列出用户的以及密码的有效期限
-m:修改密码的最小天数
-M:修改密码的最大天数
-I:密码过期后,锁定帐号的天数
-d:指定密码最后修改的日期
-E:有效期,0表示立即过期,-1表示永不过期
-W:密码过期前,开始警告天数
chage -M 30 username 改变密码的有效期限为30天
chage -d 2012-01-01 username 用户下次登录必须修改密码

ssh username@localhost ssh模拟登陆验证密码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux useradd 指令详解