Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

文件权限问题

Featured Replies

我已经给用户读写权限了,但是为什么新下载的文件,或者appdata里的新的文件都不能有编辑权限。我是电脑smb连接到unraid上的。每次都要unraid里重新给权限,烦死了!到底怎么设置才可以?

9 hours ago, xing said:

我已经给用户读写权限了,但是为什么新下载的文件,或者appdata里的新的文件都不能有编辑权限。

 

这个问题很经典,正好借助这个话题来给看到这个帖子的朋友们分享一下其中的逻辑。

1. 起因

使用 SMB 去编辑文件提示没有权限的情况,很多时候都是由于用户组没有可编辑权限导致,而如果你访问的这些文件属于某一个 Docker 应用所创建,那么很有可能是由于 UMASK 变量所设置的值不包含用户组的可编辑权限,从而导致了 SMB 用户所属的用户组权限不足,进而无法编辑文件。

 

首先,大家需要对 Linux 的文件权限有一个大概的了解,这里我提供一些参考的资料给大家自行去学习——参考资料-1参考资料-2(你也可以自行搜索资料去了解)。

 

其次,当我们使用 SMB 协议去访问 UNRAID 上的文件时,我们需要有相应的权限才能够对文件进行增删改查,很多时候这个权限主要取决于使用 SMB 的这个用户的所属用户组权限,用户组权限不够就会有权限不足的提示。

 

接着,如果你需要编辑的文件是某一个 docker 应用所创建出来,那么你就需要首先考虑安装这个 docker 应用时有没有配置 UMASK 变量(并不是所有的 docker 都会需要配置 UMASK 变量)。如果有配置的话,那么你需要检查变量的值是能让用户组有编辑的权限(关于 UMASK 的简单解释可以看这里,同样的你也可以自行搜索资料去了解)。另外对于新手朋友,我也推荐你了解一下 UNRAID 上正确安装 Docker 的步骤,具体的文章请看本末尾的参考资料。

 

2. 实际例子

这里我以 qBittorrent 为例进行讲解,因为这个应用绝大多数的 NAS 用户都会进行安装。下面是一个从 APPS 安装的 QB 应用的配置参数(Linuxserver/qbittorrent),大家需要重点关注的是 UMASK 这个设置(关于 PUID/GUID 的说明请看末尾的参考资料):

 

Snipaste_2023-12-17_02-24-13.thumb.png.a7dbd80904f07cd5fcaf45ca25b5e524.png

 

UMASK 设置为 022 这个值之后,假设我利用 QB 下载一个文件,那么文件被创建出来后的默认权限是:

 

文件夹:rwxr-xr-x

Snipaste_2023-12-17_02-23-03.thumb.png.b80d8d07084c2797632be0ef595095bb.png

 

文件:rw-r--r-- 

Snipaste_2023-12-17_02-33-03.thumb.png.8a65c72951cf7218b507a7b475be4221.png

 

也就是说,只有文件拥有者有完整的【读写】权限(rwx),组或者其他用户只有【读】权限(r--),这也就意味着当你通过 SMB 尝试去对 QB 所创建出来的文件进行编辑的时候是没有权限的,因为使用 SMB 协议的用户所在的组权限不足(如下图),原因就是由于 UMASK 的值导致

 

Snipaste_2023-12-17_03-00-07.png.574f9c4db10fa1a2dfeb733b93269cd4.png

 

如果我此时使用以下命令,为 QB 下载目录内的所有文件/文件夹添加所属组可编辑权限(w):

 

chmod -R g+w ./downloads

 

然后我再进行编辑的时候就没有权限不足的提示了:

 

Snipaste_2023-12-17_03-04-13.png.9e0e688dfa28d61533697fd20003b8b3.png

 

Snipaste_2023-12-17_03-07-27.png.d6eca9e3a6c945f8e91706b23473f5f0.png

 

如果我将 UMASK 的值设置为 002 ,那么此时所属组的权限包含了读写的权限(rw):

 

Snipaste_2023-12-17_03-17-00.thumb.png.06ec95f049218f7089596585b73876a8.png

 

此时使用 SMB 协议去编辑也没有权限不足的提示:

 

Snipaste_2023-12-17_03-19-04.png.aadba9af6b91addaffa00268f65ef0b5.png

 

所以,当我们通过 SMB 去对 UNRAID 上的文件进行编辑时如果出现权限不足的情况,很多时候就是由于用户组权限不够导致。

3. 解决办法

首先,你可以将 Docker 变量中的 UMASK 的值设置为 002 ,这样 docker 应用创建出来的文件可以被 SMB 的用户进行编辑。

 

接下来,如果你需要对现有文件的权限进行调整,那么你可以借助 Fix Common Problem 插件处理,参考这里

 

另外,你也可以使用 chmod 命令进行单独的处理,此方式比较适合处理 appdata 内的文件。因为默认情况下 appdata 内存储着各种 docker 应用的配置文件夹,有些 docker 应用需要有特定的用户权限才能正常运行,所以不能随便利用工具对所有 appdata 内的文件进行统一的改动,具体的说明看这里

4. 其他参考资料

Edited by JackieWu

  • Author

谢谢,详细回答。我也不知道哪个docker需不需要设置权限。只能一个个看了

  • 4 weeks later...

码住,下次不用到处搜了

  • 3 months later...
On 12/17/2023 at 4:02 AM, JackieWu said:

 

这个问题很经典,正好借助这个话题来给看到这个帖子的朋友们分享一下其中的逻辑。

1. 起因

使用 SMB 去编辑文件提示没有权限的情况,很多时候都是由于用户组没有可编辑权限导致,而如果你访问的这些文件属于某一个 Docker 应用所创建,那么很有可能是由于 UMASK 变量所设置的值不包含用户组的可编辑权限,从而导致了 SMB 用户所属的用户组权限不足,进而无法编辑文件。

 

首先,大家需要对 Linux 的文件权限有一个大概的了解,这里我提供一些参考的资料给大家自行去学习——参考资料-1参考资料-2(你也可以自行搜索资料去了解)。

 

其次,当我们使用 SMB 协议去访问 UNRAID 上的文件时,我们需要有相应的权限才能够对文件进行增删改查,很多时候这个权限主要取决于使用 SMB 的这个用户的所属用户组权限,用户组权限不够就会有权限不足的提示。

 

接着,如果你需要编辑的文件是某一个 docker 应用所创建出来,那么你就需要首先考虑安装这个 docker 应用时有没有配置 UMASK 变量(并不是所有的 docker 都会需要配置 UMASK 变量)。如果有配置的话,那么你需要检查变量的值是能让用户组有编辑的权限(关于 UMASK 的简单解释可以看这里,同样的你也可以自行搜索资料去了解)。另外对于新手朋友,我也推荐你了解一下 UNRAID 上正确安装 Docker 的步骤,具体的文章请看本末尾的参考资料。

 

2. 实际例子

这里我以 qBittorrent 为例进行讲解,因为这个应用绝大多数的 NAS 用户都会进行安装。下面是一个从 APPS 安装的 QB 应用的配置参数(Linuxserver/qbittorrent),大家需要重点关注的是 UMASK 这个设置(关于 PUID/GUID 的说明请看末尾的参考资料):

 

Snipaste_2023-12-17_02-24-13.thumb.png.a7dbd80904f07cd5fcaf45ca25b5e524.png

 

UMASK 设置为 022 这个值之后,假设我利用 QB 下载一个文件,那么文件被创建出来后的默认权限是:

 

文件夹:rwxr-xr-x

Snipaste_2023-12-17_02-23-03.thumb.png.b80d8d07084c2797632be0ef595095bb.png

 

文件:rw-r--r-- 

Snipaste_2023-12-17_02-33-03.thumb.png.8a65c72951cf7218b507a7b475be4221.png

 

也就是说,只有文件拥有者有完整的【读写】权限(rwx),组或者其他用户只有【读】权限(r--),这也就意味着当你通过 SMB 尝试去对 QB 所创建出来的文件进行编辑的时候是没有权限的,因为使用 SMB 协议的用户所在的组权限不足(如下图),原因就是由于 UMASK 的值导致

 

Snipaste_2023-12-17_03-00-07.png.574f9c4db10fa1a2dfeb733b93269cd4.png

 

如果我此时使用以下命令,为 QB 下载目录内的所有文件/文件夹添加所属组可编辑权限(w):

 

chmod -R g+w ./downloads

 

然后我再进行编辑的时候就没有权限不足的提示了:

 

Snipaste_2023-12-17_03-04-13.png.9e0e688dfa28d61533697fd20003b8b3.png

 

Snipaste_2023-12-17_03-07-27.png.d6eca9e3a6c945f8e91706b23473f5f0.png

 

如果我将 UMASK 的值设置为 002 ,那么此时所属组的权限包含了读写的权限(rw):

 

Snipaste_2023-12-17_03-17-00.thumb.png.06ec95f049218f7089596585b73876a8.png

 

此时使用 SMB 协议去编辑也没有权限不足的提示:

 

Snipaste_2023-12-17_03-19-04.png.aadba9af6b91addaffa00268f65ef0b5.png

 

所以,当我们通过 SMB 去对 UNRAID 上的文件进行编辑时如果出现权限不足的情况,很多时候就是由于用户组权限不够导致。

3. 解决办法

首先,你可以将 Docker 变量中的 UMASK 的值设置为 002 ,这样 docker 应用创建出来的文件可以被 SMB 的用户进行编辑。

 

接下来,如果你需要对现有文件的权限进行调整,那么你可以借助 Fix Common Problem 插件处理,参考这里

 

另外,你也可以使用 chmod 命令进行单独的处理,此方式比较适合处理 appdata 内的文件。因为默认情况下 appdata 内存储着各种 docker 应用的配置文件夹,有些 docker 应用需要有特定的用户权限才能正常运行,所以不能随便利用工具对所有 appdata 内的文件进行统一的改动,具体的说明看这里

4. 其他参考资料

请问我使用smbuser(我创建的用于samba访问的用户)凭据在windows上访问smb后,对文件进行修改时,系统仍然提示我文件访问被拒绝,需要提供smbuser的权限才能对此文件进行更改(问题是我已经使用smbuser进行登录了。。)。这种情况需要进行哪些操作呢。

image.png.6d34ffa88632535c0b3c27025ce28406.png

1 minute ago, 0vector0 said:

请问我使用smbuser(我创建的用于samba访问的用户)凭据在windows上访问smb后,对文件进行修改时,系统仍然提示我文件访问被拒绝,需要提供smbuser的权限才能对此文件进行更改(问题是我已经使用smbuser进行登录了。。)。这种情况需要进行哪些操作呢。

image.png.6d34ffa88632535c0b3c27025ce28406.png

 

 

常见问题-11:SMB 文件权限问题

  • 6 months later...

收藏一下,感谢JackieWu

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.