다른 사용자가 내 폴더의 파일을 복사하도록 허용하시겠습니까?

다른 사용자가 내 폴더의 파일을 복사하도록 허용하시겠습니까?

저는 Ubuntu로 작업 중이며 이 폴더에 jar 파일이 있습니다./export/home/david

machineB그리고 나는 사용자 로 로그인했습니다 david.

다른 사용자도 동일한 시스템에 로그인되어 있습니다. 그리고 다른 사용자가 내 위치에서 위의 jar 파일을 복사하기를 원합니다.

하지만 허가가 거부되었기 때문에 어떻게든 그렇게 할 수 없습니다. 누구나 해당 폴더에서 파일을 복사할 수 있도록 해당 jar 파일이나 내 폴더에 일부 권한을 추가할 수 있는 방법이 있습니까?

업데이트:-

아래는 내가 얻은 결과입니다 -

david@machineB:~$ groups david
david : uucp

otheruser@machineB:~$ groups otheruser
otheruser : app

david@machineB:~$ ls -l foo.jar
-rw-r--r-- 1 david uucp 6543346 2014-03-07 18:27 foo.jar

david@machineB:~$ ls -ld $(echo "/home/david/foo.jar" | sed -r ':a; s#(.*)/[^/]*$#\1#;p;ta')
drwxr-xr-x 22 root   root 4096 2014-05-04 08:04 /home
drwx------  4 david uucp 4096 2014-03-07 18:36 /home/david

답변1

글쎄요, 어떤 이상한 이유로 인해 귀하의 $HOME디렉토리는 귀하만 액세스할 수 있습니다. 이것은 내가 익숙한 시스템의 기본값이 아닙니다. 귀하 또는 귀하의 시스템 관리자가 아마도 이런 방식으로 설정했을 것입니다.

어쨌든, 당신이 해야 할 일은 모든 사람에게 당신의 $HOME. 이는 사람들이 자신의 작업을 공유할 수 있도록 하는 대부분의 다중 사용자 시스템의 표준입니다. 다음 명령을 실행하세요.

chmod a+rx ~/

이렇게 하면 집의 권한이 으로 설정되고 rwxr-xr-x누구나 에서 파일을 복사할 수 있습니다 $HOME.

답변2

다른 사람에게 귀하의 파일에 대한 읽기 액세스 권한을 부여하려면 해당 파일에 대한 읽기 권한과 파일로 연결되는 모든 디렉터리에 대한 실행 권한이 있어야 합니다. 예를 들어, Alice가 을(를) 읽을 수 있도록 허용하려면 Alice가 및 에 대한 읽기 권한과 실행 권한을 /home/david/for_alice/foo.jar가지고 있는지 확인해야 합니다 . 해당 디렉토리 내의 파일을 이름으로 액세스하려면 디렉토리에 대한 실행 권한이 필요합니다. 디렉토리에 있는 파일 이름을 나열하려면 디렉토리에 대한 읽기 권한이 필요합니다. 디렉터리에 대한 읽기 권한은 꼭 필요한 것은 아니지만 특히 Alice가 GUI를 사용하여 파일을 탐색하려는 경우에는 더 편리합니다.foo.jar/home/david/home/david/for_alice

현재 귀하의 홈 디렉토리에는 권한이 있습니다 rwx------. 즉, 귀하만이 그 안에 있는 파일에 액세스할 수 있습니다.

파일이 로컬이고 ACL 도구를 사용할 수 있는 경우 Alice에게 액세스 권한을 부여할 수 있습니다. 다음 명령은 Alice에게 for_alice그 아래의 모든 파일에 대한 읽기 액세스 권한을 부여하지만 홈 디렉터리에 있는 파일을 나열하는 것을 허용하지 않습니다(그녀가 이름을 추측하면 홈 디렉터리에 있는 파일에 계속 액세스할 수 있습니다).

setfacl -m user:alice:x ~
setfacl -Rd -m user:alice:rX ~/for_alice
setfacl -R -m user:alice:rX ~/for_alice

ACL이 가능하지 않은 경우 그룹 전체 또는 시스템 전체 액세스를 허용해야 합니다.

chmod +x ~
chmod -R a+rX ~/public

답변3

chmod o+r /path/to/file친구가 복사할 수 있도록 하려는 파일에 대한 전 세계 읽기 권한을 허용합니다.

chmod -R o+r /path/to/directory; find /path/to/directory -type d -exec chmod o+x {} \+다른 사용자가 /path/to/directory. Patrick이 지적했듯이 chmod o+rx모든 상위 디렉토리에도 전체 읽기 및 실행( )을 추가해야 합니다 . 나는 이것을 스크립팅하는 가장 쉬운 방법을 내 머리 꼭대기에서 알지 못하지만 가능하다고 확신합니다.

관련 정보