Intereting Posts
Правило NAT не работает Вызовите скрипт для другого скрипта, но не выходите из родителя, если ребенок вызывает exit Удалите файлы и каталоги по их именам. Данный файл или каталог отсутствует Сценарий оболочки не работает через работу cron Обновить кеш apt-get только в том случае, если он старше определенного времени Как удалить возвращаемые каретки из имен каталогов? Sun Blade 150 с Solaris 8 прекратил загрузку с «отсутствующей или плохой парольной записи для <root>» Как добавить новый текст после каждой строки с использованием команды оболочки? Может ли pf использоваться для изменения заголовков и содержимого HTTP? Мониторинг через SSH и выполнение локального скрипта при обнаружении изменений fgrep или grep -F, какой из них лучше для переносного скрипта? Добавить команду «закончена» после использования определенной команды sudo add-apt-repository – команда не найдена (GParted Live CD) Восстановление с Live USB Убивать именованный процесс старше X минут? (нет killall -o)

Отказ "/ opt /" доступа для пользователей SFTP, отличных от определенного каталога

Это мой первый (новичок) пост здесь, в unix stackexchange. Я хочу использовать мой WebServer (Debian) в качестве SFTPServer, предоставляя доступ к определенным сотрудникам. Структура корня выглядит следующим образом:

/FTPUSERS/UserName_1 , … /FTPUSERS/UserName_N .

Мой сайт находится как обычно /opt/lampp/htdocs/SiteName . Я хочу, чтобы мои сотрудники /FTPUSERS доступ только к dir /FTPUSERS а не к другим, любым способом использования через консоли SSH / GUI-FTPClients. Является ли chroot ing правильным способом блокировать их, чтобы не переходить к другим дискам? Или есть ли другой способ их блокировки? Пожалуйста, дайте мне знать.

Еще одно небольшое сомнение возникло в отношении прав на файлы и папки в отношении LAMPP . В настоящее время пользователь и группа под / opt / lampp / htdocs / являются root and root . В этой ссылке php.net говорится, что каталоги должны работать под nobody and nobody . Это правильный способ разрешения? Просьба уточнить мои замечания. Спасибо…

EDIT :

Моя ОС – Debian Lenny 3. Демон в настоящее время является openssh-sftpserver . Мы заблокировали порт-21 для доступа ftp. Но sftp работает все еще под портом-22. Сотрудник может войти в систему через sftp and ssh на терминале. Мы хотим заблокировать режим Консоли для конкретных пользователей, только веб-мастер и корневые учетные записи должны иметь весь доступ. Мы также хотим заблокировать пользователей от навигации за пределами директории /FTPUSERS используя любые FTP-клиенты GUI, такие как WinSCP.

Посмотрите на свой sshd_config.

Возможно, вы захотите настроить внутренний chroot sftp.

/ TFTPROOT будет вашим chroot-dir.

Это более безопасно, чем tftp.

Вот хороший учебник:

http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/

Используя команду useradd с опцией -d, вы можете добавить определенного пользователя (например: ftpuser), а также его домашний каталог (/ homedir), как показано ниже:

 useradd ftpuser -d /homedir passwd ftpuser 

Вам будет предложено ввести новый пароль:

 Changing password for user <username> New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. 
  • Отредактируйте оболочку для этого пользователя в / sbin / nologin в / etc / passwd:

     vi /etc/passwd ftpuser:x:506:508::/homedir:/sbin/nologin 
  • Включение chroot_list:

     vi /etc/vsftpd/vsftpd.conf chroot_list_enable=YES (default follows) chroot_list_file=/etc/vsftpd.chroot_list 
  • Затем вам нужно добавить пользователя ftpuser в файл /etc/vsftpd.chroot_list

     vi /etc/vsftpd.chroot_list ftpuser 
  • Перезапуск vsftpd:

     /etc/init.d/vsftpd restart