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命令是Linux下工作组文件/etc/group和/etc/gshadow管理工具。

语法

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  解除密码锁定。

usermod 不 允 许 你 改 变 正 在线 上 的 使 用 者 帐 号 名 称 。 当 usermod 用 来 改 变 user ID, 必 须 确 认 这 名 user 没 在 电 脑 上 执 行 任 何 程 序。 你 需 手 动 更 改 使 用 者 的 crontab 档 。 也 需 手 动 更 改 使 用 者 的 at 工 作 档 。 采 用 NIS server 须 在 server 上 更 动 相 关 的 NIS 设 定 。
应用举例:

 

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日算起,多少天后账号失效
原文链接:http://blog.51cto.com/11886896/1833312f-empty 只有当该用户组中无成员时才删除  
deluser USER GROUP
  将用户从一个组中删除
  例: deluser mike students 常用选项:
  •   --quiet | -q   不将进程信息发给 stdout
  •   --help | -h  帮助信息
  •   --version | -v 版本号和版权
  •   --conf | -c 文件 以制定文件作为配置文件
原文链接:https://blog.csdn.net/u014801157/article/details/50932747
上一篇:用户管理


下一篇:学习用户管理的一点命令