管理者が実行するデスクトップアプリケーション(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グループをsomegroupparentdirまた、ファイルおよび/またはディレクトリが別の場所からそのディレクトリに移動された場合、この方法は機能しません。

方法#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

引用する

関連情報