~처럼https://stackoverflow.com/questions/15143614/file-ownership-changes-to-root-after-saving-from-a-program-in-ubuntu하지만 명령줄 애플리케이션을 sudo로 실행하지 않기 때문에 답변을 사용할 수 없습니다. Mint 16 32비트의 공유 파일(로컬 공유, 즉 권한이 777이고 아무도:사용자 소유권이 없는 로컬 드라이브에서만)에서 데스크톱 응용 프로그램을 실행하고 있는데 다른 사용자가 해당 파일을 덮어쓸 수 없습니다. adminuser:adminuser 및 644가 되었습니다.
이 파일을 사용자 간에 공유하고 기본 관리 사용자가 파일을 사용할 때 소유권/권한을 전환하는 것을 방지하려면 어떻게 해야 합니까?
답변1
사용할 수 있는 기능이 없으면 sudo
기본적으로 옵션은 2개로 제한됩니다.
방법 1
사용자를 동일한 Unix 그룹( /etc/group
)에 배치하여 동일한 파일 및 디렉터리에 액세스할 수 있도록 할 수 있습니다.
예
$ more /etc/group
somegroup:x:1001:adminuser,nobody
그런 다음 파일이 포함된 상위 디렉터리를 다음과 같이 설정해야 합니다.
$ chgrp somegroup parentdir
$ chmod g+rwxs parentdir
이 방법 은 아래에 생성된 모든 파일이나 디렉터리가 parentdir
그룹을 somegroup
. parentdir
또한 파일 및/또는 디렉터리가 다른 위치에서 해당 디렉터리로 이동된 경우에는 이 방법이 작동하지 않습니다.
방법 #2
보다 안정적인 방법은 명령을 사용하여 관심 있는 파일이나 디렉터리에 대한 액세스 제어 목록(ACL)을 사용하는 것입니다 setfacl
.
$ setfacl -Rdm g:somegroup:rx somedir
$ ll -d somedir/
drwxrwxr-x+ 2 saml saml 4096 Feb 17 20:46 somedir/
그런 다음 를 사용하여 ACL이 적용되었는지 확인할 수 있습니다 getfacl
.
$ getfacl somedir/
# file: somedir/
# owner: saml
# group: saml
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:somegroup:r-x
default:mask::rwx
default:other::r-x
상위 디렉터리에 위의 권한을 설정하면 기본 ACL이 somedir
.