sgid немного безопасности - PullRequest
2 голосов
/ 14 октября 2010

Я работаю в общей среде веб-разработки. Моя команда часто создает новые файлы и папки на сервере, но им всегда нужно менять права доступа группы.

Для разрешений по умолчанию для новых файлов я установил umask 002 в bashrc. НО для разрешений по умолчанию для новых каталогов:

$ sudo chmod g + s / var / www

Новые каталоги в / var / www теперь отображаются как:

drwxrwsr-x 2 пользователь www-data 4096 2010-10-14 08:49 test

Теперь эта настройка работает правильно, то есть новые файлы и каталоги доступны для записи по группам по умолчанию. Есть ли проблемы с безопасностью при использовании sgid в этой настройке? Быть особенно осторожным, потому что я не полностью понимаю риски setuid.

1 Ответ

2 голосов
/ 26 октября 2010

Насколько я понимаю ваши настройки, каждый созданный файл будет иметь права доступа 0775. Вы устанавливаете бит SGID (Set Group ID) в каталог / var / www, который заставляет любой созданный в нем файл / каталог наследовать существующийвладелец группы, а не владелец, создающий ее.Что касается бита SUID (Set User ID), то кажется, что вы его не используете, если я не ошибаюсь в вашем описании.

Я предполагаю, что у вас есть каждая пользовательская часть 'www-data'group (группа Apache по умолчанию), и теперь все работает гладко.

Риски безопасности, которые я вижу, заключаются в том, что теперь Apache (часть группы www-data) имеет полный доступ ко всем файлам в вашей сети.Корневая папка.Если у вас есть публичный скрипт с дырой в безопасности, или Apache каким-то образом скомпрометирован, вся ваша папка / var / www (как минимум) находится в ее власти.

Вместо этого я бы создал отдельную группу (скажем,«разработчики») и сделать вашу команду частью этого.Измените владельца группы вашей папки / var / www на «developers» и оставьте Apache с доступом по умолчанию («rx» для каталогов, «r--» для файлов) и выборочно назначайте более высокие разрешения только там, где вам нужно (кеш,загрузки и т. д.).

Надеюсь, это поможет, это мой первый ответ / ответ, и я уже давно не сплю :))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...