![다른 사용자가 내 폴더에서 파일을 복사하도록 허용하시겠습니까?](https://linux55.com/image/36576/%EB%8B%A4%EB%A5%B8%20%EC%82%AC%EC%9A%A9%EC%9E%90%EA%B0%80%20%EB%82%B4%20%ED%8F%B4%EB%8D%94%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%B3%B5%EC%82%AC%ED%95%98%EB%8F%84%EB%A1%9D%20%ED%97%88%EC%9A%A9%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
저는 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
나는 이것을 스크립팅하는 가장 쉬운 방법을 모르지만 가능하다고 확신합니다.