Как создать нового пользователя, который может входить в SSH и выполнять набор команд

Я пытаюсь настроить новых пользователей для определенного каталога, но я хочу, чтобы они могли видеть только один каталог (и подпапки).

Например:

У меня есть сервер со следующими каталогами:

apache-user www-data /var/sites/mercury.solar-domain.com
apache-user www-data /var/sites/venus.solar-domain.com
apache-user www-data /var/sites/earth.solar-domain.com
apache-user www-data /var/sites/mars.solar-domain.com
apache-user www-data /var/sites/jupiter.solar-domain.com
apache-user www-data /var/sites/saturn.solar-domain.com
apache-user www-data /var/sites/uranos.solar-domain.com
apache-user www-data /var/sites/neptune.solar-domain.com

Я хочу добавить нового пользователя: jupiter , который мог бы:

  • Войти на сервер через ssh
  • Может работать через ssh scp , php , mysql , rsync (например: $ mysql -u jupiter -p )
  • Единственный видимый каталог для пользователя: /var/sites/jupiter.solar-domain.com
  • Когда пользователь входит в систему (через ssh), он не может перейти в другой каталог системы. (/ usr, / root, / var / log и т. д.)

У меня есть checkout chroot и ограниченная оболочка , но я не думаю, что они подходят инструмент для меня (или, может быть, я не знаю, как их настроить).

С chroot проблема в том, что я не могу изменить группу user: в каталоге, например: apache-user www-data /var/sites/jupiter.solar-domain.com должен будет оставаясь прежним, я могу добавить jupiter в группу www-data , но я не могу изменить группу user: group папки.

С ограниченной оболочкой похоже, что пользователь будет может использовать только ограниченный набор команд, таких как scp, sftp, rsync, cvs и rdist, но я хочу, чтобы они могли использовать mysql и php.

Большое спасибо за ваше руководство по решению проблемы.

2
задан 18 January 2019 в 00:53
1 ответ

Испытайте удачу с ACL .

У вас может быть дом вашего пользователя на /var/sites/jupiter.solar-domain.com .

Затем установите ACL, чтобы также дать право apache-user и www-data для доступа к этим папкам.

Вот что вам нужно сделать:

  1. Настройте файловую систему на использование ACL
  2. Создайте своего пользователя jupiter с домашним каталог /var/sites/jupiter.solar-domain.com
  3. Ограничьте его среду (проверьте эту процедуру Redhat ) (Ограниченная оболочка - это то, что вам нужно, и вы можете добавить команды mysql и php в PATH ). Помните, что в SSH вам также необходимо указать ПУТЬ в .bashrc.
  4. Установите в своем каталоге apache-user с правами: setfacl -d -mu: apache-user: rw jupiter.solar- domain.com
  5. Так же выставил права для группы www-data .
1
ответ дан 3 December 2019 в 12:30

Теги

Похожие вопросы