在Linux中,如何添加和管理用户账户以及如何设置sudo权限?
在Linux中,添加和管理用户账户以及设置sudo权限是系统管理的基础任务。以下是详细的步骤说明:
1. 添加新用户账户:
使用 useradd 命令创建新用户
| # 添加一个名为new_user的新用户,并自动为其创建主目录 | |
| sudo useradd -m new_user | |
| # 如果想要指定家目录位置,可以使用-d选项 | |
| sudo useradd -m -d /path/to/home/new_user new_user | |
| # 同时设置初始密码(在创建用户后立刻设置密码) | |
| sudo passwd new_user | 
这里 -m 参数告诉 useradd 命令为新用户创建一个主目录(默认位于 /home/new_user 下),-d 参数则用于指定不同的主目录路径。passwd 命令用于为新用户设置密码,系统会提示输入两次密码以确认。
2. 设置sudo权限:
将用户添加到sudo组
在大多数Linux发行版中,sudo 组的成员拥有sudo权限,可以通过以下命令将新用户添加到sudo组:
| sudo usermod -aG sudo new_user | 
这里的 -aG 参数组合表示追加(append)用户到指定组(group),不移除其原有的其他组成员资格。
直接编辑sudoers文件(不推荐,有风险)
如果你需要更细致的sudo权限控制,可以直接编辑 /etc/sudoers 文件,但这通常通过 visudo 命令完成,而不是直接使用 vim 或其他文本编辑器,因为 visudo 可以确保文件在编辑过程中保持正确格式且防止意外锁定:
| sudo visudo | 
然后在编辑器中,在适当的位置(比如“用户规范”区域)添加类似以下行的内容:
| new_user ALL=(ALL) ALL | 
这条规则意味着新用户new_user可以以任何用户身份在任何主机上执行任何命令。保存并退出编辑器。
关键字和特殊符号
- ALL:通配符,匹配所有可能的值(例如所有用户、所有主机、所有命令等)。
- NOPASSWD::当此关键字出现在命令之前时,表示用户在执行该命令时不需提供密码。
- %groupname:用来指代一个用户组,如 %wheel或%admin。
- !:否定操作符,比如 !cmd表示排除某个命令。
- (user:group):指定命令应当以哪个用户或用户组的身份运行。
3. 注意事项:
- 修改 /etc/sudoers文件时务必小心,错误的配置可能会导致无法使用sudo命令甚至锁死系统。
- 在现代Linux系统中,将用户添加到sudo组通常是给予管理员权限的标准做法。
- 若想撤销sudo权限,可以从sudo组中移除用户,但不能直接从 /etc/sudoers文件中删除对应行,除非你确切知道正在做什么。
4. 其他用户管理操作:
- 
删除用户(包括其家目录): sudo userdel -r new_user 
- 
修改用户账户属性(如用户ID、组ID等): sudo usermod -u 新UID new_user sudo usermod -g 新GID new_user 
- 
查看用户信息: id new_user 
- 
切换用户: su - new_user 
或者使用 sudo 登录为其他用户(如果当前用户有sudo权限):
| sudo su - new_user | 
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号