写作目的:本文目的旨在让初学者少走弯路,全面学习Linux用户及用户组管理基础命令。
之前学习Linux用户及用户组权限管理的时候看了很多网上搜的帖子,发现大多数的帖子都是互相转来转去的,内容根本没有经过验证就随意贴出来,导致本来挺简单的命令都写错,让初学者容易实践的时候报错,还不知道应该怎么修改。这里收集了常用的Linux用户及用户组管理的比较全的命令,可做随时查阅之需。
1、建用户:
adduser ttest
//新建ttest用户(同时自动新建同名用户组ttest)
passwd ttest
//给ttest用户设置密码
id
user //显示用户信息
cat /etc/passwd
//显示所有用户信息
whoami
//查看当前登录用户名
2、建工作组
groupadd
testg //新建testg工作组
groupdel testg
//删除用户组;
groupmod
注:修改用户组信息
groups
//显示用户所属的用户组
cat /etc/group
//查看所有用户组信息
如groups ttest,显示:
ttest : ttest
3、新建用户同时添加到已有工作组testg(不能新建的工作组)
useradd ttest -g
testg -d /home/ttest -s
/sbin/nologin //新建ttest用户并增加到testg工作组
注::-g 所属组 -d 家目录 -s 所用的SHELL(nologin表示内部用户,不能外部登录)
4、给已有的用户增加工作组
usermod -G groupname
username (-G添加用户到另一个组,仅限原有组合一个附加组,重复此命令会覆盖原附加组,仅保持一个附加组)
usermod -a -G
groupname username (-a 和-G同时使用,可以添加多个附加组)
或者:
gpasswd -a username
groupname (效果同上)
5、临时关闭:使用如下命令关闭用户账号:
passwd ttest –l
重新释放:
passwd ttest –u
6、永久性删除用户和用户组
userdel
ttest (删除用户直接删除对应的同名用户组)
groupdel ttest
(单独删除用户组必须先保证用户组中没有用户)
userdel -r ttest
(删除用户、同名用户组,同时删除用户主目录)
7、从组中删除用户
编辑/etc/group 找到对应的group名那一行,删除最后的username
如:www:x:2002:ttest删除后为:www:x:2002:
这样ttest就不属于www用户组了。
或者用命令
gpasswd -d username
groupname //注意用户的主用户组无法此方法删除
如下图提示非www成员,一般直接删除用户: