我可以在一台Linux服务器上更改用户的用户名以匹配/ etc / passwd中的另一台服务器吗?

我有一个虚拟机上的Rails应用程序(RHEL 6),它的数据库位于专用硬件(也是RHEL 6)上。

应用程序服务器有一个已安装并可访问的数据库服务器的NFS目录。 它需要将图像写入通过应用程序上传的服务器。

数据库服务器上的后台进程需要读取和写入相同的目录,因为他们在上传的文件上执行大小调整操作。

目前这一切都没有工作,因为用户ID在两个系统之间是不同的。 我只需要这个为这个应用程序工作,所以将LDAP系统放在适当的位置是太多的开销。

我可以简单地在一个系统中更改这个用户的用户名,否则会导致混乱?

更新:

修复工作,至less在本地设备上。 不幸的是,我已经挂载到主数据库服务器的设备仍然认为我的用户ID是502而不是506。我是否需要重新挂载该设备,或者有一个NFS守护进程我可以停止并重新启动来刷新它?

更改用户ID匹配应该工作。 确保您切换到的ID尚未在系统中使用。 另外请确保您更新用户主目录和文件的所有权以反映新的用户ID。

如果您使用NFS很多,那么理想情况下您还应该使用某种集中式身份validation系统,如LDAP或NIS。

我认为你的意思是编辑密码文件来改变该用户的数字UID,所以它匹配在另一个系统上的UID的数值。

这是可行的,如果属于这个用户的文件/文件夹的集合相对较小且定义明确。 请记住,所有现有的文件/文件夹都将其权限设置为原始UID。 您将需要很多chown:chgrp命令来确保所有内容都指向正确的ID。

我不完全确定ACL如何对此作出反应。 从来没有理由尝试。

最好在单用户模式下对passwd文件进行更改,然后重启系统。 这样可以防止运行软件时可能出现的问题。