Linux 用户账号管理-修改账号

Linux 用户账号管理-修改账号

在 Linux 系统中,用户账号管理是系统管理的重要方面之一。修改用户账号就是根据实际情况更改用户的属性,如用户号、主目录、用户组、登录 Shell 等。本文将详细介绍 Linux 系统中修改用户账号的方法及其语法、实操和各种修改用户账号方法之间的区别。

usermod 命令

修改已有用户的信息使用 usermod 命令,其语法格式如下:

usermod [Option] username

常用的选项包括 -c、-d、-g、-G、-s、-u 等,这些选项的意义与 useradd 命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用选项 -l 新用户名,这个选项指定一个新的用户名,即将原来的用户名改为新的用户名。

修改用户说明信息

用户说明信息保存在 /etc/passwd 文件中目标用户信息的第5个字段,可以使用 -c 选项修改,例如:

$ sudo usermod -c "This is a new description" username

修改用户主目录

用户主目录保存在 /etc/passwd 文件中目标用户信息的第6个字段,需要注意的是,主目录必须使用绝对路径,可以使用 -d 选项修改,例如:

$ sudo usermod -d /home/newdir username

修改用户失效日期

用户失效日期保存在 /etc/shadow 文件中目标用户密码信息的第8个字段,格式为 “YYYY-MM-DD”,可以使用 -e 选项修改,例如:

$ sudo usermod -e 2025-12-31 username

修改用户初始组

用户初始组保存在 /etc/passwd 文件中目标用户信息的第4个字段(GID),可以使用 -g 选项修改,例如:

$ sudo usermod -g newgroup username

修改用户 UID

用户 UID 保存在 /etc/passwd 文件中目标用户信息的第3个字段(UID),可以使用 -u 选项修改,例如:

$ sudo usermod -u 1001 username

修改用户附加组

用户附加组保存在 /etc/group 文件中,可以使用 -G 选项修改,例如:

$ sudo usermod -G group1,group2 username

此命令将用户 username 加入 group1group2 组。

修改登录 Shell

用户登录 Shell 保存在 /etc/passwd 文件中目标用户信息的第7个字段,可以使用 -s 选项修改,例如:

$ sudo usermod -s /bin/bash username

修改用户名

使用 -l 选项修改用户名,例如:

$ sudo usermod -l new_username old_username

此命令将原来的用户名 old_username 修改为新用户名 new_username

临时锁定和解锁用户

使用 -L 选项可以临时锁定用户,此命令与 passwd 命令的 -l 选项相同。临时锁定用户是在 /etc/shadow 文件中目标用户密码信息的第2个字段(加密密码)前添加 “!”,使密码失效。

$ sudo usermod -L username

使用 -U 选项可以解锁用户,此命令与 passwd 命令的 -u 选项相同。

$ sudo usermod -U username

表格一:usermod 命令选项

选项 描述
-c 修改用户说明信息
-d 修改用户主目录
-e 修改用户失效日期
-g 修改用户初始组
-u 修改用户 UID
-G 修改用户附加组
-s 修改登录 Shell
-l 修改用户名
-L 临时锁定用户
-U 解锁用户

表格二:默认情况下 /etc/passwd 文件的格式

字段 描述
用户名 系统中唯一标识该用户的字符串
密码 加密后的用户密码
UID 用户的数字标识符(User ID)
GID 用户的组 ID
用户说明信息 注释信息
主目录 用户登陆时所处的目录
登陆 Shell 用户登陆时所要运行的 Shell 程序

总结

本文详细介绍了 Linux 系统中修改用户账号的方法及其常用选项,包括修改用户说明信息、用户主目录、用户失效日期、用户初始组、用户 UID、用户附加组、登录 Shell、用户名、临时锁定和解锁用户等。需要注意的是,在修改用户账号信息时,一定要谨慎操作,确保不会影响到系统的正常运行。另外,对于运行中的进程和服务,也需要注意是否需要重启以应用修改后的用户账号信息。

猜你喜欢

转载自blog.csdn.net/m0_67268191/article/details/130790523