文章目录
在 Linux 系统中创建用户是一个常见的管理任务。你可以使用 useradd 命令来创建新用户,并使用 passwd 命令来设置用户的密码。以下是一些基本步骤和示例,帮助你在 Linux 系统中创建用户。
1. 使用 useradd 命令创建用户
useradd 命令用于创建新的用户账户。基本语法如下:
sudo useradd [options] username
参数说明:
- -m:创建用户的主目录(默认情况下,某些系统可能不会自动创建主目录)。
- -s:指定用户的登录 shell。
- -G:指定用户所属的附加组。
- -c:添加用户注释(如全名)。
- -u:指定用户的 UID。
示例
1)创建一个基本用户:
sudo useradd -m john
2)创建用户并指定登录 shell:
sudo useradd -m -s /bin/ john
3)创建用户并指定附加组:
sudo useradd -m -G sudo,john_group john
4)创建用户并添加注释:
sudo useradd -m -c "John Doe" john
5)创建用户并指定 UID:
sudo useradd -m -u 1001 john
2. 使用 passwd 命令设置用户密码
创建用户后,你需要为其设置密码。使用 passwd 命令可以完成这一操作:
sudo passwd john
系统会提示你输入并确认新密码:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
3. 验证用户创建
你可以使用以下命令验证用户是否已成功创建:
1)查看用户信息:
id john
2)查看用户主目录:
ls -ld /home/john
3)查看 /etc/passwd 文件:
grep john /etc/passwd
4. 使用userdel删除用户
如果需要删除用户,可以使用 userdel 命令:
sudo userdel -r john
参数说明:
- -r:删除用户的同时删除用户的主目录和邮件 spool。
5. 使用usermod修改用户信息
如果需要修改用户的属性,可以使用 usermod 命令。例如,更改用户的主目录:
sudo usermod -d /new/home/directory john
6. 为用户赋予管理员权限(普通用户可以忽略)
赋予管理员权限,就是将该用户添加到 sudo 组,这样用户就可以使用 sudo 命令执行需要超级用户权限的操作。
方法一:使用 usermod 命令将用户添加到 sudo 组
1)将用户 john 添加到 sudo 组
sudo usermod -aG sudo john
参数说明:
-a:表示追加,不会覆盖用户现有的组。
-G:指定要添加的附加组。
2)验证用户是否在 sudo 组中
可以使用 groups 命令来验证用户是否已经添加到 sudo 组:
groups john
输出应该包含 sudo 组,例如:
john : john sudo
3)测试 sudo 权限
让用户 john 登录并尝试使用 sudo 命令来执行一个需要超级用户权限的操作,例如更新软件包列表:
sudo apt-get update
系统会提示输入用户 john 的密码,如果一切正常,命令将成功执行。
方法二:编辑 /etc/sudoers 文件。
建议使用 visudo 命令来编辑该文件,因为它会在保存前检查语法错误。
基本语法
/etc/sudoers 文件的每一行通常遵循以下格式:
user_list host_list = (runas_list) tag_list command_list
参数说明:
- user_list:可以是用户名、用户组(以 % 开头)、或 ALL 表示所有用户。
- host_list:可以是主机名、网络地址、或 ALL 表示所有主机。通常在多主机环境中使用。
- runas_list:可以是用户名、用户组(以 % 开头)、或 ALL 表示所有用户。指定用户可以切换到哪个用户身份来执行命令。
- tag_list:可选,包括 NOPASSWD(允许用户在执行指定命令时不需要输入密码)、PASSWD(要求用户在执行指定命令时必须输入密码,默认行为)、NOEXEC(防止用户通过 sudo 执行的命令启动子 shell) 等标签。
- command_list:可以是具体的命令路径,或 ALL 表示所有命令。
1)编辑/etc/sudoers 文件
sudo visudo
2)常规配置
#允许用户 john 以任何用户身份无密码执行 apt-get 命令
john ALL=(ALL) NOPASSWD: /usr/bin/apt-get
#允许用户 john 执行所有命令:
john ALL=(ALL:ALL) ALL
#允许用户 alice 无密码执行所有命令:
alice ALL=(ALL:ALL) NOPASSWD: ALL
#允许用户 bob 仅执行特定命令:
bob ALL=(ALL:ALL) /usr/bin/apt-get, /usr/bin/systemctl
#允许 admin 组的用户执行所有命令:
%admin ALL=(ALL:ALL) ALL
#允许用户 charlie 仅以 root 用户身份执行特定命令:
charlie ALL=(root) /usr/bin/reboot, /usr/bin/shutdown
#禁止用户 dave 执行特定命令:
dave ALL=(ALL:ALL) ALL, !/usr/bin/vi
7. 总结
通过以上步骤,你可以在 Linux 系统中轻松创建、管理用户。这些命令和选项提供了灵活的用户管理功能,确保系统资源的安全和高效利用。