我有一个文件
-rw-rw-r-- 1 root mygroup 0 Sep 10 14:54 /etc/nginx/mygroup.txt
设置访问权限,以便该组mygroup
具有该文件的读写权限。mygroup
使用 进行编辑时,使用作品成员写入文件vi /etc/nginx/mygroup.txt
。但是,当我尝试使用同一用户将文本附加到文件中时
echo "blaa" >> /etc/nginx/mygroup.txt
我明白了
-sh: 3: cannot create /etc/nginx/mygroup.txt: Permission denied
包含目录的目录权限是
drwxr-xr-x 6 root root 4096 Sep 10 16:07 nginx
用户可以列出目录的内容。
为什么会发生这种情况?如何在不使用文本编辑器的情况下从 bash 添加一行到文本文件?
根据评论提供的附加信息:
用户没有 sudo 权限。
这是重复的吗为什么 sudo 不能将 stdout 重定向到 /etc/file,但 sudo 'nano' 或 'cp' 可以??我不这么认为,因为跑步
printf "blaa" | tee /etc/nginx/
也生产
tee: /etc/nginx/whitelist-jutik.txt: Permission denied
此外,所有其他建议的重复问题都是针对具有 sudo 权限的用户,所以我认为这个问题不是其中任何一个的重复问题。
编辑:发现这个问题解决了这个问题:即使有写权限,组成员也无法写入
显然组权限并未完全生效。用户再次登录解决了问题,他可以使用 vi 和 echo 写入文件。