Создайте пользователя и предоставьте ему доступ к определенному веб-сайту в Ubuntu (Digitalocean+Serverpilot)

Создайте пользователя и предоставьте ему доступ к определенному веб-сайту в 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

Связанный контент