linux 用户账号和组管理

云淡#风清 / 2023-08-08 / 原文

useradd:创建新的用户账号。

示例:创建一个名为 "john" 的用户账号。

sudo useradd john

passwd:设置用户密码或修改密码。

示例:为用户 "john" 设置密码。

sudo passwd john

userdel:删除用户账号。

示例:删除用户 "john" 的账号。

sudo userdel john

roupadd:创建新的用户组。

示例:创建一个名为 "developers" 的用户组。

sudo groupadd developers

usermod:将用户添加到或从用户组中。

示例:将用户 "john" 添加到用户组 "developers"。

sudo usermod -aG developers john

chown:更改文件或目录的所有者。

示例:将文件 "file.txt" 的所有权赋予用户 "john"。

sudo chown john file.txt

chgrp:更改文件或目录的所属用户组。

示例:将文件 "file.txt" 的所属用户组更改为 "developers"。

sudo chgrp developers file.txt

id:显示用户的UID、GID以及所属用户组。

示例:查看用户 "john" 的UID、GID以及所属用户组。

id john

visudo:编辑sudoers文件,控制用户的sudo权限。

示例:编辑sudoers文件以授予用户 "john" sudo权限。

sudo visudo

usermod:修改用户账号的属性。

示例:将用户 "john" 的家目录更改为 "/home/john_new"。

sudo usermod -d /home/john_new john

groupdel:删除用户组。

示例:删除用户组 "developers"。

sudo groupdel developers

gpasswd:管理用户组的密码和成员。

  • 创建用户组并设置密码:sudo gpasswd -a john developers
  • 添加用户到用户组:sudo gpasswd -a username groupname
  • 从用户组中移除用户:sudo gpasswd -d username groupname

示例:创建用户组 "staff" 并设置密码,然后将用户 "john" 添加到该用户组。

sudo groupadd staff
sudo gpasswd staff
sudo gpasswd -a john staff

newgrp:切换到一个新的用户组。

示例:切换到用户组 "staff"。

newgrp staff

chage:设置用户账号的密码策略。

示例:设置用户 "john" 的密码过期时间为30天。

sudo chage -M 30 john

su 和 sudo:切换用户或以其他用户身份执行命令。

  • 切换到其他用户:su username
  • 以超级用户执行命令:sudo command

示例:切换到用户 "john"。

su john