在Linux系统中创建并管理用户

文章目录

1. 使用 useradd 命令创建用户

2. 使用 passwd 命令设置用户密码

3. 验证用户创建

4. 使用userdel删除用户

5. 使用usermod修改用户信息

6. 为用户赋予管理员权限(普通用户可以忽略)

7. 总结


在 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 系统中轻松创建、管理用户。这些命令和选项提供了灵活的用户管理功能,确保系统资源的安全和高效利用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乌托邦的逃亡者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值