WebDAV не позволяет удалять каталоги
В общем с настройкой прав доступа я придерживался вот такого подхода:
Установка прав для директорий. А для директорий, в которые веб-сервер должен иметь возможность записывать файлы, устанавливаются права 770.
sudo find /var/www/html/maindomain.com -type d -exec chown apache:apache {} \; -print sudo find /var/www/html/maindomain.com -type d -exec chmod -R 0755 {} \; -print
Установка прав для файлов. А для файлов, которые может изменять сервер, устанавливаются права 660.
sudo find /var/www/html/maindomain.com -type f -exec chown apache:apache {} \; -print sudo find /var/www/html/maindomain.com -type f -exec chmod -R 0644 {} \; -print
Размещение двух пользователей в одной группе. Эта команда обеспечивает присвоение группы директории родительской категории при создании новых директорий и файлов внутри /var/www.
sudo find /var/www -type d -exec chmod g+s '{}' ';' -print
А эта команда добавляет права на запись для группы (в данном случае, группы apache) для указанного каталога. Таким образом все члены этой группы (включая отдельных владельцев директорий субдоменов, в данном примере subdomain.n3cr0x.com) смогут вносить изменения в указанный каталог, а выше выйти не смогут и ходить друг в другу в гости обломятся :)
sudo chmod g+w /var/www/html/maindomain.com/subdomain
Далее, я хотел выдать права доступа к субдомену определённому человеку по FTP и установил vsftpd.Я решил вопрос например с фтп учёткой так:
sudo useradd -M -G apache -b user (без дом каталога) sudo nano -w /etc/passwd
Изменить/добавить параметры для нужного пользователя, дальше я в ручную назначил ему корневой каталог/var/www/html/maindomain.com/subdomain
выше которого он уже выйти никак не сможет ни при каких обстоятельствах, он может работать только со своими данными, так как права на всёapache:apache
и юзер в группе апач, то при создании файлов и каталогов они получают права доступаkirito:apache
иkirito
иapache
по прежнему владеют правами на данные, kirito владелец/создатель и группа apache. С точки зрения безопасности всё идеально. Shell отключен, по ssh в учётку не войти, выше своего дом каталога не прыгнуть - оптимально. Указываю его корневой каталог и отрубаю ему шелл вот так/var/www/html/maindomain.com/subdonain:/sbin/nologin
sudo passwd kirito
(наваливаю ему пароль пароль) и оно заработало, юзер заходит в свой субдомен и всё что он там создаёт наследует права kirito:apacheДалее по этому мануалу. Гит хочу подключить и сделать авто-выгрузку проекта на веб сразу. Так как над проектом работают 2 человека, то им было бы оптимально иметь сразу и выхлоп и чекать друг друга.
Что непонятно мне, так это как быть вот в этом месте согласно инструкции?
Он пишет
sudo su www-data
- переключается на пользователяapache
(www-data
это Апач просто в разных дистрах он по-разному назван, но суть одна)
sudo su apache mkdir /var/www/html/maindomain.com/test Эта учетная запись в данный момент недоступна - и чё? ))
Получается переключиться наapache
я не могу, а создавать там каталоги могу в данный момент черезsudo
, то есть они в последствии получают права доступаroot:apache
и вот тут я уже хуй его знает как говорится как поступать. Из под моего юзера мне отказано в доступе, на юзераapache
я переключиться не могу так как он недоступен. То что каталоги внутри сайта получаютroot:apache
безопасно вообще с точки зрения веб сервера или нет??? Или добавить себя в группуapache
и применить сверху на нужный каталог вот этоsudo chmod g+w /var/www/html/maindomain.com/нужный_мне_каталог
??? Тогда я смогу под моим юзером создавать директории и файлы к которым в последствии будут назначены права доступаn3cr0x:apache
но главное что неroot:apache
=)Доступ по SSH только исключительно локальный, учётка root по SSH заблокирована, админка через Cockpit доступна только локально и вход через учётку root там тоже заблокирован. Доступ по SSH беспарольный через ключи, ключи на сервере и у мена на ПК. По идее вопрос стоит в конце лишь так: безопасно ли добавлять n3cr0x в группу apache если при этом он состоит в группе wheel потому что права доступа на каталоги и файлы в последствии станут n3cr0x:apache ?
- Для комментирования войдите или зарегистрируйтесь
.
Прежде чем разбираться с инструкцией стоит формализовать ТЗ.
В противном случае вероятны сюрпризы.
ЗЫ: Зачем досейчас FTP?
:wq
--
Live free or die
Оффтоп
Действительно, незачем больше. Я настроил WebDav.
Но и там сюрпризы, через авторизованного пользователя не могу удалять каталоги пустые, создать могу, а удалить нет.
С файлами таких проблем нет. Всё внутри субдомена наследует права apache:apache и уже всяко пробовал webdav настраивать, ну ничего не помогает...
Файлы создать/удалить могу, каталог только создать...
Тут у вас невозможно показать теги, они режутся форумом. То есть те что в конфиге для webdav: If и Directory
Я пробовал менять эту конфигурацию по-разному, но результата не дало никакого. Сможете подсказать может быть возможное решение?
Согласен с предыдущим
Согласен с предыдущим оратором.
В дополнение не могу понять - зачем туда ходить самому, если предполагается автовыгрузка git? Настроить её (pipeline, CI/CD и всякое такое) как надо и чтобы люди туда вообще не заходили.
Ну а
потому что shell кто-о выставил в /sbin/nologin - кто бы это мог быть?
Система, сам Апач
Я забил на это...