在Linux系统中,修改和查看用户名及密码涉及多个命令和配置文件操作,具体如下:
一、查看用户名
1. 当前登录用户
使用`whoami`或`id -un`命令直接显示当前登录的用户名。
示例:
bash
whoami
2. 系统所有用户
- 查看`/etc/passwd`文件,列出所有用户账户:
bash
cat /etc/passwd | cut -d: -f1
- 或使用`getent passwd`命令,兼容本地和网络用户(如LDAP):
bash
getent passwd | cut -d: -f1
3. 用户详情
`id`命令可显示用户UID、GID及所属组:
bash
id username
二、修改用户名
通过`usermod`命令修改用户名,需root权限:
1. 修改用户名(需确保用户未登录):
bash
sudo usermod -l 新用户名 旧用户名
2. 同步修改用户家目录名(可选):
bash
sudo usermod -d /home/新用户名 -m 新用户名
3. 更新相关配置文件(如sudoers):
手动检查`/etc/sudoers`和`/etc/group`,确保旧用户名被替换。
三、修改密码
1. 当前用户密码
直接运行`passwd`命令交互式修改:
bash
passwd
2. 其他用户密码(需root权限)
bash
sudo passwd username
3. 非交互式修改密码
使用`chpasswd`或`openssl`批量修改:
bash
echo "username:新密码" | sudo chpasswd
或
bash
echo "新密码" | sudo passwd --stdin username # 部分发行版支持
4. 密码策略配置
- 修改密码过期时间:
bash
sudo chage -M 90 username # 设置90天后过期
- 强制下次登录修改密码:
bash
sudo passwd -e username
四、安全注意事项
1. 密码强度
使用复杂密码(长度≥12位,含大小写、数字、符号),避免字典词汇。
2. 密码存储
Linux密码哈希存储在`/etc/shadow`中,仅root可读。通过`pwconv`命令确保shadow文件同步。
3. 审计与日志
- 查看用户登录记录:
bash
lastlog
- 检查认证日志(如`/var/log/auth.log`)排查异常修改。
4. 特殊账户处理
- 锁定账户:
bash
sudo passwd -l username
- 解锁账户:
bash
sudo passwd -u username
扩展知识
用户与UID关系:Linux通过UID识别用户,用户名仅为友好显示。系统用户UID通常小于1000,普通用户从1000开始(参考`/etc/login.defs`)。
PAM模块:Pluggable Authentication Modules控制密码策略,配置文件位于`/etc/pam.d/passwd`。
密码哈希算法:现代Linux默认使用SHA-512(可通过`authconfig --test`查看),配置在`/etc/login.defs`的`ENCRYPT_METHOD`参数。
操作时需谨慎,错误修改可能导致用户无法登录或权限问题,建议提前备份关键文件(如`/etc/passwd`、`/etc/shadow`)。