linux下删除某个组下的某个用户(删除用户的附加组)
一、在LINUX下我们都知道,一个用户可以属于多个用户组,让用户属于多个用户组,我们可以有多种实现方法,如下:
1、假设系统已经存在testGroup1,testGroup2两个用户组,现在要新增一个用户testUser1,同时让testUser1属于testGroup1,testGroup2两个用户组
useradd -G testGroup1,testGroup2 testUser1
2、假设系统已经存在testGroup1,testGroup2两个用户组和一个用户testUser1,现在要把testUser1加到testGroup1,testGroup2两个用户组中
usermod -a -G testGroup1,testGroup2 testUser1
或者
usermod -a -G testGroup1 testUser1
usermod -a -G testGroup2 testUser1
注意:
这里必须要加上-a这个参数,表示追加组的意思,如果不加-a,比如执行usermod -G testGroup1,testGroup2 testUser1,那 testUser1就只除了 testUser1组外,就只剩下 testGroup1,testGroup2两个组,如果是个新的用户还无所谓,那假设testUser1以前还属于ftp和root组,执行 usermod -G testGroup1,testGroup2 testUser1命令以后,testUser1这时已经不属于ftp和root组了。
二、用户属于多个组,那怎么修改用户的附加组呢?或者怎么把用户从某个组中删除?也有多种实现方法,如下:
假设testUser1用户现在属于testUser1,testGroup1,testGroup2,testGroup3,testGroup4组
1、usermod -G "" testUser1
这是清空用户testUser1所有的追加组,执行该命令以后testUser1只属于testUser1这个默认组,不管testUser1以前有多少个附加组。
2、gpasswd -d testUser1 testGroup2
删 除用户testUser1的testGroup2所属组,即把用户testUser1从testGroup2 组中剔除,执行以后用户testUser1属于testUser1,testGroup1,testGroup3,testGroup4组,注 意,gpasswd -d只能一个组一个组操作,如果要删除多个组则只能操作多次
3、usermod -G testGroup2,testGroup3 testUser1
让 用户testUser1的附加组变成testUser1,testGroup1,testGroup4,这个命令有点类似usermod -G "" testUser1,只不过usermod -G "" testUser1是清空,而usermod -G testGroup2,testGroup3 testUser1 则是把 testGroup2,testGroup3以外的组清空,而保留testGroup2,testGroup3。因为gpasswd -d 一次只能删除一个,所以用这种方法可以一步直达。
转载于:https://blog.51cto.com/liuymiss520/1396021