如何更改 QNAP NAS 上的用户 ID?

如何更改 QNAP NAS 上的用户 ID?

我有一台 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 论坛关于之后如何修复文件的讨论很多。

我的问题现在是:

  1. 我可以简单地编辑/etc/passwd和分组吗?
  2. 我如何检查我想要更改 UID 的用户是否未登录?
  3. chown -R --from=500:500 1000:1000 /path/*一旦配置文件改变,在所有文件上使用是否正确?
  4. 我如何确保 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

相关内容