2012-10-17 2 views
2

모든 명령을 사용할 수있는 일반 셸인 bash 셸에서 사용자 이름을 만들었지 만이 셸을 rsync 명령 만 허용해야하는 백업 서비스에 사용하려고합니다. 따라서이 셸을 rsync 명령 만 실행하도록 제한하려고합니다. .bash_profile.bashrc으로 어떻게해야합니까?셸 명령 제한

추가 정보 :이 셸은 파일 및 폴더 만 백업하는 데 사용됩니다. 다른 쉘을 ssh 키를 사용하여 rsync에 연결합니다.

+0

셸은 어떻게 액세스되고 있습니까? 예를 들어, ssh를 통해서라면,'authorized_keys' 파일을 사용하여 설정할 수 있습니다. –

+0

authorized_keys를 통해 명령을 제한 할 수 있습니까? 그렇다면 어떻게하면 rsync 명령을 제외한 모든 명령을 제한 할 수 있습니까? – iLinux85

+0

승인 된 키 경로로 이동하는 경우 사용자가 authorized_keys를 변경할 수 없도록 ** $ HOME **, ** $ HOME/.ssh ** 및 authorized_keys 파일 자체의 소유권을 변경해야합니다. – itsbruce

답변

3

그 파일 만 사용할 수는 없습니다. 더 적은 옵션으로 다른 쉘을 제공하지 않겠습니까? rssh은 이러한 목적으로 설계되었습니다. authorized_keys에 제한을 통해 rssh의

장점 (모든 사용자에게 적용하거나 흥미로운 일이 될 수 있음) :

  • 제한이 내 않고에서보다는부터 적용되는 둘 이상의 사용자가보다 제어 할 수 있습니다 사용자의 개인 설정 - 실수로 더 큰 액세스를 허용 할 수있는 실수 가능성이 낮음
  • chrooting 사용자를 더 쉽게 만들 수 있습니다.
  • rssh는 일반적인 목적의 쉘이 아니므로 잘못 구성된 경우에도 사용자에게 제공되는 범위는 bash + author ized_keys가 잘못 구성되었습니다.
+0

하지만 rssh는 scp 및/또는 sftp로 제한된 쉘입니다. 불행히도 rsync 명령으로 좋지 않습니다. – iLinux85

+1

rssh 명시 적으로 ** 수행 ** rsync 허용. 내가 준 링크의 두 번째 줄을 읽으십시오. – itsbruce

+0

authorized_keys 파일을 통해 명령을 제한 할 수 있습니까? 또는 이것도 할 수 없는가? – iLinux85