用户管理命令
用户管理命令
苏丙榅1. 切换用户
Linux是一个多用户的操作系统, 可以同时登陆多个用户, 因此很多时候需要在多个用户之间切换, 用户切换需要使用
su
或者su -
。使用su
只切换用户, 当前的工作目录不会变化, 但是使用su -
不仅会切换用户也会切换工作目录, 工作目录切换为当前用户的家目录。从用户A切换到用户B, 如果还想再切换回用户A,可以直接使用
exit
。
1 | 只切换用户, 工作目录不变 |
2. 添加删除用户
作为一个普通用户是没有给系统添加新用户这个权限的, 如果想要添加新用户可以先切换到root用户, 或者基于普通用户为其添加管理员权限来完成新用户的添加。添加新用户需要使用
adduser/useradd
命令来完成。普通用户没有添加/删除用户的权限, 需要授权, 给普通用于添加sudo权限
2.1 添加新用户
1 | 添加用户 |
当新用户添加完毕之后, 我们可以切换到新添加的用户下, 用来检测是否真的添加成功了, 另外我们也可以使用其他方式来检验, 首先在
/home
目录中会出现一个和用户名同名的目录, 这就是新创建的用户的家目录, 另外我们还可以查看/etc/passwd
文件, 里边记录着新添加的用户的更加详细的信息:
2.2 删除用户
删除用户并不是将
/home
下的用户家目录删除就完事儿了, 我们需要使用userdle
命令才能删除用户在系统中的用户ID和所属组ID等相关信息,但是需要注意的是在某些Linux版本中用户虽然被删除了, 但是它的家目录却没有被删除,需要我们手动将其删除。
1 | 删除用户, 添加参数 -r 就可以一并删除用户的家目录了 |
由于Linux的版本很多, 删除用户对应的操作指令不是唯一的, 经测试在 CentOS 版本只支持 userdel命令
, 在Ubuntu中既支持 userdel 也支持 deluser命令
。
3. 添加删除用户组
默认情况下, 只要创建新用户就会得到一个同名的用户组, 并且这个用户属于这个组。一般情况下不需要创建新的用户组,如果有需求可以使用
groupadd
添加用户组, 使用groupdel
删除用户组。由于普通用户没有添加删除用户组权限,因此需要在管理员(root)用户下操作,或者在普通用户下借助管理员权限完成该操作。
1 | 基于普通用户创建新的用户组 |
如果验证用户组是否添加成功了, 可以查看 /etc/group
文件, 里边有用户组相关的信息:
在Ubuntu中添加删除用户组可以使用 addgroup/groupadd
和 delgroup/groupdel
在CentOS中添加和删除用户只能使用 groupadd
和 groupdel
我们只需要通过 which 命令名
查看,就能知道该Linux版本是不是支持使用该命令了。
4. 修改密码
Linux中设置用户密码和修改用户密码的方式是一样的, 修改用户密码又分几种情况:
修改当前用户密码
,普通用户A修改其他普通用户密码
,普通用户A修改root用户密码
,root用户修改普通用户密码
。修改密码需要使用passwd
命令。当创建了一个普通用户却没有提示指定密码, 或者忘记了用户密码都可以通过该命令来实现自己重置密码的需求。
- 当前用户修改自己的密码, 默认是有权限操作的
- 当前普通用户修改其他用户密码, 默认没有权限, 需要借助管理员权限才能完成操作
- 当前普通用户修改root用户密码, 默认没有权限, 需要借助管理员权限才能完成操作
- root用户修改其他普通用户密码, 默认有权限, 可以直接修改
1 | passwd |
通过以上介绍的相关命令我们可以知道,如果让一个普通用户可以使用管理员权限执行一些指令其实是非常危险的的, 因此普通用户默认是没有使用 sudo
的权限的, 必须授权才能使用,工作场景中授权操作一定要慎重,要三思。
5. 视频讲解
以上知识点对应的视频讲解可以关注 B站-爱编程的大丙
视频地址: https://www.bilibili.com/video/BV13U4y1p7kB