Linux 서버에서 원격 ftp 액세스 권한 만있는 사용자를 작성하려면 어떻게해야합니까?


11

Ubuntu 10.04 LTS 서버를 실행 중이며 FTP에서만 서버에 액세스 할 수있는 사용자를 만들고 싶습니다.

내가 지금까지 한 일은 :

  • 설치 vsftpd
  • 기본 로그인 셸을 다음으로 설정하여 새 사용자를 만듭니다. /bin/false

서버의 일반 사용자는 모두 ftp를 통해 홈 폴더에 액세스 할 수 있지만 원격 셸 액세스가 제거 된 사용자는 /bin/falseftp로도 로그인 할 수 없도록 설정되어 있습니다.

셸 액세스가 vsftpd서버에 미치는 영향을 이해하지 못 합니까? 쉘을 다시 활성화하지 않고 어떻게 ftp 액세스를 활성화 할 수 있습니까?

업데이트 :
나는 이 참조 를 사용해야한다고 말하고 /sbin/nologin( /usr/sbin/nologin우분투 에있는 것으로 보임 ) ftp 액세스에는 영향을 미치지 않지만 내 경우에는 작동하지 않는다는 것을 알았 습니다.


/ bin / true로 설정해보십시오
balki

필자는 vsftpd를 사용한 적이 없지만 필요한 작업을 수행하는 솔루션찾았습니다 . 최선의 해결책인지 모르겠습니다 (작동해야한다고 생각하지만 더 나은 것이있을 수 있습니다).
pbm

/ bin / true를 시도했지만 작동하지 않습니다.
jmbouffard

@pbm에게 감사하지만 실제 사용자를 선호하기 때문에 내가 원하는 것이 아닙니다.
jmbouffard

답변:


12

내 자신의 질문에 대답하는 것이 좋은 방법인지 모르겠지만 ftp 로그인을 가능하게하는 간단한 해결책을 찾았습니다.

나는 라인을 추가해야

/ usr / sbin / nologin

/ etc / shells 파일에. 이 수정 직후, ftp 서버는 쉘이 / usr / sbin / nologin으로 설정된 사용자의 로그인을 허용하기 시작했습니다. 그래서 그들은 ssh를 통해 로그인 할 수 없지만 내가 원하는대로 ftp와 정확하게 작동합니다.

유용한 의견에 감사드립니다.


며칠 전에 어딘가에서 보안 취약점이 발생한다는 것을 읽었습니다. 저를 위해 이것을 분명히 할 수있는 전문가가 있습니다.
Navneil

0

설정 사용자는 뒤로 쉘 /bin/false(또는 다른 잘못된 쉘)을 설정 한 다음 /bin/false/etc/shells.

내가 볼 주요 설정과 보안 문제 /usr/sbin/nologin/etc/shells. /usr/sbin/nologin쉘로 사용하는 모든 데몬 및 로그인에 FTP (및 기타) 액세스 권한을 부여하고 있습니다 .


1
정확히 어떻게? nologin은 nologin을 허용하기 위해 존재 /etc/nologin.txt합니다. ftp 사용자가 ftp 만 또는 그와 같은 것을 알 수 있도록 선택적 사용자 정의 메시지가 있습니다.
Dani_l

vsftpd는 자체 액세스 목록을 통해 무단 액세스로부터 보호합니다.
Dani_l
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.