저는 Cantos 7을 실행하는 서버를 관리하고 있습니다. 일부 사용자는 개발을 위해 ssh/sftp를 통해 서버에 로그인합니다. 나는 그들을 위해 사용자를 만들었습니다 devel
. 보안상의 이유로 특정 디렉토리로 제한해야 합니다. 그들은 다음을 할 수 있어야 합니다:
cd
,ls
,cp
,cat
,mv
, 등 의 기본 명령만 실행하세요mkdir
.rmdir
- 등
java
의 프로그램을 실행합니다 .gcc
python
devel
rwx
전체 권한( ) 으로 홈 디렉터리( )에 액세스합니다./mnt/dataspace
모든 권한으로 마운트된 하드 드라이브에 액세스합니다(rwx
).- 및 기타 일부 디렉토리( ) 에 대한 전체 액세스 권한이 있습니다
/usr/lib
./usr/src
rwx
예방하고 싶은 것 devel
:
/
,/boot
, 등과 같은 다른 모든 디렉토리에 액세스합니다/etc
./opt
/var
httpd
등과 같은 특정 서비스/데몬에 액세스합니다 .sshd
mysqld
- 위의 기본 명령을 제외한 모든 명령을 실행합니다(예: )
systemctl
.
나는 이러한 디렉터리(예: 등)가 그들에게 표시되는 것을 원하지 않거나 /
적어도 해당 디렉터리에 대한 액세스를 비활성화하는 것을 원하지 않습니다./etc
/var
할 수 있나요? 저는 여기서 많은 질문과 ACL 및 Chroot Jail erc에 관한 많은 기사, 포럼, 블로그를 읽었습니다. 예를 들어이것,이것,이것,이것,이것,이것,이것,이것,이것,이것,이것하지만 그들 중 누구도 내가 해야 할 일을 성취하도록 도와주지 않았습니다.
어떤 도움이나 조언이라도 대단히 감사하겠습니다. 도움이 절실히 필요합니다.
답변1
rbash 또는 rssh와 같은 제한된 셸을 사용하여 사용자의 기능을 제한할 수 있습니다. (또는 원하는 경우 VirtFS/jailshell) 다음은 rbash를 사용하는 RH의 예입니다.