매일 게시할 새 파일이 몇 개 있습니다.
내 동료가 이 파일을 복사하려면 내 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에게 감사드립니다.