![无法设置文件夹的读写权限,更改用户的用户组](https://linux22.com/image/1420459/%E6%97%A0%E6%B3%95%E8%AE%BE%E7%BD%AE%E6%96%87%E4%BB%B6%E5%A4%B9%E7%9A%84%E8%AF%BB%E5%86%99%E6%9D%83%E9%99%90%EF%BC%8C%E6%9B%B4%E6%94%B9%E7%94%A8%E6%88%B7%E7%9A%84%E7%94%A8%E6%88%B7%E7%BB%84.png)
我安装了一个 RAID,/mnt/NAS
名称为 。在此安装中,我得到了一个名为 的文件夹/mnt/nas/rec
。此安装与 SAMBA 共享,并将来宾用户指定为用户nobody
并绑定到组nogroup
,这可能不是理想的,但它对我的意图来说已经很好了。值得一提的是,SAMBA 用户可以在 /mnt/nas/rec 文件夹中写入和创建任意数量的目录。
我现在有了一个hts
可以写入我的/mnt/nas/rec
文件夹的用户,我首先将用户添加到组,nogroup
一切顺利,用户现在可以在 /mnt/nas/rec 内创建文件夹,很好。当用户尝试进入自己创建的文件夹时,就会出现问题,导致“权限被拒绝”。我尝试将文件夹所有权授予组,只是为了测试,chmod -R 777 * /mnt/nas/rec
这将使hts
创建的文件夹可写,但如果我随后在该文件夹中创建一个新文件夹,同样的问题仍然存在。
为什么创建此文件夹的用户无法写入?我想我必须为所有新建的文件都设置/mnt/nas/rec
“可由组写入”,但该怎么做呢?
然后我尝试了一下ls -al
,得到以下结果:
drw-rwsr-x+ 2 hts 用户 4096 8月24日 02:04 test1
显示 hts 是用户组的成员(?),然后我运行:
root@...:/mnt/nas# usermod -g nogroup hts
usermod: no changes
root@...:/mnt/nas# usermod -G nogroup hts
并在 /mnt/nas/rec 中创建了一个新文件夹,内容如下:
drw-rwsr-x+ 2 hts users 4096 Aug 24 02:17 hehehe
仍然显示“用户”为组。我很困惑。我知道有上万亿个不同的问题与此有关/类似问题,但我觉得我已经尝试了所有方法,设置了 umask 和 ACL 等等。我目前处于不知道还能尝试什么的阶段。
答案1
你的问题很乱:
- 无法设置文件夹的 rw 权限
- 更改用户的用户组
- 问题出现在当用户尝试进入自己创建的文件夹时,导致“权限被拒绝”。
- 为什么创建此文件夹的用户无法写入?
我看不出你说了什么来表明你的问题与写入权限有关。我做看:
然后我尝试了
ls -al
,结果如下:drw-rwsr-x+ 2 hts 用户 4096 8月24日 02:04 test1
和
getfacl hehehe
# 文件:呵呵呵 # 所有者: hts # 组:用户 # 标志:-s- 用户::rw- ☚ 组::rwx 组:无组:rwx 掩码::rwx 其他::rx 默认值:用户::rw- 默认:组::rwx 默认值:group:nogroup:rwx 默认值:掩码::rwx 默认:其他::rx
要以任何方式访问目录,您需要拥有“执行”( )权限。和目录x
的所有者(即)对目录没有执行权限;它只具有读写()权限。这将阻止进入目录或访问其中包含的任何文件。test1
hehehe
hts
rw-
hts
cd
我没有在你的问题中看到任何可以解释为什么会发生这种情况的内容,但是,如果所有其他用户都没有问题,我们可以假设该用户有问题hts
。“明显”的可能性是他的umask
设置错误;例如102
。(只需umask
在以身份登录时在 shell 中输入hts
。)它应该是2
或22
(即002
或022
)。