Это может лучше подходить для https://askubuntu.com/.
Тем не менее, резервное копирование базы данных после каждого запроса звучит как рецепт ужасной производительности и, вероятно, не имеет реальной пользы. Настройка или изменение вашего приложения для отправки журналов аудита на другую машину, вероятно, будет более доступным.
Вы можете настроить стандартные разрешения Unix, чтобы разрешить кевину писать только в /var/www/kevin
. Для ограничения того, какие программы Кевин может запускать, вероятно, потребуется инструмент, похожий на AppArmor. , SElinux, TOMOYO или SMACK. Любой из этих инструментов обязательного контроля доступа может предотвратить выполнение пользователем ненадежных программ или предоставить дополнительный уровень безопасности поверх стандартных разрешений Unix.
Я работаю над AppArmor уже более десяти лет, и это был бы инструмент, который я бы выбрал в первую очередь для этой работы, но другие инструменты превосходны и могут лучше подойти для вашей среды. (AppArmor может быть уже предустановлен. Проверьте вывод aa-status(8)
, чтобы увидеть. :)
Но сначала убедитесь, что ваши разрешения Unix верны — они могут быть старомодными, но они превосходны.
Обновить
Но как я могу сделать так, чтобы, когда «кевин» входит в SSH, он автоматически переходил в каталог /var/www/kevin/
(и не мог переходить в /var/www/
или каталоги ниже)?
Вы можете добавить команду cd /var/www/kevin
в файл ~/.bash_profile
или ~/.profile
Кевина. Это может быть скорее раздражающим, чем полезным. (Я не рекомендую устанавливать для домашнего каталога Кевина (в /etc/passwd
) значение /var/www/kevin
, потому что в этом случае информация ~/.bash_history
и ~/.ssh/*
будет храниться в /var/www/kevin/.bash_history
и /var/www/kevin/.ssh/
, потенциально раскрывая слишком много личной информации кевина.)
Чтобы разрешить кевину войти в /var/www/kevin/
, кевин должен иметь возможность ввести /var/www
, но ему не обязательно видеть содержимое /var/www
:
root:root 755 /var
root:root 751 /var/www
kevin:kevin 755 /var/www/kevin
other:www 750 /var/www/other
priv:www 750 /var/www/private
Если ваш веб-сервер работает с группой или дополнительной группой www
, он сможет просматривать и читать все эти каталоги. Кевин не может. (Предположим, что Кевин не входит в группу или дополнительную группу www
.) Кевин может cd /var/www
, а если кевин угадывает /var/www/other
или /var/www/private
, он может определить что они существуют, но на самом деле он не может войти в каталоги или перечислить их содержимое.
person
sarnold
schedule
07.04.2011