저는 FTP 서버를 설정하고 있는데, 직접 로그인해서 원하는 대로 할 수 있기를 원합니다. 하지만 다른 사람이 내 서버에 연결하도록 하려면 홈 디렉토리로 제한하는 자격 증명을 제공합니다. 사용자를 만들었습니다.
adduser username
passwd username
mkdir /home/user_dir
usermod -d /home/user_dir
그런 다음 및 를 활성화 chroot_local_user=YES
하고 chroot_list_enable
파일을 생성하고 그 안에 내 사용자 이름을 입력하여 전체 컴퓨터에 계속 액세스할 수 있게 했습니다.
나 자신으로 로그인하면 로그인하여 원하는 작업을 수행할 수 있지만 이 새 사용자로는 로그인할 수 없습니다. (알겠어요 530 Login Incorrect
).
정보:
리눅스 민트
vsftpd 사용
새 사용자( su newUser... password
) 로 셸에 로그인할 수 있습니다.
또한 - chroot 목록에서 자신을 제거하면
수정됨 - 쓰기 가능한 chroot를 작성하는 것을 잊어버렸습니다.500 OOPS refusing to run with writeable root inside chroot
이 오류가 새로운 사용자의 경우와 동일하다고 가정합니다. 액세스를 제한할 때 이 오류가 발생하면 어떻게 제한된 액세스를 제공합니까?
답변1
/etc/passwd 파일에서 사용자를 찾고 쉘(예: ttr:x:501:501::/home/username/ttr:/sbin/nologin)을 찾으십시오. 이 쉘을 추가하십시오(/bin/false 또는 /sbin / nologin) /etc/shell 또는 /etc/shells에 접속하여 연결을 확인하세요.
다시 시도해 보세요. 그래도 작동하지 않으면
변경하기 전에 구성 파일을 백업하십시오.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.back
그런 다음 vsftpd.conf를 편집합니다(vi 또는 nano 사용).
nano /etc/vsftpd.conf
그런 다음 다음과 같이 변경하십시오.
pam_service_name=ftp
변경 사항을 저장하고 FTP 서버를 다시 시작합니다. (nano를 사용하는 경우 CTRL+O를 누르고 Enter를 눌러 저장한 다음 CTRL+X를 눌러 종료합니다.)
sudo service vsftpd restart