Права доступа к файлам Ubuntu

Права доступа к файлам Ubuntu

У меня возникли проблемы с правами доступа к файлам на сервере Ubuntu. Я использую WinSCP для перемещения файлов на сервер. Сервер работает нормально, а затем через некоторое время оказывается, что у меня больше нет прав на удаление файла.

Я подключаюсь к серверу, используя учетную запись под названиемсвадмин, а корневой каталог сервера Apache -/var/www. У каждого веб-сайта есть свой собственный каталог в этом - т.е.

/var/www/site1
/var/www/site2

Это вывод команды ls...

cd /var/www
ls -al
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 14:45 .
drwxr-xr-x  15  root     root     4096 2009-05-05 15:47 ..
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 15:15  site1
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 15:15  site2

Я так понимаю, что это означает, что владелец каталога имеет права на чтение/запись/выполнение? Когда я подключаюсь к серверу с помощью учетной записи svadmin, разве я не должен иметь возможность перезаписывать или удалять файлы в /var/www/site1 или /var/www/site2?

Я не очень хорошо знаком с правами доступа к файлам/каталогам в Linux, поэтому мне было трудно понять, что мне делать. Любая помощь была бы очень признательна!

Дополнительная информация: (спасибо за быстрые ответы!)

Вывод ls -al для /var/www/site1

drwxr-sr-x 4 svadmin svadmin 4096 2009-06-12 15:15 .
drwxr-sr-x 4 svadmin svadmin 4096 2009-06-12 14:45 ..
-rw-r--r-- 1 svadmin svadmin 157  2009-05-12 13:23 error.php
-rw-r--r-- 1 svadmin svadmin 158  2009-05-12 13:23 .htaccess
-rw-r--r-- 1 svadmin svadmin 142  2009-05-12 13:23 index.php
drwxr-sr-x 2 svadmin svadmin 4096 2009-05-12 18:40 libraries

Сообщение об ошибке при попытке удалить файл:

rm admin.php
rm: cannot remove 'admin.php' : Read-only file system

Еще больше информации Просто добавлю немного возможно важной информации... все работало до вчерашнего дня. В этот момент коллега вынул SAN, на котором находился файл виртуальной машины, и веб-сервер не очень корректно отключился.

решение1

Это не проблема с разрешениями. Две подсказки:

  • rm: невозможно удалить 'admin.php' : Файловая система только для чтения
  • Все работало до вчерашнего дня. В этот момент коллега вынул SAN, на котором находился файл виртуальной машины, и веб-сервер не очень корректно отключился.

Каким-то образом файловая система, содержащая /var/www, перешла в режим "только для чтения", вероятно, когда SAN отключился. Вывод команды mountдолжен идентифицировать эту файловую систему с флагом (ro) в конце.

Чтобы исправить ситуацию, нужно выяснить, почему это произошло, убедиться, что проблема исправлена, и перемонтировать файловую систему rw с помощью следующей команды:

mount -oremount,rw $filesystem

решение2

Если у вас есть rwx на каталоге, это означает, что вы можете редактировать файл каталога, что равносильно удалению и добавлению файлов. Редактирование файлов является функцией их индивидуальных разрешений. Как выглядит ls -l одного из подкаталогов?

решение3

Ваша проблема в липком кусочке. Обратите внимание, что завивки там нет drwxr-xr-x, они есть drwxr-sr-x. Википедия говорит:

Наиболее распространенное использование sticky bit сегодня — в каталогах, где, если он установлен, элементы внутри каталога могут быть переименованы или удалены только владельцем элемента, владельцем каталога или суперпользователем; без установленного sticky bit любой пользователь с правами записи и выполнения для каталога может переименовывать или удалять содержащиеся в нем файлы, независимо от владельца. Обычно это устанавливается для каталога /tmp, чтобы обычные пользователи не могли удалять или перемещать файлы других пользователей. Эта функция была введена в 4.3BSD в 1986 году и сегодня она встречается в большинстве современных систем Unix.

Таким образом, файлы могут быть записаны и удалены только той группой, которая их изначально туда поместила.

Связанный контент