centos创建账号并分配分组
创建账号:
useradd -m testuser
其中 -m
参数表示创建用户的同时创建用户的主目录(home directory),如果不使用 -m
参数,则不会创建用户的主目录。
设置该账号密码:
passwd testuser
将该账号附加到docker分组:
usermod -aG docker testuser
usermode命令的-G和-g参数的区别?
usermod
是Linux系统中的一个命令,用于修改用户账户的属性。其中,-G
和-g
参数的区别如下:
-G
参数用于将用户添加到一个或多个辅助组中。例如,usermod -G sudo,video user1
将用户user1
添加到sudo
和video
这两个辅助组中。-g
参数用于设置用户的主组。每个用户只能有一个主组。例如,usermod -g staff user1
将用户user1
的主组设置为staff
。
需要注意的是,-g
参数设置的是用户的主组,不同于-G
参数设置的是辅助组,这两者有明显的区别。一般除非你非常确定自己在干什么,否则别用-g参数(而是使用-G参数),要不然后果可能会比较严重。
Ubuntu系统下,如果需要给这个用户以管理员权限,可以使用下面的命令:
usermod -aG sudo testuser
特别注意,如果仅使用-G参数而不是-aG参数,则该用户原有的附加组会清空,替换成只有一个附加组sudo。
CentOS系统下,却不一样,不是把用户加入到sudo组而是把用户加入到wheel组:
usermod -aG wheel testuser
还有再运行 sudo visudo 命令,确保以下这行是没有被注释的:
# %sudo ALL=(ALL:ALL) ALL #就是最前面没有井号,表示没有被注释
同样的,CentOS系统的这一行也不叫sudo而是叫wheel,确保这一行没有被注释:
%wheel ALL=(ALL) ALL
查看用户的组:
groups testuser #或者这个: id testuser
将用户移除出某个附加组:
gpasswd -d <username> <groupname>
#例如:
gpasswd -d testuser docker
上面将创建用户和设置分组分开了,也可以都放到useradd里:
useradd -m -G docker testuser
useradd -m -G docker,wheel testuser