创建一个用户
sudo useradd -m -g 组名 用户名
# 添加密码
sudo passwd 用户名
- -m * 会自动创建用户目录,不添加就不会添加用户目录,需要自己手动添加
- -g * 将该用户添加到那个组中,不加这个参数,默认以该用户名,新建一个组
删除用户
sudo userdel -r 用户名
- -r * 会自动删除用户目录
切换用户
su - 用户名
exit #退出
查看用户可以使用那些命令
cat -n /etc/group | grep 用户名
以21行为例:
sudo❌27:用户1,用户2
指的是用户1 和用户2 在组(27)可使用sudo 命令
或者可以
id 用户
注意新创建的用户没有sudo 之类的权限
比如这里的新创建的用户 test
这是后我们可以参照创建用户使用的账号的权限,为新创建的用户赋予附加组
例如:
sudo usermod -G sudo 用户名
参数 -g 是修改主组,一般是没有必要的, -G 是修改附加组
这里有个小常识:我们有时候看到
#test is not in the sudoers file. This incident will be reported.
此用户不在sudoers, 此事将被报告
这里就是没有给用户赋予该项权限,可以参照上面的处理方式添加附加组
还有一种解决修改 /etc/sudoers文件
类似这样添加
用户名 ALL=(ALL:ALL) ALL
注意这里:
40 用户:x:1000:1000:ubuntu16,,,:/home/用户:/bin/bash
x带密码 第一1000 是userid 第二个是groupid 最后一个是使用shell的类型
比如这里用的是/bin/bash
我们常用ssh连接的用户账号,通常上去所有的都是存白色的,我们上下左右都 就像
^[A]
之类的,这是因为通常新建的用户而且使用ssh 连接时,使用的shell 是/dash
用docker的同学应该有这样的经历
解决方法就是配置相应的shell
sudo usermod -s /bin/bash 用户名
#重启