我有一台 QNAP TS-110,我可以通过 NFS 从我的 Ubuntu 系统访问它。
我猜想典型家庭网络上的 NFS 不使用任何用户身份验证。我读过各种地点我发现 Linux 机器和 NAS 上的用户具有相同的 UID 和/或 GID 非常重要。
- 现在我在 Ubuntu 上的主要用户有
uid=1000(me) gid=1000(me)
。 - 在 NAS 上,主用户有
uid=500 gid=100
我想这就是我反复遇到访问问题的原因。(是这样吗?)
我的计划是通过 SSH 进入 NAS 并使用
usermod -u <newuid> -g<newgid> <username>
问题在于 NAS 上没有usermod
安装。
在it.toolbox.com我读到过我可以简单地编辑/etc/passwd
并/etc/group
使用想要的 UID 和 GID。
在里面Fedora 论坛关于之后如何修复文件的讨论很多。
我的问题现在是:
- 我可以简单地编辑
/etc/passwd
和分组吗? - 我如何检查我想要更改 UID 的用户是否未登录?
chown -R --from=500:500 1000:1000 /path/*
一旦配置文件改变,在所有文件上使用是否正确?- 我如何确保 NAS 不会因这一更改而出现问题?
答案1
我做到了!(而且似乎有效)
因此,在我没有收到任何答复后(我在所有网站上都发布了这个问题),我继续按照计划行事。
我已经以管理员身份通过 ssh 登录了我的 NAS。
下一步是修改以下两个文件,以便我创建的所有用户的 UID 和 GID 都以 1000 开头
[~] # cat /etc/passwd
admin:x:0:0:administrators:/share/homes/admin:/bin/sh
guest:x:65534:65534:guest:/share/homes/guest:/bin/sh
httpdusr:x:99:100:Apache httpd user:/tmp:/bin/sh
mainuser:x:500:100:Linux User,,,:/share/homes/mainuser:/bin/sh
test-consumer1:x:503:100:Linux User,,,:/share/homes/test-consumer1:/bin/sh
[~] # cat /etc/group
administrators:x:0:admin
everyone:x:100:admin
变成
[~] # cat /etc/passwd
admin:x:0:0:administrators:/share/homes/admin:/bin/sh
guest:x:65534:65534:guest:/share/homes/guest:/bin/sh
httpdusr:x:99:100:Apache httpd user:/tmp:/bin/sh
mainuser:x:1000:1000:Linux User,,,:/share/homes/mainuser:/bin/sh
test-consumer1:x:1003:1000:Linux User,,,:/share/homes/test-consumer1:/bin/sh
[~] # cat /etc/group
administrators:x:0:admin
everyone:x:1000:admin
下一步是 chown 和 chgrp NAS 上的所有文件。由于可用的 find 不会执行 exec 命令,所以我自己检查了目录
lrwxrwxrwx 1 admin administ 18 May 19 14:16 Qdownload -> HDA_DATA/Qdownload/
lrwxrwxrwx 1 admin administ 20 May 19 14:16 Qmultimedia -> HDA_DATA/Qmultimedia/
lrwxrwxrwx 1 admin administ 20 May 19 14:16 Qrecordings -> HDA_DATA/Qrecordings/
lrwxrwxrwx 1 admin administ 13 May 19 14:16 Qusb -> HDA_DATA/Qusb/
lrwxrwxrwx 1 admin administ 13 May 19 14:16 Qweb -> HDA_DATA/Qweb/
lrwxrwxrwx 1 admin administ 10 May 19 14:16 b -> HDA_DATA/b/
lrwxrwxrwx 1 admin administ 15 May 19 14:16 backup -> HDA_DATA/backup/
lrwxrwxrwx 1 admin administ 13 May 19 14:16 home -> HDA_DATA/home/
lrwxrwxrwx 1 admin administ 10 May 19 14:16 m -> HDA_DATA/m/
lrwxrwxrwx 1 admin administ 10 May 19 14:16 v -> HDA_DATA/v/
[/share/HDA_DATA/] # chown -R 1000:1000 ./*
我可以一次修复所有文件和文件夹,因为只有一个主用户将文件上传到 NAS。
接下来我重新启动了 NAS,并检查以我刚刚更改的用户身份登录。
我知道这可能不是最优雅、最快或最正确的方法,但它对我来说很有效,我希望这对其他人也有帮助。
查看这里也一样。
答案2
我刚刚在搜索 QNAP 文件和文件夹访问权限时遇到了这个帖子。您也可以通过在 NAS shell 中输入以下内容来执行相同的操作:
chown -R mainuser:everyone ./*
我相信 UID 和 GID 仅特定于本地系统,但我可能错了。
:-)
答案3
我用一种简单的方法完成了这项工作,首先添加组,然后添加具有 UID 和组 ID 的用户,
我想要的组是 GID 为 1961 的 FOCUS,
我需要的用户是 UID 为 1961 的 FOCUS
(两个用户都在与我使用的软件绑定的 Linux 工作站上)
QTS 版本固件 4.5.2 1954
ssh 以管理员身份
。
[~] # addgroup -g 1961 FOCUS
[~] # adduser -u 1961 -G FOCUS FOCUS
[~] # 更改 FOCUS 的密码
[~] # 新密码:
[~] # 重新输入密码:
[~] # 管理员更改了 FOCUS 的密码
[~] # cat /etc/group
Administrators:x:0:admin
Everyone:x:100:admin,varian,cms
Guest:x:65534:guest
FOCUS:x:1961:FOCUS
[~] # cat /etc/group
Administrators:x:0:admin
Everyone:x:100:admin,varian,cms
Guest:x:65534:guest
FOCUS:x:1961:FOCUS