Appearance
第7章:用户与组管理
7.1 查看当前用户
whoami命令
- 功能:显示当前登录用户的用户名
- 示例:bash
$ whoami user
id命令
- 功能:显示当前用户的UID、GID以及所属的用户组
- 示例:bash
$ id uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
w命令
- 功能:显示当前登录的所有用户信息
- 示例:bash
$ w 14:30:00 up 1 day, 2:15, 2 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user tty1 12:15 2:15m 0.02s 0.02s -bash user pts/0 192.168.1.100 14:25 0.00s 0.04s 0.00s w
7.2 切换用户
su命令
- 功能:切换到其他用户
- 格式:
su [用户名] - 示例:
- 切换到root用户:bash
$ su Password: - 切换到普通用户:bash
$ su user2 Password:
- 切换到root用户:
- 注意:切换到root用户需要输入root密码
sudo命令
- 功能:以其他用户身份执行命令(默认以root身份)
- 格式:
sudo [命令] - 示例:bash
$ sudo apt update [sudo] password for user: - 注意:使用sudo需要输入当前用户的密码,并且当前用户需要在sudoers文件中
sudo权限配置
- 编辑sudoers文件:bash
$ sudo visudo - 添加用户到sudo组:bash
$ sudo usermod -aG sudo username
7.3 创建用户、删除用户
useradd命令
- 功能:创建新用户
- 常用选项:
-m:创建用户主目录-s:指定用户的默认shell-G:将用户添加到指定的用户组
- 示例:bash
$ sudo useradd -m -s /bin/bash user2
userdel命令
- 功能:删除用户
- 常用选项:
-r:同时删除用户主目录
- 示例:bash
$ sudo userdel -r user2
7.4 修改用户密码
passwd命令
- 功能:修改用户密码
- 格式:
- 修改当前用户密码:
passwd - 修改其他用户密码:
sudo passwd 用户名
- 修改当前用户密码:
- 示例:
- 修改当前用户密码:bash
$ passwd Changing password for user. Current password: New password: Retype new password: - 修改其他用户密码:bash
$ sudo passwd user2 New password: Retype new password:
- 修改当前用户密码:
密码安全
- 密码长度至少8位
- 包含大小写字母、数字和特殊字符
- 定期更换密码
- 避免使用常见密码
7.5 用户组管理
groupadd命令
- 功能:创建新用户组
- 示例:bash
$ sudo groupadd group1
groupdel命令
- 功能:删除用户组
- 示例:bash
$ sudo groupdel group1
usermod命令
- 功能:修改用户属性
- 常用选项:
-g:修改用户的主要组-G:将用户添加到附加组-d:修改用户主目录-s:修改用户默认shell
- 示例:
- 将用户添加到附加组:bash
$ sudo usermod -aG group1 user - 修改用户的主要组:bash
$ sudo usermod -g group1 user
- 将用户添加到附加组:
groups命令
- 功能:显示用户所属的所有组
- 示例:bash
$ groups user user : user group1 sudo
7.6 实战:创建普通用户并分配sudo权限
步骤1:创建新用户
创建用户并设置主目录:
bash$ sudo useradd -m -s /bin/bash newuser设置用户密码:
bash$ sudo passwd newuser New password: Retype new password:
步骤2:分配sudo权限
将用户添加到sudo组:
bash$ sudo usermod -aG sudo newuser验证sudo权限:
bash$ su - newuser $ sudo apt update [sudo] password for newuser:
步骤3:测试用户切换
从root用户切换到普通用户:
bash$ su - newuser从普通用户切换到root用户:
bash$ su Password:使用sudo执行命令:
bash$ sudo ls -la /root
步骤4:删除测试用户
退出测试用户:
bash$ exit删除测试用户及其主目录:
bash$ sudo userdel -r newuser验证用户是否删除成功:
bash$ id newuser id: ‘newuser’: no such user
实战练习:用户与组管理
查看当前用户:
bash$ whoami $ id创建一个新用户:
bash$ sudo useradd -m testuser设置用户密码:
bash$ sudo passwd testuser创建一个新用户组:
bash$ sudo groupadd testgroup将用户添加到用户组:
bash$ sudo usermod -aG testgroup testuser查看用户所属的组:
bash$ groups testuser切换到新用户:
bash$ su - testuser $ whoami退出新用户:
bash$ exit删除用户和用户组:
bash$ sudo userdel -r testuser $ sudo groupdel testgroup
通过学习用户与组管理,你将能够更好地管理Linux系统的用户和权限,提高系统的安全性和可管理性。
