Intereting Posts
Некоторые крепления FUSE показывают подтип, другие – нет Как я могу защитить свой Ubuntu 13.04 для предотвращения сетевых атак? Ошибка gnutls_handshake () Есть ли графическая оболочка или среда сценариев для Linux? Чтение текстового файла; Копирование текстовой строки без отступов; Заменить начало отступов с указанным текстом Каков наилучший инструмент для автоматизации 32-64-битных библиотек для Unix и Windows, создающих программное обеспечение на C ++, воспроизводимое пользователями и машинами? kvm убит oomkiller Отчеты каталогов с содержимым, которое существует в другом месте, даже если они разбросаны Сбой BSD после создания пула ZFS Как устранить неполадки при попытке выполнить ping для маршрутизатора в Linux-окне? Sudo – целевая пользовательская среда Как изменить код ключа с помощью setkeycodes Почему мой сеанс winscp не отображается в Linux? Сколько оперативной памяти, дискового пространства и времени процессора используется скриптом makepasswd не работает должным образом в Debian Stretch

Как предоставить 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 /.

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

Я использую что-то вроде следующего в /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 вы используете.