我们打卡ubuntu窗口,如果没有创建用户,那么默认是root用户
用户的增删改查
查
查询所有的用户列表
bash
cat /etc/passwd | cut -d: -f1
cat /etc/passwd
: 这个命令用于显示/etc/passwd
文件的内容。/etc/passwd
文件包含了系统上所有用户的基本信息。每一行都代表一个用户,格式如下:
bash
username:password:UID:GID:GECOS:home_directory:shell
|
: 这是一个管道符号,用于将一个命令的输出作为另一个命令的输入。cut -d: -f1
: 这个命令用于从输入中切割出字段。-d:
指定字段的分隔符为冒号(:
),-f1
指定要输出的字段为第一个字段。
cut
一个文本处理工具
bash
cut [-bn][file] 或 cut [-c][file] 或 cut [-df][file]
cut 命令可以通过针对某一行的信息,配合参数的控制,截取出想要的信息。它接受三种选取定位方式:字节(bytes)定位、字符(characters)定位和域(fields)定位。具体如下:
- 字节定位:选项 -b。例如,要截取每一行的第3个字符,可以执行
cut -b 3
。如果需要连续定位,如第1至第9位,可以简写为1-9
;多个定位可以用逗号隔开,如1-9,11,13
。 - 字符定位:选项 -c。以字符为单位进行分割。
- 域定位:选项 -f,并与 -d 一起使用。依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思。例如,将 PATH 变量取出,找出第五个路径,可以使用
echo $PATH | cut -d':' -f5
。
查询登录的用户
whoami
查询用户是否存在
id name
查询指定用户的详细信息
getent passwd <用户名>
添加用户
bash
useradd username
给用户指定密码
bash
passwd username
如果第一次没有给root
用户指定密码,那么我们可以先使用命令指定一个密码
修改用户
bash
usermod --help
修改用户名
bash
usermod -l new_username old_username
删除用户
删除用户
bash
userdel username
删除用户所在的目录,但是用户还在
bash
rm -rf username
用户切换
普通用户切换到root
bash
sudo -s
切换的时候我们可能会遇到以下错误
这说明当前用户没有权限来切换用户,我们可以用以下命令解决
- 我们在打卡一个root的终端
- 然后在终端中运行如下命令
bash
usermod -aG sudo zhangsan
- 这个命令表示给
zhangsan
执行sudo的命令的权限 - 检查一下张三是否拥有sudo命令权限,
bash
id zhangsan
切换到username
bash
su username
用户组
简化用户管理和权限分配,linux系统的用户组操作
查看所有的组
bash
cat /etc/group
添加用户组
bash
groupadd usergroup
删除用户组
bash
groupdel usergroup
将用户添加到用户组
bash
sudo usermod -aG newgroup username
从组中删除用户
bash
sudo gpasswd -d username newgroup
修改组属性
bash
sudo chgrp
如下,将组"newgroup"的组标识符(GID)更改为1001
bash
sudo chgrp -v 1001 newgroup