Как предоставить sftp доступ к подкаталогу только не к родительскому

Я хочу предоставить SFTP-доступ для пользователя tom для каталога /var/www/html/my_project/ . в то время как я не хочу предоставлять SFTP-доступ к каталогу /var/www/html/ .

в настоящее время /var/www/html/my_project/ и /var/www/html/ принадлежит пользователю apache. Мне нужно предоставить доступ только к директории /var/www/html/my_project/ как для пользователя tom, так и для apache.

После получения доступа tom может получить доступ ко всем каталогам, находящимся под / var / www / html / my_project /.

Пожалуйста, помогите мне, я боюсь с тех пор.

2 Solutions collect form web for “Как предоставить sftp доступ к подкаталогу только не к родительскому”

Я использую что-то вроде следующего в /etc/ssh/sshd_config :

 Match User tom ChrootDirectory /var/www/html/my_project/ AllowTcpForwarding no X11Forwarding no ForceCommand internal-sftp 

Затем убедитесь, что у tom есть разрешение на доступ к этому каталогу. Это может быть сложно, поскольку tom потребует, по крайней мере, «x» (выполнить) разрешения для всех каталогов выше предполагаемой директории. / var / www / html / обычно доступен для всех в большинстве вариантов Linux / Unix.

Я бы, вероятно, сделал каталог my_project принадлежащий tom , и имел tom в группе apache. Если apache работает как apache: apache (user: group), для этого должно работать следующее:

С http://www.cyberciti.biz/faq/howto-linux-add-user-to-group/

 # usermod -a -G apache tom 

Создайте весь каталог my_project принадлежащий пользователю tom и группе apache .

 # chown -R tom:apache /var/www/html/my_project/ 

Сделайте весь каталог my_project полностью доступным для записи в tom , а также читабельным / исполняемым для группы apache .

 # chmod -R 750 /var/www/html/my_project/ 

Примечание. Любые файлы, которые создает tom будут принадлежать пользователю tom и его группе по умолчанию. Вышеприведенный пример добавляет tom к группе apache , но не делает apache своей группой по умолчанию. Это означает, что сервер Apache не будет иметь доступа к новым файлам. Чтобы исправить это, сделайте apache группой по умолчанию useradd -g apache tom .

Возможно, вы можете chroot пользовательского тома в /var/www/html/my_project/ путем /var/www/html/my_project/ настройки вашего SFTP-сервера. Доступ от apache будет разрешен, а tom не сможет перейти к его chroot-директору.

Чтобы помочь вам больше, вам нужно сказать, какой сервер SFTP вы используете.

  • Загрузить файл на ftp-сервер, используя команды в сценарии оболочки?
  • Передача файлов через ssh, но без scp или sftp
  • Пользователи Chroot SFTP, которым требуется доступ к нескольким каталогам в одной родительской папке
  • Невозможно получить правильный код выхода из скрипта
  • Скрипт для получения файла из SFTP и запуска его
  • Как передать несколько файлов с общим суффиксом и префиксом с помощью смещения?
  • Пользователь, зарегистрированный sftp, не отображается в `w`
  • Почему default setfacl не работает для вложенных каталогов?
  • Могу ли я использовать `internal-sftp` при использовании сценария-оболочки с` ForceCommand` в sshd?
  • Можете ли вы scp, sftp или rsync, трубу?
  • Как использовать SFTP в скрипте для неинтерактивного вывода файла с удаленного хоста?
  • Linux и Unix - лучшая ОС в мире.