linux 命令gpasswd -a,linux命令gpasswd -a和usermod -g的区别

首先分别阐述两个命令的常用用法

usermod功能:修改用户信息

用法:usermod  选项  参数  用户名

常用选项:

-c  (comment):修改用户的注释信息

-d(home directory): 修改用户的家目录

-l(login name)    :修改用户名(登录名也就是用户名)

-g(group name)    :修改用户的所属组

需要说明的是usermod修改用户的信息后,在/etc/passwd中查看,每个用户的信息由冒               号隔开的7个字段组成

gpasswd功能:添加或删除组成员

用法:gpasswd  选项  参数  组名

常用选项:

-a(add) :添加组成员

-d(delete):删除组成员

两个命令的基本用法有了,下面说明usermod -g 和 gpasswd -a 的区别,为了说明问题,这里创建一个场景

下面用两种方法创建组成员第一种

useradd  user3

groupadd studentuseradd -g student user3

[root@localhost ~]# useradd user3

[root@localhost ~]# tail -1 /etc/passwd

user3:x:503:504::/home/user3:/bin/bash

[root@localhost ~]# groupadd student

[root@localhost ~]# tail -1 /etc/group

student:x:505:

[root@localhost ~]# usermod -g studentuser3

[root@localhost ~]# tail -3 /etc/passwd

user1:x:501:501:df,fd,df,df:/home/user1:/bin/bash

user2:x:502:502::/home/user2:/bin/bash

user3:x:503:505::/home/user3:/bin/bash

[root@localhost ~]# tail -3 /etc/group

group2:x:502:user1

user3:x:504:

student:x:505:

弟二种

groupadd studentuseradd user3

gpasswd -a user3 student

在练习第二种的命令时,可以将第一种方法中建立的用户和组删除,再重新建立,避免出现问题

[root@localhost ~]# groupadd student

[root@localhost ~]# useradd user3

Creating mailbox file: File exists

[root@localhost ~]# tail -3 /etc/passwd

user1:x:501:501:df,fd,df,df:/home/user1:/bin/bash

user2:x:502:502::/home/user2:/bin/bash

user3:x:503:504::/home/user3:/bin/bash

[root@localhost ~]# tail -1 /etc/group

user3:x:504:

[root@localhost ~]# gpasswd -a user3student

Adding user user3 to group student

[root@localhost ~]# tail -2 /etc/group

student:x:503:user3

user3:x:504:

[root@localhost ~]# tail -3 /etc/passwd

user1:x:501:501:df,fd,df,df:/home/user1:/bin/bash

user2:x:502:502::/home/user2:/bin/bash

user3:x:503:504::/home/user3:/bin/bash

第一种在/ect/group中student组没有user3用户但是/etc/passwd中显示user3组id是student组的id,在创建user3用户时,默认的用户组是user3组,(在添加新用户时,如果没有指定用户的组,则自动创建一个以用户名命名的组,然后将用户添加该组中),然后使用usermod -g 修改了user3用户的基本组,将user3用户的基本组修改为student,此时student组已经成为user3用户的基本组,所以在student组中没有user3用户(/etc/group中基本组不会显示,附加组会显示),而在user3用户中的基本组id是student的id。

第二种在/etc/group中student组和user3组存在 并且student组中有user3用户,这是把user3用户添加到组student中,对添加到student组中的user3用户而言,student组是user3用户的附加组。但是请注意,user3用户添加到了student组,但是user3组仍然独立存在,这就好比一个人本来是属于开发部的,临时要调到测试部去工作,那么就要把他添加到测试部的组里,使他可以协同测试部得其他成员一起工作。但是开发部是他的基本组,仍然存在。

总结一下:gpasswd -a 是给用户添加附加组或删除附加组,是对一个用户的附加组的操作,即把一个用户添加到附加组或者把一个用户的的附加组删除,用户的基本组保持不变。

usermod -g是修改一个用户的基本组,是修改用户的基本组,即修改的是/etc/passwd的第四个字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值