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

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

저는 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. chmod o+rx나는 이것을 스크립팅하는 가장 쉬운 방법을 모르지만 가능하다고 확신합니다.

관련 정보