恢复丢失的用户组

恢复丢失的用户组

相关这个问题我最近从 Linux 云机器(Ubuntu 18.04)上分离了一个磁盘。当我将其重新连接到新的虚拟机(也是 Ubuntu 18.04)时,我发现用户和组信息已丢失,并且大多数文件现在归“1003:1003”所有。

我的目标是让我的用户名(两台机器上的用户名相同)访问这些文件,但我想避免使用它chown来更改数千个文件的所有权,其中一些文件有其他所有者,也许不应该更改。所以我有两个问题:

  1. 有没有办法可以轻松地恢复将 1003 与我的用户名和组相关联的旧组信息?
  2. 假设我确实必须使用chown:如何更改所有权仅有的‘1003’ 拥有的文件?

谢谢

答案1

我最终不再拖延并尝试了一下,却发现 1003 没有出现在 /etc/passwd 或 /etc/groups 的任何地方;不知何故该用户和组在磁盘传输过程中丢失了。

我以我认为相对安全的方式解决了这个问题,方法是改变仅有的将 1003:1003 拥有的文件移交给新所有者:

这在 Ubuntu 18.04 中有效:

chown -R --from=<old_owner>:<old_group> <new_owner>:<new_group> <directory>

...但我认为一些 Linux 发行版不允许该--from标志,所以在以下情况下应该有效:

find . -user <old_user> -group <old_group> -exec chown <new_user>:<new_group> {} \;

感谢@Stephen Boston 的建议。

相关内容