3.4-3.6 usermod命令和用户密码管理

本文介绍如何使用usermod命令修改用户信息,包括更改用户名、目录、群组等,并讲解passwd命令的应用,例如设置密码和密码过期策略。此外,还介绍了mkpasswd命令生成高强度密码的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.4-3.6


3.4 usermod命令

usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定。

  • 语法

    usermod(选项)(参数)

  • 选项

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

  • 参数

    登录名:指定要修改信息的用户登录名。

  • 实例
  1. 将newuser2添加到组staff中:
usermod -G staff newuser2
  1. 修改newuser的用户名为newuser1:
usermod -l newuser1 newuser
  1. 锁定账号newuser1:
usermod -L newuser1
  1. 解除对newuser1的锁定:
usermod -U newuser1
  1. 改变用户newuser1的uid:
usermod -u 777 newuser1

3.5 用户密码管理

更改用户密码
  • root用户下更改root用户密码
passwd       直接敲passwd命令就会提示更改密码了
  • root用户下更改普通用户user1密码
passwd user1     需要passwd后面接需要更改的普通用户用户名
passwd常用命令

passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

  • 语法

    passwd(选项)(参数)

  • 选项

    -d:删除密码,仅有系统管理者才能使用;

    -f:强制执行;

    -k:设置只有在密码过期失效后,方能更新;

    -l:锁住密码;

    -s:列出密码的相关信息,仅有系统管理者才能使用;

    -u:解开已上锁的帐号。

    --stdin:(写shell脚本可能用到这个)

    比如:echo 12345 |passwd --stdin user1,这样就避免了交互,直接一条命令就修改密码了,使用到了管道符|。

  • 参数

    用户名:需要设置密码的用户名。

  • 实例

如:

passwd -l user1    锁定user1
  1. 如果是普通用户执行passwd只能修改自己的密码。如果新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建。

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

  3. 如果我们想让某个用户不能修改密码,可以用-l选项来锁定

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

下面是/etc/shadow的一个例子:

#cat/etc/shadow

root:Dnakfw28zf38w:8764:0:168:7:::
daemon:*::0:0::::
bin:*::0:0::::
sys:*::0:0::::
adm:*::0:0::::
uucp:*::0:0::::
nuucp:*::0:0::::
auth:*::0:0::::
cron:*::0:0::::
listen:*::0:0::::
lp:*::0:0::::
sam:EkdiSECLWPdSa:9740:0:0::

*号代表密码是被passwd命令锁定的,::代表没有密码,中间是空的,!号是被usermod命令锁定的。这三种情况都是不能登陆这个用户的。

知识总结

与用户、组账户信息相关的文件

存放用户信息:

/etc/passwd

/etc/shadow

存放组信息:

/etc/group

/etc/gshadow


3.6 mkpasswd命令

这个命令可以制作一个随机字符串,我们可以用作密码,可以生成一个强度很高的密码,shell脚本中常用。

  1. 先安装这个命令的包,默认是不存在这个命令的
yum install -y expect

2.如果使用这个命令

mkpasswd       会默认生成一个9位的密码

mkpasswd -12   也可以指定字符串长度,比如12位

mkpasswd -12 -s 3    也可以指定生成的字符串其中有多少个特殊符号

转载于:https://blog.51cto.com/13530586/2055005

`usermod`是一个Linux命令行工具,用于修改用户账号的各种属性。下面分别解释您提到的几个选项: ### `usermod -s` 这个选项允许您更改用户的登录shell(login shell)。通常,用户会在登录时选择一个默认的shell程序,如bash、zsh或其他支持的Shell。当使用`usermod -s`并接上一个新的shell路径时,系统会更新用户的主目录文件(通常是`.profile`, `.bashrc`, 或者其他基于用户shell初始化脚本),以便下次登录时运行指定的shell。 例如: ```bash sudo usermod -s /bin/zsh username ``` 这将把用户名为`username`的用户登录shell更改为ZSH。 ### `usermod -e` 此选项用于设置用户的账户有效期。一旦账户到期(即过期时间到达),该账户将会失效。如果需要将用户账户设为永久有效,则可以使用`-e`选项,并提供账户过期日期的字符串形式,如`+infinity`表示永不过期,或者使用日期格式如`2023-04-05`表示特定日期到期。 例如,将用户账户设为永不过期: ```bash sudo usermod -e +infinity username ``` ### `usermod -L` 此选项用于锁定或解锁用户的账户。锁定账户意味着无法通过密码登录,而解锁则是恢复其正常功能。当账户被锁定时,除非管理员手动解锁,否则只有root权限的用户才能登录。 例如,锁定账户: ```bash sudo usermod -L username ``` 之后再次运行上述命令可以解锁账户。 ### `usermod -U` 这是解除锁定账户的一个快捷方式。它等同于使用 `-U username ``` 这些命令都需要适当的权限(通常需要管理员权限,所以使用了`sudo`)来进行修改。务必谨慎使用这些命令,以免意外地影响到系统的安全性稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值