관리자가 실행하는 데스크톱 애플리케이션(Sudo를 명시적으로 사용하지 않음)은 공유 파일의 파일 소유권을 갖습니다.

관리자가 실행하는 데스크톱 애플리케이션(Sudo를 명시적으로 사용하지 않음)은 공유 파일의 파일 소유권을 갖습니다.

~처럼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.

인용하다

관련 정보