사용자를 생성하고 Ubuntu의 특정 웹사이트에 대한 액세스 권한을 부여합니다(Digitalocean+Serverpilot).

사용자를 생성하고 Ubuntu의 특정 웹사이트에 대한 액세스 권한을 부여합니다(Digitalocean+Serverpilot).

저는 프로그래밍에 있어서 조금 초보자인데, 이미 여러 곳을 검색했지만 찾을 수 없었기 때문에 이 포럼에 도움을 요청하고 싶습니다.

Serverpilot이 설치된 Digitalocean에 Ubuntu 서버가 있습니다. 내가 만든 유일한 사용자는 "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

관련 정보