- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
1. Существует две директории
/var/www/user1
/var/www/user2
2. Есть два аккаунта, с этими домашними директориями
user1
user2
3. Настроен контроль доступа через lshell, что нельзя выйти вне этих домашних директорий из-под ssh
Вопрос: Как запретить доступ PHP скрипту иметь права на чтение вне этих директорий. Так к примеру срабатывает:
echo file_get_contents('/etc/nginx/conf.d/domain.conf');
echo shell_exec('ls /');
при запуске user1:~$php5 /var/www/user1/1.php
частный случай, если только для пхп, то, как вариант, настроить php-fpm соответствующим образом, дабы он работал под определенным uid/gid, а уже в хоумдиры, соответственно, будет ограничивать доступ ОС...
упрощенный вариант (общий случай) это настроить в апаче mpm-itk по аналогии, то есть прописать правильно AssignUserID, а далее ОС уже сама разрулит доступы...
есть еще много вариантов, к примеру nginx+php-fpm, но там все более-запущенно и требует извратов с группами, sudi-битами и прочими, так что вам это вряд ли нужно...
что такое ishell не знаю и даже нагуглить что-то сходу не получается, потому и вам рекомендую забить на него и использовать штатные средства ОС, то есть просто прописать должным образом пермишены на домашние каталоги (chmod 700).
гуглите apache+mpm-itk+AssignUserID...
r0mik, дело в том, что ваши способы уместны только для открывания php через веб-вервер. А у меня вызов идет через ssh прмой к php.
lshell это упрощенный вариант chroot. Скорее всего все это нужно ограничивать через chroot, но это слишком запаристо, так как нужно пробрасывать php в корневой каталог.
быть может задачу можно решить через safe mode, наведите на путь?
быть может задачу можно решить через safe mode, наведите на путь?
Начиная с 5.3 safe_mode устарел, а в 5.4 уже удален.
Не вполне понятно от кого Вы пытаетесь защититься и для чего.
Кто мешает, например, php при вызове из ssh запускать от нужного владельца? Которому и прописать нужные права.
Вопрос: Как запретить доступ PHP скрипту иметь права на чтение вне этих директорий.
1. В юниксо-подобных системах у прав нет запретов, есть только разрешения. Соответственно у всех файлов, которые нельзя читать юзеру нужно снять разрешения чтения для всех юзеров.
2. В зависимости от того, как PHP скрипт запускается, можно и чрутнуть перед дропом привилегий и в сэндбоксе запускать.
Кто мешает, например, php при вызове из ssh запускать от нужного владельца? Которому и прописать нужные права.
Пытаюсь разграничить доступ между программистами. Так как в ряде проектов новички получают обзор файлов всего сервера. Как разграничить права, ведь учетная запись user1 имеет доступ к обзору корневой директории сервера и всех сопутствующих файлов проекта.
Давайте я приведу пример:
/var/www/user1
/var/www/user2
1. нужно разрешить иметь полные права user1 только /var/www/user1
2. нужно запретить просмотр всех файлов, включая корневой / и /etc /var/www/user2
Как это сделать? подробнее?
Пытаюсь разграничить доступ между программистами. Так как в ряде проектов новички получают обзор файлов всего сервера. Как разграничить права, ведь учетная запись user1 имеет доступ к обзору корневой директории сервера и всех сопутствующих файлов проекта.
Давайте я приведу пример:
/var/www/user1
/var/www/user2
1. нужно разрешить иметь полные права user1 только /var/www/user1
2. нужно запретить просмотр всех файлов, включая корневой / и /etc /var/www/user2
Как это сделать? подробнее?
Настраивайте chroot, по другому в Вашей ситуации никак.
Скрипты выполняющиеся из lshell будут выполняться под правами вышестоящего bash, без вариантов.
Так что chroot-те user1 в /var/www/user1 и все будет пучком.
Ничего запаристого там нет.