RHEL4U3 用户修改问题

RHEL4U3 用户修改问题

我有一个用户名为 jsmith 的用户,她最近结婚了,希望她的登录名能够反映她的新婚名字:jdoe。我知道 usermod 会做出更改,但我担心我没有想到的后果。我想做以下事情:

mkdir /home/jdoe chown jdoe:jdoe /home/jdoe
usermod -l jdoe -m /home/jdoe jsmith cp -rp /home/jsmith/* /home/jdoe

该用户属于一个公共组,因此应该不存在 GID 问题,并且我运行了 find 命令,但没有找到她 GID 拥有的文件。

根据我的实验:usermod 命令将所有 UID 为 jsmith 的文件的所有权更改为 jdoe。没有文件具有她的 GID,因此这毫无意义。我必须手动进入 /etc/group 并在她所属的任何组中更改她的用户名。

我的问题基本上是:/etc/shadow 和 /etc/gshadow 是否需要手动更改?我是否遗漏了什么?

答案1

假设这是一个本地验证的用户(听起来像是),您应该只能更改 /etc/passwd、/etc/shadow 和 /etc/group,然后将她的旧主目录名称 mv 为新目录名称。

这样可以确保她拥有与以前相同的 UID,因此不会出现文件权限错误。她旧登录信息的唯一残留会存在于日志文件中。

答案2

用户名的改变不会改变 uid 或 guid - 所以这样做应该没有问题:

mv /home/olddir /home/newdir

usermod -l newname oldname
usermod -d /home/newdir newname

答案3

如果您确实需要更新用户 ID,可以使用 find 进行更新。例如,如果旧 UID 为 500,新 UID 为 600:

find / -user 500 -print0 | xargs -0 chown 600

相关内容