我有一个名为 Ubuntu 系统的小组homeperms
,有几个用户:
$ cat /etc/group | grep "homeperms"
homeperms:x:1004:jorik,tim.wijma,vanveenjorik,jorik_c
我已经做到了$ sudo chgrp -R homeperms /home
。但当我尝试
md /home/flask.
我收到permission denied
错误(任何其他文件夹名称也会发生)。
我不想对文件夹进行 777,因为我要处理 Web 服务器的内容。
home
的权限/
drwxr-xr-x 12 vanveenjorik homeperms 4096 Jul 6 09:06 home
里面的权限/home
:
drwxr-xr-x 6 vanveenjorik homeperms 4096 Jul 3 20:08 19150
drwxr-xr-x 3 codeanywhere-ssh-key homeperms 4096 Jul 6 08:00 codeanywhere-ssh-key
drwxr-xr-x 2 vanveenjorik homeperms 4096 Jul 6 09:13 downloads
drwxr-xr-x 5 vanveenjorik homeperms 4096 Jul 4 08:43 jorik
drwxr-xr-x 4 jorik_c homeperms 4096 Jul 6 08:09 jorik_c
drwxrwxr-x 4 vanveenjorik homeperms 4096 Jul 3 20:15 mkdir_python
drwxr-xr-x 5 vanveenjorik homeperms 4096 Jul 4 09:09 tim.wijma
drwxr-xr-x 3 vanveenjorik homeperms 4096 Jul 3 18:20 ubuntu
drwxr-xr-x 5 vanveenjorik homeperms 4096 Jul 4 09:27 vanveenjorik
drwxrwxr-x 3 vanveenjorik homeperms 4096 Jul 3 22:28 venvs
我正在尝试对用户“jorik_c”执行此操作,并且sudo
(当然)可以完美地工作
在这被标记为重复之前,答案是这个问题,没有帮助。
答案1
通过输入命令chgrp -R homeperms /home
,您有效地将组所有权/home
及其下面的所有内容更改为 homeperms。
但是,该组仍然没有目录的写入访问权限。根据你的输出:
drwxr-xr-x 12 vanveenjorik homeperms 4096 Jul 6 09:06 home
请记住,文件权限显示为:所有者、组、其他人
您可以通过以下任一方法快速修复它:
# retaining (rewriting) your existing permissions + toggling the WRITE-ACCESS bit for GROUP
chmod 776 /home
# similar, accomplished the same but simplified
chmod g+w /home
答案2
如果该组刚刚创建,则用户必须重新登录才能应用该组的权限。
su -l $USER
su 更改有效用户。-l 表示我们应该将这个新 shell 变成登录 shell $USER 是一个环境变量,它应该始终是你的用户。结果与 whoami 相同
答案3
这ls -l
表明您的组仅对主目录具有 rx 权限。我认为在文件夹中创建任何内容都需要 w 权限。
您可以使用以下命令来实现此目的:
$ sudo chmod g+rwx /home
答案4
正如其他答案中提到的,确保您的组权限正确是至关重要的一步。
chmod g+w /home
但是,如果您在这些也匹配后仍然看到此情况,则可能是您在同一会话期间将用户添加到组中。注销/登录将修复此错误。
执行该id
命令可以查看当前会话用户的有效组。
例子
$ id
uid=1000(robert) gid=1000(robert) groups=1000(robert),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),109(netdev),998(docker),1001(appadmin)
请参阅这篇文章以获得详细答案。 https://askubuntu.com/questions/455000/group-permissions-allow-but-still-get-permission-denied