- Вопрос или проблема
- Ответ или решение
- Как создать FTP-пользователей с ограниченным доступом к домашнему каталогу в Ubuntu 12.04
- Введение
- Шаги по созданию пользователя FTP
- 1. Создание пользователя
- 2. Установка пароля
- 3. Настройка VSFTPD
- 4. Настройка прав доступа
- 5. Перезагрузка VSFTPD
- Проверка безопасности
- Заключение
Вопрос или проблема
У меня сервер Ubuntu 12.04, и я установил службу VSFTPD для FTP.
Я пытаюсь создать FTP-пользователя, который имеет доступ только к директории /var/www/ и ко всем правам для подкаталогов.
FTPUser не должен иметь доступ к каким-либо основным / верхним уровням директориям и файлам.
На данный момент я сделал следующее.
- Я создал пользователя с именем FTPUser1
- Я изменил домашнюю директорию для FTPUser1 на /var/www/
- Я отредактировал файл /etc/vsftpd.conf и установил chroot_local_user=YES
- Перезапустил службу vsftpd
После всех этих действий мой FTPUser1 все равно может получить доступ к верхним уровням директориям и файлам.
Пожалуйста, дайте мне знать, как я могу заблокировать доступ к верхним уровням?
Как владелец/root, выполните:
chmod 700 -r [directory]
700
означает, что только владелец имеет полный доступ, -r
означает применить правила к подкаталогам. Вы также захотите:
chown user:user -r [/path/to/dir]
Команда chown
изменяет владельца. user:
– это имя пользователя, который станет владельцем; :user
– это группа.
(Не знаю, почему вопрос 2014 года снова появляется на главной странице, но все равно 😀 )
Возможно, не лучшая идея изменять общие права доступа к остальной файловой системе, как было предложено в другом ответе. Лучший способ – использовать функцию, называемую “chroot”.
“chroot”, сокращение от “change root”, просто делает это: он меняет корень дерева директорий, к которому (FTP) пользователь может получить доступ, в то, что администратор хочет, чтобы это было. Иногда эту же функцию называют “тюремным” размещением пользователя в его домашней директории.
Большинство FTP-серверов поддерживают chroot (за исключением некоторых очень маленьких, минимальных). Я не очень знаком с vsftpd, но согласно этому руководству на Cybercity, вам нужно установить директиву конфигурации chroot_local_user
на 1
.
Ответ или решение
Как создать FTP-пользователей с ограниченным доступом к домашнему каталогу в Ubuntu 12.04
Введение
В данной статье мы рассмотрим, как создать FTP-пользователя с ограниченным доступом только к каталогу /var/www/
в серверной среде Ubuntu 12.04 с использованием сервиса VSFTPD. Задача заключается в том, чтобы предоставить пользователю доступ только к указанному каталогу и при этом заблокировать доступ к другим уровням файловой системы.
Шаги по созданию пользователя FTP
Следуя этим шагам, вы сможете создать FTP-пользователя с необходимыми ограничениями:
1. Создание пользователя
Сначала необходимо создать нового пользователя (например, FTPUser1
) с домашним каталогом, установленным на /var/www/
. Для этого выполните следующую команду:
sudo useradd -d /var/www/ -s /usr/sbin/nologin FTPUser1
2. Установка пароля
Установите пароль для нового пользователя с помощью команды:
sudo passwd FTPUser1
3. Настройка VSFTPD
Теперь переходим к настройкам VSFTPD. Откройте файл конфигурации серверной программы:
sudo nano /etc/vsftpd.conf
Проверьте и измените следующие строки:
chroot_local_user=YES
allow_writeable_chroot=YES
- Опция
chroot_local_user=YES
позволяет ограничить пользователя его домашним каталогом. allow_writeable_chroot=YES
гарантирует, что пользователи смогут записывать в корне их «внутреннего» чroot-директории.
4. Настройка прав доступа
Для того чтобы пользователь мог получить доступ только к каталогу /var/www/
, необходимо правильно настроить права доступа к этому каталогу. Выполните следующие команды:
sudo chown -R FTPUser1:FTPUser1 /var/www/
sudo chmod -R 750 /var/www/
chown
: изменяет владельца каталога и всех его подкаталогов наFTPUser1
.chmod
: устанавливает разрешения, позволяющие владельцу читать и записывать, а группе только читать. Остальным пользователям доступ запрещён.
5. Перезагрузка VSFTPD
После внесения всех изменений необходимо перезапустить сервис VSFTPD:
sudo service vsftpd restart
Проверка безопасности
После выполнения всех шагов, рекомендуется протестировать доступ FTP-пользователя с помощью FTP-клиента (например, Filezilla). Убедитесь, что FTPUser1
видит только каталоги и файлы внутри /var/www/
и не имеет возможности навигации в другие каталоги.
Заключение
Теперь вы успешно создали FTP-пользователя с ограниченным доступом к каталогу /var/www/
. Следуя этому гид, вы сможете обеспечить как безопасность, так и функциональность вашего FTP-сервера.
Если у вас есть дополнительные вопросы или вам требуется помощь, не стесняйтесь обращаться за информацией.