linux 下如何通过root 修改别的账户密码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 下如何通过root 修改别的账户密码相关的知识,希望对你有一定的参考价值。

1.比如有个账户是user1,可是密码忘记了,root的密码是记得的,我想用root登陆 然后修改user1的密码,顺便说一句 linux是Ubuntu 装在了服务器上,所以我这里没有界面,只能打命令。
2.我在root下用passwd -S user1查看user1的密码时显示: user1 PS 2010-03-26 0 99999 7 -1(passwd set,MD5 crypt。)什么意思?
passwd user1 我试过了,提示修改密码成功 可是当从新进入的时候还是提示密码错误。。。。。。

首先,用root用户登陆Linux系统或者使用su、sudo等命令提升到root权限。

其次,修改帐户密码,只需要使用passwd命令即可,该命令详细介绍如下:
passwd 选项 用户名
  可使用的选项:
  -l 锁定口令,即禁用账号。
  -u 口令解锁。
  -d 使账号无口令。
  -f 强迫用户下次登录时修改口令。
  如果默认用户名,则修改当前用户的口令。
  例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:
  $ passwd
  Old password:******
  New password:*******
  Re-enter new password:*******
  如果是超级用户,可以用下列形式指定任何用户的口令:
  # passwd sam
  New password:*******
  Re-enter new password:*******
  普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
  为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。
  为用户指定空口令时,执行下列形式的命令:
  # passwd -d sam
  此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。
  passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:
  # passwd -l sam
参考技术A 假设你要改的用户名是user1

# passwd user1
接下来就是按照提示输入你的密码

不用root登录也可以,如果你是系统安装时指定的用户,默认有sudo权限,可以直接
$ sudo passwd user1
接下来同上

passwd -S
第一个字段是用户名,第二个字段显示是否存在密码(L、NP、P),第三个字段是密码最后修改的日期,接下来四个字段是最小时期、最大时期、警告期和不活动期。不过和你提供的有点出入啊……

我实验了一下,修改密码后能进的,按照你说的,如果提示的是密码错误,估计是你密码没修改成功。

附man
-S, --status
Display account status information. The status information consists
of 7 fields. The first field is the user?s login name. The second
field indicates if the user account has a locked password (L), has
no password (NP), or has a usable password (P). The third field
gives the date of the last password change. The next four fields
are the minimum age, maximum age, warning period, and inactivity
period for the password. These ages are expressed in days.本回答被提问者采纳
参考技术B passwd user1
那提示是密码说明 依次是: 用户名 密码加密形式(md5加密过的) 密码创建日期 密码不可被变更的天数(0代表不需更改) 密码需要被重新变更的天数(99999表示不需要变更) 密码变更前提前几天警告
参考技术C root下直接 passwd user1 就能设置新密码了
另外你直接修改 /etc/passwd文件 把第二列的x去掉可以不用密码登录然后在加上密码就行了

man没看到-S的帮助, 我看了一下应当是 shadow文件的一些信息, 你搜以下shadow文件的说明就行了

---------------------------------------
那你看看shadow文件第二列是不是*如果是删了
在看看passwd 文件有没有什么问题
参考技术D passwd user1
就可以设置新密码了。

linux下如何禁用root账户直接登陆

 1.新建一个账户吧 用这个账户来登陆

 

  1. adduser testuser
  2. 设置密码
  3. passwd testuser 
  4. 然后按提示输入密码即可
  5. 修改SSHD配置,禁止root直接登录
  6. nano /etc/ssh/sshd_config 
  7. 请注意这个文件需要root权限才能改,找到“PermitRootLogin yes”把注释去掉 保存,然后重启sshd服务
  8. service sshd restart
  9. 4.下次登陆的时候先用testuser登陆,然后再su root(sudo bash)切换到root下即可!

 

以上是关于linux 下如何通过root 修改别的账户密码的主要内容,如果未能解决你的问题,请参考以下文章

Linux中root 密码重置

Linux 服务器的基本安全配置

怎么修改root账户的密码

linux下mysql root账户忘记密码

如何进入linux中的root账户

linux修改root账户的用户名所得的教训