给定一个 Linux 服务器:
- 有两个分区;一个安装在/,另一个安装在/数据。
- 有一个用户名为爱丽丝。
- 爱丽丝的uid是1001。
- 爱丽丝创建了许多私人文件/数据。也就是说,只有uid 1001的用户才能访问这些文件。
然后:
- 我干净地重新安装了linux操作系统,并将数据分区保留在/数据。
- 我创建一个名为的新用户爱丽丝。然而,uid爱丽丝不确定是 1001。假设是 1002。
现在:
爱丽丝无法访问她的文件/数据,因为她的 uid(1002) 不等于文件的 uid(1001)。
在实践中,常见的问题如何解决?
答案1
alice
创建具有uid
of 的用户1001
或将文件的所有权从 更改1001
为1002
。
创建一个具有特定的用户uid
:
useradd alice -u 1001
find
1001
和chmod
拥有的所有文件alice
(这也将更改gid
的alice
主要组):
find /data -uid 1001 -print0 | xargs -0I{} chown alice: {}
答案2
有几个选择。如果您在新系统上没有 的用户uid=1001
,请通过 更改 alice 的 uid usermod -u 1001 -g 1001 alice
。其他选项是在/data
使用时更改文件的所有权sudo find /data -uid 1001 -print0 | xargs -0 chown alice:alice
。