假设用户的原始UID和GID如下:
zebracall old UID: 1001
zebracall old GID: 1001
用户修改之后的UID和GID如下:
zebracall new UID: 1002
zebracall new GID: 1002
修改前准备
1、杀掉需要修改用户的所有进程,有如下几种杀掉用户进程的方法,一般建议使用root用户直接登录linux系统,或者使用具有sudo权限的用户
killall -u zebracall
pkill -u zebracall
ps -ef | grep zebracall |awk '{print $2}' | xargs kill -9
pgrep -u zebracall| xargs kill -9
修改命令:
1、修改用户的uid
usermod -u1002 zebracall
2、修改zebracall组的gid
groupmod -g1002 zebracall
3、将用户的家目录下面的文件属主和属组会在1、2命令执行后自动修改成新的uid、gid对应的属主属组,但是其他文件目录需要手动修改。手动修改的命令也比较简单。
find / -user 1001 -exec chown -h foo {} ;
find / -group 2000 -exec chgrp -h foo {} ;
这样用户和组的uid、gid就修改好了。可以用id命令看下是否修改的如我们所愿。
ls -l /home/zebracall/
id -u zebracall
id -g zebracall
grep zebracall /etc/passwd
grep zebracall /etc/group