linux下passwd用户设置与修改密码

出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令。

该命令的一般格式为: passwd [用户名] 其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令

passwd 语法结构:

首先,大家一定要知道“男人”说的话是很负责任的,所以有事找“男人”。让我们看看“男人”对这个 passwd 怎么说。呃,这个命令在 man 手册的中文包里面是没有的,所以还是大家熟悉喜爱的英文。呵呵。

NAME
passwd – update a user’s authentication tokens(s)

SYNOPSIS
passwd [-k] [-l] [-u [-f]] [-d] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S]
[--stdin] [username]

passwd 参数浅谈:

passwd 命令也有着这许多参数,最后一个用户名不用多说,下面就挑一些主要的来为大家介绍一二,都是在网上找到的,不过根据我的简单翻译应该就是这个样子滴。

主要参数

  -l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。

  -u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。

  -x, --maximum=DAYS:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。

  -n, --minimum=DAYS:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。

  -d:删除使用者的密码, 只有具备超级用户权限的使用者方可使用。

  -S:检查指定使用者的密码认证种类, 只有具备超级用户权限的使用者方可使用。

passwd 使用规则:

我们都知道,在 Linux 里,“root”账号绝对是一个大BOSS,其有着至高无上的权力。呵呵。另外昨天咱们也看到了,新账号都是由 root 权限建立的,那么自不必说,如果用户的密码不见了,就可以让 root 去帮助修改密码,而 root 是不用知道你原来密码的。另外,也只有 root 可以随便设置密码,即使该密码并不符合系统的密码要求。

另外,用户是可以更改自己的密码的,这时 passwd 后面是不用跟用户名的。不过普通用户就必须得遵守一定的规则了,创建密码的规则文件是: /etc/pam.d/passwd ,其内设定了一些设置 Linux 用户密码的规则。

一般来说,输入的密码尽量要符合如下要求:

•密码不能与账号名称相同
•密码尽量不要选用英文单词这种字典里面会出现的字符串
•密码需要超过8个字符

口令应该至少有六位(最好是八位)字符;

口令应该是大小写字母、标点符号和数字混杂的。

passwd 使用示例:

口说无凭,咱也为我昨天创建的几个垃圾账号来设置密码。呵呵。

[cc lang='bash']
# root 创建密码,不用遵守啥规则,直接改即可
[simaopig@xiaoxiaozi pam.d]$ su
密码:
[root@xiaoxiaozi pam.d]# passwd chongpig
更改用户 chongpig 的口令 。
新的 密码:
重新输入新的 密码:
无效的密码: 它基于字典单词
无效的密码: 过于简单
passwd: 所有的身份验证令牌已经成功更新。
[root@xiaoxiaozi pam.d]# passwd chongpig
更改用户 chongpig 的口令 。
新的 密码:
重新输入新的 密码:
无效的密码: 它基于字典单词
无效的密码: 过于简单
passwd: 所有的身份验证令牌已经成功更新。
[root@xiaoxiaozi pam.d]# grep chongpig /etc/shadow
chongpig:$6$mVu5nBAo$4HzNf92n3RYAiDfVk2Q5YtIxfjrVxvYHAusGeUAWfabLr5WIuQdn/2HCcsHwKRoRpxGLCJ.wA.1QLgG.rXuhw/:14447:0:99999:7:::
[/cc]

虽然告诉我密码太简单,虽然告诉我说密码基于单词,不过咱怕啥?咱是 root 啊,改之,列为可以看一下,现在 chongpig 账号是已经可以用密码登录了的,其在 /etc/shadow 内的密码栏也有有值的了,而不再是 !!

[cc lang='bash']
# 更改当前用户密码,非roto账号
[simaopig@xiaoxiaozi ~]$ passwd
更改用户 simaopig 的口令 。
为 simaopig 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
重新输入新的 密码:
密码未更改
密码未更改
密码未更改
Password:
passwd: 已经超出服务重试的最多次数

[simaopig@xiaoxiaozi ~]$ passwd
更改用户 simaopig 的口令 。
为 simaopig 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
重新输入新的 密码:
无效的密码: 与旧密码过于相似
无效的密码: 与旧密码过于相似
无效的密码: 与旧密码过于相似
Password:
passwd: 已经超出服务重试的最多次数

[simaopig@xiaoxiaozi ~]$ passwd
更改用户 simaopig 的口令 。
为 simaopig 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[/cc]

看没看到,普通用户待遇就是不一样,有各种各样的限制,麻烦啊。不过咱最好还是自己改自己的密码,没事别老麻烦 root 呵呵。

超级用户修改其他用户(xxq)的口令的过程如下,

 代码如下 复制代码

# passwd root

New UNIX password: 

Retype new UNIX password: 

passwd: all authentication tokens updated successfully

#

时间: 2024-09-19 01:48:17

linux下passwd用户设置与修改密码的相关文章

linux下普通用户在输入root密码下才可以执行对应程序如何实现?

问题描述 linux下普通用户在输入root密码下才可以执行对应程序如何实现? 解决方案 应该是类似于起一个shell,然后要求你切换到root,然后再执行程序,程序退出之后,shell也退出 解决方案二: http://www.lupaworld.com/article-223530-1.html 解决方案三: 获取用户的权限,看看 对于当前用户的程序权限是否足够,不够的话就弹出对话框,要求输入密码

Linux 系统为用户设置复杂密码度策略

假设你已经在你的 Linux 系统上使用了 PAM (Pluggable Authentication Modules,插入式验证模块),因为这些年所有的 Linux 发行版都在使用它. 一.准备工作 安装 PAM 的 cracklib 模块,cracklib 能提供额外的密码检查能力. Debian.Ubuntu 或 Linux Mint 系统上: $ sudo apt-get install libpam-cracklib CentOS.Fedora.RHEL 系统已经默认安装了 crack

Linux下获取用户主目录的方法分享

  Linux下获取用户主目录的方法分享     方法如下 char *path = getenv("HOME"); printf("path = %sn",path); getenv是标准库函数,包含stdlib.h头文件就可.

代码-java如何实现邮箱激活用户,和修改密码功能

问题描述 java如何实现邮箱激活用户,和修改密码功能 用户注册使用有代码向用户邮箱中发送链接,然后用户点击链接激活账号 解决方案 邮箱激活用户功能用Java实现邮箱激活账号功能用户注册后,通过网站发送到邮箱中的激活链接激活用户 java 解决方案二: 邮箱激活用户http://www.cxyclub.cn/n/60763/http://download.csdn.net/detail/martin_yl/8331813http://zfy421.iteye.com/blog/1691874 找

服务器-linux下root用户切换到普通用户执行ssh远程登录失败

问题描述 linux下root用户切换到普通用户执行ssh远程登录失败 这样,我想做一个web一件抓取日志的小程序,后台python调用ssh登录到远程主机执行系统命令抓取符合条件的日志,这个程序集成在一个运行在root下的web站中,然而服务器 设定了root用户不能用ssh远程登录.我想请教是否可能在程序中切换到普通用户登录ssh远程登录其他主机执行ssh命令,然后再切回root...或者是否有其他好的方法来实现这一 功能.(很多台服务器,一次性抓取符合条件的日志) 解决方案 linux下如

windows-关于Linux下V4L2获取设置参数

问题描述 关于Linux下V4L2获取设置参数 问题描述如下: 我在linux下使用V4L2对免驱摄像头进行操作,由于项目需求,需要通过USB线获取 摄像头板的GPI的状态,这个属于扩展功能,摄像头工程师是这么做的:由于我们的摄像头的GAMMA值不会被用到,因此当摄像头板检测到GPI电平有变化时,它就将 GAMMA对应的寄存器的值设置成另外一个值,然后我通过V4L2的函数ioctl,参数为VIDIOC_G_GAMMA来获取当前的GAMMA值,但是读不到其变化.问题是,我在windows下又可以读

linux下如何快速让DNS修改生效_unix linux

如何快速使DNS修改生效 OSX, Chrome, and DNS 在开发中,经常会给域名绑定一些ip,然后又需要经常切换,那么在linux下如何快速让DNS修改声息呢? 1.先用dig命令查询域名对应的ip是否已经生效 shell$ dig grepalex.com ;; ANSWER SECTION: grepalex.com.3600INA66.216.100.140 2.如何是chrome,则可以在地址栏上输入下面命令,让浏览器DNS缓存失效 chrome://net-internals

Linux下交互式与非交互式修改用户密码的例子_linux shell

最近管理的一批机器,有个需求是要统一修改一个帐号的用户名密码,比如将qa帐号的密码改为1234,后来还为了脚本化,很方便的执行,还使用了非交互式地修改用户的密码.简单记录一下吧. 1. 交互式配置本地用户的密码:passwd 命令 复制代码 代码如下: [root@host_221-81 ~]# passwd qa Changing password for user qa. New password: BAD PASSWORD: it is too short BAD PASSWORD: is

Linux下常用安全策略设置的六个方法

  "安全第一"对于linux管理界乃至计算机也都是一个首要考虑的问题.加密的安全性依赖于密码本身而非算法!而且,此处说到的安全是指数据的完整性,由此,数据的认证安全和完整性高于数据的私密安全,也就是说数据发送者的不确定性以及数据的完整性得不到保证的话,数据的私密性当无从谈起! 1. 禁止系统响应任何从外部/内部来的ping请求攻击者一般首先通过ping命令检测此主机或者IP是否处于活动状态 ,如果能够ping通 某个主机或者IP,那么攻击者就认为此系统处于活动状态,继而进行攻击或破坏