创建与删除
adduser
adduser
是一个交互式命令,用于创建新用户并设置初始环境。
sudo adduser 用户名
示例:
sudo adduser newuser
useradd
useradd
是一个非交互式命令,允许你通过选项指定用户的属性。
sudo useradd [选项] 用户名
常见选项:
-m
:创建用户的主目录。-d
:指定用户的主目录。-s
:指定用户的默认 shell。-G
:指定用户所属的附加组。
示例:
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
deluser
deluser
是一个交互式命令,用于删除用户及其相关文件。
sudo deluser [选项] 用户名
常见选项:
--remove-home
:删除用户的主目录及其内容。
示例:
sudo deluser --remove-home newuser
userdel
userdel
是一个非交互式命令,用于删除用户。
sudo userdel [选项] 用户名
常见选项:
-r
:删除用户及其主目录。
示例:
sudo userdel -r newuser
信息修改
usermod
usermod
命令用于修改现有用户的属性。
sudo usermod [选项] 用户名
常见选项:
-l
:修改用户名。-d
:修改用户的主目录。-s
:修改用户的默认 shell。-G
:修改用户所属的附加组。-aG
:添加用户到附加组而不移除现有组。
示例:
sudo usermod -d /home/newhome newuser
sudo usermod -aG sudo newuser
passwd
passwd
命令用于设置或修改用户的密码。
passwd [用户名]
示例:
sudo passwd newuser
chage
chage
命令用于修改用户密码的有效期和到期信息。
sudo chage [选项] 用户名
常见选项:
-l
:列出用户的密码信息。-M
:设置密码的最大有效期(天数)。-m
:设置密码的最小有效期(天数)。-W
:设置密码到期前的警告天数。
示例:
sudo chage -M 90 newuser
用户组管理
groupadd
groupadd
命令用于创建新的用户组。
sudo groupadd 组名
示例:
sudo groupadd newgroup
groupdel
groupdel
命令用于删除现有的用户组。
sudo groupdel 组名
示例:
sudo groupdel newgroup
gpasswd
gpasswd
命令用于管理 /etc/group 文件中的组成员。
-
添加用户到组
sudo gpasswd -a 用户名 组名
示例:
sudo gpasswd -a newuser newgroup
-
从组中删除用户
sudo gpasswd -d 用户名 组名
示例:
sudo gpasswd -d newuser newgroup
信息查看
id
id
命令用于显示用户的用户ID(UID)、组ID(GID)及其所属的附加组ID。
id [用户名]
示例:
id newuser
groups
groups
命令用于显示用户所属的所有组。
groups [用户名]
示例:
groups newuser
who
who
命令用于显示当前登录系统的用户信息。
who
示例:
who
切换用户
su
su
命令用于切换到另一个用户的身份,默认切换到超级用户(root)。
su [用户名]
示例:
su newuser
sudo
sudo
命令用于以超级用户权限执行命令。
sudo 命令
示例:
sudo apt update
示例完整流程
以下是一个完整的示例流程,从创建用户到设置密码、权限和查看用户信息:
# 创建用户并设置初始环境
sudo adduser newuser# 或者使用 useradd 创建用户并设置密码
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser# 将用户添加到 sudo 组
sudo usermod -aG sudo newuser# 修改用户的密码有效期
sudo chage -M 90 newuser# 创建新用户组并将用户添加到组中
sudo groupadd newgroup
sudo gpasswd -a newuser newgroup# 查看用户的信息和权限
id newuser
groups newuser# 切换到新用户身份
su newuser
通过以上命令,你可以全面管理系统中的用户和组,确保系统的安全性和用户的管理便捷性。