사용자가 파일을 읽을 수만 있게 하려면 어떻게 해야 합니까?

사용자가 파일을 읽을 수만 있게 하려면 어떻게 해야 합니까?

매일 게시할 새 파일이 몇 개 있습니다.

내 동료가 이 파일을 복사하려면 내 Linux 서버에 sftp/scp를 실행해야 합니다.

나는 그 사람이 파일 삭제/이동/수행 등을 하는 것을 원하지 않습니다. 그가 할 수 있는 유일한 일은 파일을 다시 복사(scp/sftp)하는 것뿐입니다.

가장 좋은 점은 디렉토리를 전환할 수 없다는 것입니다.

이를 수행할 수 있는 방법이 있습니까?

답변1

파일이나 폴더를 읽는 데 필요한 권한이 있는 사용자 및 그룹을 생성하면 이 문제를 해결할 수 있습니다.

다음은 scp(ssh)를 통해 Linux 서버의 폴더에 대한 읽기 전용 액세스를 얻는 방법의 예입니다.

useradd <USERNAME> # no need to create a home directory, so we can skip --create-home

groupadd <GROUPNAME> # create the group that will have read-only-access to the folder

이제 생성된 사용자를 생성된 그룹에 추가하세요.

usermod -aG <GROUPNAME> <USERNAME>

이제 사용자가 액세스할 수 있는 시스템 어딘가에 폴더를 만듭니다.

mkdir <FOLDERNAME> -m rwxr-x-r 

이제 해당 폴더의 그룹을 생성된 그룹으로 변경합니다.

chgrp <GROUPNAME> </PATH/TO/FOLDER>

이제 해당 폴더에 파일을 추가할 때 필요한 권한이 있는 생성된 그룹이 해당 파일을 소유하고 있는지 확인하세요.

chmod 744 <FILENAME> 
chgrp <GROUPNAME> <PATH/TO/FILE>

이렇게 하면 사용자는 다음과 같이 scp를 통해 폴더에 액세스할 수 있습니다.

scp -r user@<IP>:/path/to/folder /local/path/

편집하다 다른 그룹의 기본 권한은 이미 744(읽기 전용)이므로 744 권한이 있는 그룹 추가를 건너뛸 수 있습니다. 이 점을 지적해주신 @symcbean에게 감사드립니다.

관련 정보