Почему chmod не работает в этом случае?

Я пытаюсь установить небольшой веб-сервер для личного использования. У меня фоллер /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

Также сервер является рабочим столом Ubuntu под управлением apache2. Насколько я могу судить, я не сдерживал ни одну из пользовательских настроек, поэтому все они должны быть параметрами по умолчанию.

2 ответа

Строка режима кажется неправильной. Строка режима 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, но это похоже на очень небезопасную настройку разрешений...

Вы можете временно сменить владельца на себя, отредактировать файл и вернуть его обратно.

sudo chown -R yotam /srv/http/cgi-bin/ 

редактировать файл (как пользователь, а не как суперпользователь, как вам требуется)

sudo chown -R root /srv/http/cgi-bin/
Другие вопросы по тегам