1

我知道已经有很多这样的问题,但我仍然找不到以下问题的答案。


资源

  • 我有两个用户
    • erik
    • www-data
  • 我有一个文件
    • /home/erik/foo.yaml

列出组

erik@erik:~$ groups erik
erik : erik www-data # ... and other irrelevant groups
erik@erik:~$ groups www-data
www-data : www-data erik

列出权限

erik@erik:~$ ls -lhd foo.yaml
-rwxrwx--- 1 www-data www-data 216 jan  4 15:43 foo.yaml

没有权限

erik@erik:~$ echo "foo" > foo.yaml 
bash: foo.yaml: Permission denied
erik@erik:~$ cat foo.yaml 
cat: foo.yaml: Permission denied

身份证输出

erik@erik:~$ id
uid=1000(erik) gid=1000(erik) grupper=1000(erik) # ... other irrelevant groups

问题

为什么我在这里获得许可被拒绝?

4

3 回答 3

1

将新用户添加到组时,您需要注销并重新登录才能访问组权限。或者newgrp可以在本地环境中做同样的事情。

于 2013-01-04T16:04:58.757 回答
0
erik@ubuntu-vm:~$ groups erik
erik : erik www-data
erik@ubuntu-vm:~$ groups www-data
www-data : www-data erik
erik@ubuntu-vm:~$ ls -l /tmp/foo.yaml 
-rwxrwx--- 1 www-data www-data 3 Jan  4 18:49 /tmp/foo.yaml
erik@ubuntu-vm:~$ echo "Hi" > /tmp/foo.yaml 
erik@ubuntu-vm:~$ cat /tmp/foo.yaml 
Hi

我认为您在文件中有一些属性。您可以粘贴以下命令的输出吗:

lsattr /path/to/file
于 2013-01-04T15:37:00.837 回答
-1

-rwxrwx--- 1 www-data www-data 216 jan 4 15:43 foo.yaml

这里文件的所有者是“www-data”,您的记录为“erik”,由于这个被拒绝的权限问题即将到来。尝试使用命令“chown username somefile”更改文件所有权。或者您可以使用 sudo 命令,例如 'sudo echo "foo" > foo.yaml'

于 2013-01-04T15:51:16.940 回答