linux下把一个用户从某个组中删除,而不删除用户
查看当前用户/登录用户
基本语法
whoami / who am I
用户组
介绍
类似于角色,系统可以对有共性的多个用户进行统一的管理。
新增组
语法
groupadd 组名
案例演示
添加test和dev组
[root@songzuozhen ~]# groupadd test [root@songzuozhen ~]# groupadd dev |
删除组
语法
groupdel 组名
案例演示
[root@songzuozhen ~]# groupdel test [root@songzuozhen ~]# groupdel dev |
增加用户时直接加上组
语法
useradd –g 用户组 用户名
案例
[root@songzuozhen ~]# useradd -g dev xiaohong [root@songzuozhen ~]# id xiaohong uid=1003(xiaohong) gid=1002(dev) 组=1002(dev) |
修改用户的组
语法
usermod –g 用户组 用户名
案例演示
[root@songzuozhen ~]# groupadd test [root@songzuozhen ~]# usermod -g test xiaohong [root@songzuozhen ~]# id xiaohong uid=1003(xiaohong) gid=1003(test) 组=1003(test) |
用户和组的相关文件
/etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
/etc/shadow 文件
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警
告时间:不活动时间:失效时间:标志
/etc/group 文件
组(group)的配置文件,记录Linux包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表
拓展:删除组
删除组时,必须在该组没有用户的情况下进行删除。所以,我们可以把用户移除出组或者直接删除用户。
man gpasswd
语法
gpasswd(选项)(参数)gpasswd[-a user][-d user][-A user,...][-Muser,...][-r][-R]groupname
选项:
- -a:添加用户到组;
- -d:从组删除用户;
- -A:指定管理员;
- -M:指定组成员和-A的用途差不多;
- -r:删除密码;
- -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
参数组:指定要管理的工作组。实例如系统有个peter账户,该账户本身不是groupname群组的成员,使用newgrp需要输入密码即可。gpasswd groupname让使用者暂时加入成为该组成员,之后peter建立的文件group也会是groupname。所以该方式可以暂时让peter建立文件时使用其他的组,而不是peter本身所在的组。所以使用gpasswd groupname设定密码,就是让知道该群组密码的人可以暂时切换具备groupname群组功能的。
gpasswd -A peter users
这样peter就是users群组的管理员,就可以执行下面的操作:
gpasswd -a mary users
gpasswd -a allen users
注意:添加用户到某一个组 可以使用usermod -G group_name user_name这个命令可以添加一个用户到指定的组,但是以前添加的组就会清空掉。
所以想要添加一个用户到一个组,同时保留以前添加的组时,请使用gpasswd这个命令来添加操作用户:gpasswd -a user_name group_name。
*给组账号设置完密码以后,用户登陆系统,使用newgrp命令,输入给组账号设置的密码,就可以临时添加到指定组,可以管理组用户,具有组权限。格式:newgrp 【组名】
https://blog.csdn.net/hywerr/article/details/72584886
man usermod
语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
补充说明:usermod可用来修改用户帐号的各项设定。
参 数:
- -c<备注> 修改用户帐号的备注文字。
- -d登入目录> 修改用户登入时的目录。
- -e<有效期限> 修改帐号的有效期限。
- -f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
- -g<群组> 修改用户所属的群组。
- -G<群组> 修改用户所属的附加群组。
- -l<帐号名称> 修改用户帐号名称。
- -L 锁定用户密码,使密码无效。
- -s<shell> 修改用户登入后所使用的shell。
- -u<uid> 修改用户ID。
- -U 解除密码锁定。
应用举例:
1、将 newuser2 添加到组 staff 中
# usermod -G staff newuser2
2、修改 newuser 的用户名为 newuser1
# usermod -l newuser1 newuser
3、锁定账号 newuser1
# usermod -L newuser1
4、解除对 newuser1 的锁定
# usermod -U newuser1
注意(caution):
usermod不允许你改变正在线上的使用者帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序
/etc/passwd
user_name:x:uid:gid:commnet:home:shell
/etc/shadow
username:passwd:lastchg:min:max:warn:inactive:expire:flag
- --用户名
- --密码
- --从1970年1月1日起到上次修改密码所经过的天数
- --密码再过几天可以被变更(0表示随时可以改变)
- --密码再过几天必须被变更(99999表示永不过期)
- --密码过期前几天提醒用户(默认为一周)
- --密码过期几天后帐号被禁用
- --从1970年1月1日算起,多少天后账号失效
deluser USER GROUP
将用户从一个组中删除例: deluser mike students
- --quiet | -q 不将进程信息发给 stdout
- --help | -h 帮助信息
- --version | -v 版本号和版权
- --conf | -c 文件 以制定文件作为配置文件