Linux中修改用户UID和组GID的方法

我在上篇博文部署mfsmaster的高可用的时候,在iscsi的一个客户端server1挂载了/dev/sda1(mount  /dev/sda1  /var/lib/mfs),并且提前配置了/dev/sda1的所属用户,所属组及/dev/sda1中的所有内容的所属用户,所属组都为mfs。这样在iscsi的另外一个客户端server4挂载/dev/sda1(mount  /dev/sda1  /var/lib/mfs)的时候,/var/lib/mfs目录中的所有内容都是server1端配置的内容。不过因为之前安装完软件后自动生成的mfs用户的用户uid、gid都是系统自动生成的,server1端和server4端mfs用户的uid、gid可能不一样,所以现在需要把这个uid、gid都设置成统一某个值。

 

从上图我们可以看到server4端挂载/dev/sda1(mount  /dev/sda1  /var/lib/mfs)之后,启动moosefs-master服务失败。这是什么原因呢?

很有可能是/var/lib/mfs目录中的内容某些地方出现问题,所导致的。

我们查看/var/lib/mfs目录中的内容,查看结果如下:

从上图我们看到/var/lib/mfs目录中所有内容的所属用户是994,所属用户是990。我们在server1端明明是配置过的呀,怎么会出现这种问题呢?

很有可能是server1端,和server4端的mfs用户的uid和gid不同导致的。

自然而然的,我们要查看server1端mfs用户的uid,gid和server4端mfs用户的uid,gid。查看结果如下:

从上图,我们可以看到server1端mfs用户的uid是994,gid是990;而server4端mfs用户的uid是997,gid是995。

那我们就可以断定原因是,uid,gid不一致导致的。

我们server1端和server4端安装的是同样的软件,为什么系统自动生成的mfs用户的uid和gid会出现不一致的呢?

我们查看server1端和server4端存放用户uid和gid的文件(/etc/passwd)

  • server1端

我们看到是因为之前做zabbix实验时,安装zabbix软件后自动生成的zabbix用户的uid是997,gid是995。

所以我们在修改mfs用户的uid和gid之前,先删除zabbix用户,释放uid997和gid995。

那么我们接下来的任务就是,修改一端的uid,gid。我们这里修改server1端mfs用户的uid,gid。

 

修改用户uid和组gid的命令分别是usermod和groupmod,思路很简单。先使用usermod修改用户的uid,然后使用groupmod修改组的gid,最后使用chown和chgrp命令修改原来用户文件和目录的属主属组。

例如测试用户mfs和测试组mfs。

mfs old UID: 994
mfs new UID: 997
mfs old GID: 990
mfs new GID: 995

命令:

1、修改mfs用户的uid
[root@server1 mfs]# usermod -u 997 mfs   #修改mfs用户的uid为997



2、修改mfs组的gid
[root@server1 mfs]# groupmod -g 995 mfs   #修改mfs用户的gid为995



3、mfs用户的家目录下面的文件属主和属组会在1、2命令执行后自动修改成新的uid、gid对应的属主属组,但是其他文件目录需要手动修改。手动修改的命令也比较简单。
[root@server1 mfs]# find / -user 994 -exec chown -h mfs {} \;
[root@server1 mfs]# find / -group 997 -exec chgrp -h mfs {} \;

在这里最主要的是/var/lib/mfs目录中的内容,上述只是修改了/下内容,并没有修改/var/lib/mfs目录中的内容
[root@server1 ~]# chown -R mfs.mfs /var/lib/mfs   #此时/dev/sda1挂载在/var/lib/mfs目录下。(相当于修改的是/dev/sda1的所属用户和所属组)
[root@server1 ~]# umount /dev/sda1
[root@server1 ~]# chown -R mfs.mfs /var/lib/mfs   #修改/var/lib/mfs目录本身及其内部内容的所属用户和所属组


这样用户和组的uid、gid就修改好了。可以用id命令看下是否修改的如我们所愿。
# id -u mfs
# id -g mfs
# grep mfs /etc/passwd
# grep mfs /etc/group
下面以id为例
[root@server1 mfs]# id mfs   #查看mfs用户的uid和gid,以确保修改成功
uid=997(mfs) gid=995(mfs) groups=995(mfs)

然后server4端重新挂载即可。

 

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值