Создайте пользователя и предоставьте ему доступ к определенному веб-сайту в Ubuntu (Digitalocean+Serverpilot).
Я немного новичок в программировании и хотел бы попросить помощи на этом форуме, потому что я уже искал в нескольких местах и не смог найти.
У меня есть сервер Ubuntu в Digitalocean с установленным serverpilot. Мой единственный пользователь, созданный там, - "serverpilot". Но программист запросил доступ к сайту, который я установил на этом сервере. Там он запрограммирует шаблон и внесет некоторые изменения в базу данных, а поскольку я не хотел давать логин пользователю "serverpilot", я попросил его на некоторое время создать конкретного пользователя FTP только для того, чтобы он мог получить доступ к этому сайту ( его папки и подпапки). Я исследовал, как это сделать, протестировал несколько руководств, но все еще застрял.
Мне удалось установить vsftpd и тут у меня начало сворачиваться.
Я хочу, чтобы этот новый пользователь ftp имел доступ только к определенному сайту, который находится в каталоге «/srv/users/serverpilot/apps/cronegame2/public», и с помощью этого он мог получить доступ к его папкам, подпапкам, базе данных и иметь возможность измените их, не более того. И что он может войти только через порт 21, поэтому он не может получить доступ к ROOT.
Пожалуйста, помогите мне достичь этого.
1 ответ
Чтобы создать пользователя FTP с ограниченным доступом к определенному каталогу веб-сайта, вы можете выполнить следующие действия:
Создайте нового пользователя для доступа по FTP:
sudo adduser ftpuser
Установите пароль для нового пользователя.
Создайте новую группу для доступа по FTP:
sudo groupadd ftpaccess
Добавьте пользователя FTP в новую группу:
sudo usermod -aG ftpaccess ftpuser
Измените владельца каталога веб-сайта на новую группу:
sudo chown -R serverpilot:ftpaccess /srv/users/serverpilot/apps/cronegame2/public
Измените разрешения каталога веб-сайта, чтобы новая группа могла читать, писать и выполнять:
sudo chmod -R g+rwx /srv/users/serverpilot/apps/cronegame2/public
Настройте vsftpd, чтобы разрешить доступ только к определенному каталогу и ограничить доступ к корневому каталогу:
Отредактируйте/etc/vsftpd.conf
файл и в конце добавьте следующие строки:
# Allow access only to the specific directory
chroot_local_user=YES
local_root=/srv/users/serverpilot/apps/cronegame2/public
# Restrict access to the root directory
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.allowed_users
Наконец, создайте файл /etc/vsftpd.allowed_users и добавьте в него пользователя FTP:
sudo sh -c "echo 'ftpuser' >> /etc/vsftpd.allowed_users