2

У меня есть система Linux с установленным Apache, и я храню веб-файлы в /home /username /www /sitename /htdocs. Для этого у моего /home /username есть права на чтение и выполнение для всех. Я знаю, что это плохая идея, но я единственный пользователь в системе, так что ... мне все равно, и я не знаю, как еще это сделать. Но дело в том, что мне нужно создать другого пользователя. Проблема с этим, очевидно, заключается в том, что новый пользователь имеет доступ к файлам старого пользователя. Можно ли как-то разрешить доступ к /home /username только пользователям www-data и моим собственным пользователям apaches? Вот что я попробовал:

i created a group webusers
i added my username and www-data to webusers
i removed rx permissions for everyone on /home/username
rx permissions still remain for the group on /home/username

Так не должен ли www-data получить доступ к /home /username сейчас? Он находится в той же группе, что и мой пользователь. Или все не так просто? Я читал, что есть первичные и вторичные группы, но я не понял, в чем суть ...

3 ответа3

1

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

0

Если приложению требуется доступ к объекту файловой системы, файлу или каталогу, оно должно иметь (кроме запрошенных прав на сам объект) права eXecute на все родительские каталоги. Однако он может иметь, например, права на выполнение, предоставляемые групповыми разрешениями для одного каталога и другими разрешениями для другого: нет разницы в том, как приложение получает свои права.

Поскольку разрешения для /home , вероятно, 755 (rwxr-xr-x), могут возникнуть две возможные проблемы.

Во-первых, вы должны быть уверены, что Apache действительно работает как www-data , а во-вторых, после добавления какого-либо пользователя в группу вам необходимо перезапустить все приложения, уже запущенные от имени этого пользователя, потому что Linux не просматривает /etc/passwd каждый раз ему нужно получить список групп, вместо этого он хранит список GID в структуре ядра.

Основная и дополнительная группы действительны только при применении к пользователю. Пользователь может принадлежать к любому количеству групп, но одна из них выбирается в качестве основной и назначается вновь создаваемым файлам; другие используются только для контроля прав доступа.

-2

Каждый файл и каталог имеет набор разрешений для владельца, группы и других (всех остальных).

Запустите ls -l чтобы найти, что это

Чтобы изменить разрешения, используйте chmod , чтобы изменить владельца и группу, используйте chown

Страницы man для chown и chmod дают советы по рекурсивному применению разрешений, что значительно упрощает задачу, а также синтаксис для использования.

  • Вы создаете группу (в вашем случае webusers ) и меняете владельца файлов в /home/user1/www/sitename/htdocs на user1.webusers
  • Затем измените права доступа к файлам на rw-rw---- а для каталогов и cgi - на rwxrwx---
  • user2 (новый пользователь) не сможет получить доступ к файлам, если они не являются частью группы веб-пользователей

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .