我正在尝试设置一个小型网络服务器供个人使用。我有一个文件/srv/http/cgi-bin/
,我想以普通用户而非超级用户的身份编辑它。我尝试按照上述方法对其进行 chmod这里。结果如下:
sudo chmod 755 /srv/http/cgi-bin/ -R
[yotam@myhost ~]$ echo "h" >> /srv/http/cgi-bin/h.py
bash: /srv/http/cgi-bin/h.py: Permission denied
编辑:
以下是根据评论和答案得出的一些数据:
[yotam@myhost ~]$ sudo chmod 760 -R /srv/http/cgi-bin
Password:
[yotam@myhost ~]$ echo "hh" >> /srv/http/cgi-bin/h.py
bash: /srv/http/cgi-bin/h.py: Permission denied
[yotam@myhost ~]$ ls -ld /srv/http/cgi-bin
drwxrw---- 2 root root 4096 May 20 15:54 /srv/http/cgi-bin
此外,服务器是运行 apache2 的 Ubuntu 桌面。据我所知,我没有修改任何用户设置,所以所有参数都应该是默认参数
答案1
模式字符串似乎错误。模式字符串 755 表示
- 该文件的所有者可以读取(4)、写入(2)和执行(1)-4+2+1 = 7
- 文件组中的任何成员都可以读取(4)并执行(1)- 4 + 1 = 5
- 其他任何人都可以读取(4)并执行(1)-4 + 1 = 5
看起来你想要chmod -R 766 /src/http/cgi-bin
,但这看起来像一个非常不安全的权限设置...
答案2
您可以暂时将所有权更改为您自己,然后编辑文件并将其改回来。
sudo chown -R yotam /srv/http/cgi-bin/
编辑文件(以用户身份,而不是您需要的超级用户身份)
sudo chown -R root /srv/http/cgi-bin/