passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
#### 语法
passwd(选项)(参数)
#### 选项
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
#### 参数
用户名:需要设置密码的用户名。
#### 知识扩展
与用户、组账户信息相关的文件
存放用户信息:
~~~
/etc/passwd
/etc/shadow
~~~
存放组信息:
~~~
/etc/group
/etc/gshadow
~~~
用户信息文件分析(每项用:隔开)
例如:jack:X:503:504:::/home/jack/:/bin/bash
~~~
jack //用户名
X //口令、密码
503 //用户id(0代表root、普通新建用户从500开始)
504 //所在组
: //描述
/home/jack/ //用户主目录
/bin/bash //用户缺省Shell
~~~
#### 组信息文件分析
例如:jack:$!$:???:13801:0:99999:7:*:*:
~~~
jack //组名
$!$ //被加密的口令
13801 //创建日期与今天相隔的天数
0 //口令最短位数
99999 //用户口令
7 //到7天时提醒
* //禁用天数
* //过期天数
~~~
#### 实例
如果是普通用户执行passwd只能修改自己的密码。如果新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建。
~~~
[root@localhost ~]# passwd linuxde //更改或创建linuxde用户的密码;
Changing password for user linuxde.
New UNIX password: //请输入新密码;
Retype new UNIX password: //再输入一次;
passwd: all authentication tokens updated successfully. //成功;
~~~
普通用户如果想更改自己的密码,直接运行passwd即可,比如当前操作的用户是linuxde。
~~~
[linuxde@localhost ~]$ passwd
Changing password for user linuxde. //更改linuxde用户的密码;
(current) UNIX password: //请输入当前密码;
New UNIX password: //请输入新密码;
Retype new UNIX password: //确认新密码;
passwd: all authentication tokens updated successfully. //更改成功;
~~~
比如我们让某个用户不能修改密码,可以用-l选项来锁定:
~~~
[root@localhost ~]# passwd -l linuxde //锁定用户linuxde不能更改密码;
Locking password for user linuxde.
passwd: Success //锁定成功;
[linuxde@localhost ~]# su linuxde //通过su切换到linuxde用户;
[linuxde@localhost ~]$ passwd //linuxde来更改密码;
Changing password for user linuxde.
Changing password for linuxde
(current) UNIX password: //输入linuxde的当前密码;
passwd: Authentication token manipulation error //失败,不能更改密码;
~~~
再来一例:
~~~
[root@localhost ~]# passwd -d linuxde //清除linuxde用户密码;
Removing password for user linuxde.
passwd: Success //清除成功;
[root@localhost ~]# passwd -S linuxde //查询linuxde用户密码状态;
Empty password. //空密码,也就是没有密码;
~~~
注意:当我们清除一个用户的密码时,登录时就无需密码,这一点要加以注意。
- 目录
- Linux目录结构
- 文件和目录管理
- 创建文件
- touch命令
- ln命令
- 文件列表
- 查看内容
- ls命令
- ll命令
- stat 命令
- 文件查找
- updatedb命令
- locate/slocate命令
- whereis命令
- which命令
- find命令
- 文件压缩
- tar命令
- 目录管理
- mkdir命令
- pwd命令
- tail命令
- 监视文件
- 文件复制
- cp命令
- 压缩解压
- zip命令
- unzip命令
- 系统管理
- crontab命令
- crontab问题
- crontab日志
- crontab原理
- 系统计划任务
- 用户计划任务
- 调用ThinkPHP控制器
- ntsysv命令
- chkconfig命令
- export命令
- 修改PATH环境变量
- ps命令
- man
- 主要方法
- pstree命令
- service命令
- kill命令
- ulimit命令
- 综合命令
- 编译文件
- make命令
- makefile文件
- 设备管理
- mount命令
- 用户和工作组管理
- groupadd命令
- passwd命令
- useadd命令
- groups命令
- chage命令
- whoami命令
- 查看用户组下所有用户
- 软件安装
- rpm命令
- 系统监测
- free命令
- 硬件配置
- 系统监控
- top命令
- ps_mem
- pstree
- 文件传输
- web服务
- Nginx
- 文件下载
- wget命令
- 系统帮助
- whatis命令
- man命令
- shell命令
- shell变量
- sh命令
- source命令
- test命令
- 表达式
- 逻辑运算符
- date命令
- declare命令
- 软件安装
- yum命令
- 安装
- 系统服务
- systemctl命令
- service
- 环境变量
- Linux 中环境变量设置
- 网络管理
- iptables命令
- netstat命令
- 查看端口占用
- 常用端口说明
- 系统安全
- getenforce
- 磁盘空间
- df命令