Ubuntu查看用户列表及创建用户和删除用户
本文介绍ubuntu用户操作相关的内容,主要包括查看用户列表,创建及删除用户
主要针对ubuntu中带有用户文件夹:/home文件夹下的用户进行管理
获取用户列表
要操作当前用户,必须获取当前用户的列表,网上提供了很多花里胡哨的办法,涉及用户组操作,但是在web开发者使用中,只会用到普通用户和超级用户,超级用户直接使用sudo
或者切换到sudo su
进行操作,普通用户列表如何获取? 本文提供以下两个方法:
通过/home下文件夹进行识别
直接上bash
1
2
3
4
5
# 直接获取文件夹目录
ls /home
# 本地存在admin 和 devuser两个用户,执行命令以后,会有以下结果
> devuser lost+found admin
# 其中lost+found自己忽略掉就好了,其他就是我们需要的普通用户的用户名
这个方法原理简单,普通用户会创建自己的用户文件夹,直接获取/home文件夹树获得用户列表,缺点是有个lost+found比较麻烦,自己忽略掉就好了。
读取/etc/passwd文件
同样直接上代码
1
2
3
4
5
6
7
8
# 这是网上能查到的通用的命令
cat /etc/passwd
# 但是输出的结果完全不能看,对结果进行过滤
cat /etc/passwd |grep /bin/bash
# 对于上面的用户情况,输出以下内容,简单明了
> root:x:0:0:root:/root:/bin/bash
> admin:x:1000:1000:xiongfan,,,:/home/admin:/bin/bash
> devuser:x:1001:1001:,,,:/home/devuser:/bin/bash
网上盛传的对原指令的优化为cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more
同样能看到用户列表,但是要有很多其他用户组的信息,采用我的方法看起来更简单。
这个方法原理也很简单,执行一个简单的管道操作,对用户调用的bash进行过滤。
创建用户
1
2
3
4
5
6
7
8
# 创建用户,[uesrname]为你想创建的新用户的名字
sudo adduser [username]
# 按照提示设置密码及信息即可
# 给目标用户赋予root权限: 修改/etc/sudoers文件,文件内有注释,按照注释添加就可以
# 举个例子
sudo adduser dev # 创建dev用户
sudo echo 'dev ALL=(ALL) ALL' >> /etc/sudoers # 将授权语句写入文件,使用vim操作也可以,没区别
删除用户
先上命令
1
2
3
4
5
6
7
8
# 删除用户,[uesrname]为你想删除新用户的名字
sudo userdel -r [username]
# 举个例子
sudo userdel -r dev
#册除用户及其主目录和邮件代理配置文件,慎用此命令
sudo deluser username
简单介绍
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# userdel语法
userdel(选项)(参数)
# 选项
-f:# 强制删除用户,即使用户当前已登录;
-r:# 删除用户的同时,删除与用户相关的所有文件。
# 参数
用户名
#deluser语法
deluser USER
删除普通用户
例: deluser mike
--remove-home 删除用户的主目录和邮箱
--remove-all-files 删除用户拥有的所有文件
--backup 删除前将文件备份。
--backup-to <DIR> 备份的目标目录。
默认是当前目录。
--system 只有当该用户是系统用户时才删除。
delgroup GROUP
deluser --group GROUP
从系统中删除用户组
例如: deluser --group students
--system 只有当该用户组是系统用户组时才删除
--only-if-empty 只有当该用户组中无成员时才删除
deluser USER GROUP
将用户从一个组中删除
例: deluser mike students
常用选项:
--quiet | -q 不将进程信息发给 stdout
--help | -h 帮助信息
--version | -v 版本号和版权
--conf | -c 文件 以制定文件作为配置文件
锁定用户
锁定系统中原有的用户,让其不可用,需要的时候可以再解锁。
1
2
3
sudo usermod -L 用户名 #锁定用户(L表示lock)
sudo usermod -U 用户名 #解锁(U表示unlock)
本文由作者按照
CC BY 4.0
进行授权