質問: unixパーミッション:ユーザーに関係なくファイルへのアクセスを有効にしますか? 私は長い間linuxを使用してきましたが、まだファイルパーミッションが実際にどのように機能するかについて完全に暗闇に包まれています。それを念頭に置いて、物事を完全に理解するために私が読むことができる本や完全なガイドを誰かが持っていますか?私はsysadminningをかなり共有しているので、ディレクトリの読み取りと書き込み可能、ファイルの実行可能ファイル、ファイルの所有者の変更などの簡単なことは知っていますが、ユーザー間でファイルを共有すると、迷子になります。これが私の主な問題です。音楽ライブラリを同期する予定のマシンがいくつかあります。私はしばらくの間unisonを使用していますが、セットアップしたばかりのローカルネットワーク上でssh経由で簡単に実行できるので、これは素晴らしい選択です。ウィンウィン。これまで、2tbの外付けハードドライブを使用してコンピューターを同期してきました。 (コンピューター1のユニゾンからhd、コンピューター2のユニゾンからhdなど)これはせいぜい面倒です。特にドライブを暗号化したため、すべてのマシンに接続して同期するのは非常に面倒です。とにかく、ドライブは(truecryptで)ext4を実行しているので、所有者やグループなどのすべてのunixファイルシステム情報を維持します。私はちょうど新しいマシンをセットアップし、それに音楽を入れるためにそれをユニゾンしただけでした、そして今、私の許可はすべてfubarであることに気づきました。 unisonをrootとして実行する必要があったのは、それがファイルを外部ドライブから取り出す唯一の方法だったからです。どうやら、私はこのマシンですべてのマシンで通常の「rfkrocktk」とは異なるユーザー名を使用しているので、これは本質的にギアに巨大なレンチを投げます。これが私のユースケースです。このラップトップには、「leandra」と「rfkrocktk」の2人の効果的なユーザーがいます。この2人のユーザー間で音楽を共有したいので、/ home/rfkrocktk/musicをシンボリックリンクして/ home/leandra/musicをポイントしました。 (a)両方のユーザーにこのフォルダー内のファイルの読み取り/書き込み/削除へのアクセスを許可し、(b)ファイルの所有権を台無しにすることなくすべてを適切に同期させるにはどうすればよいですか?編集私は物事をある程度機能させることができましたが、まだ完全ではありません。音楽ディレクトリのグループidをグループmedia-usersに設定し、メインユーザーrfkrocktkと共有ユーザーmt-daapdの両方をグループに追加しました。これで、rfkrocktkはファイルに完全にアクセスできますが、mt-daapdはディレクトリ内に何も表示できません。これが私のidです:$ id rfkrocktk > uid=1000(rfkrocktk) gid=1000(rfkrocktk) groups=1000(rfkrocktk),4(adm),20(dialout),24(cdrom),29(audio),46(plugdev),104(lpadmin),115(admin),120(sambashare),124(vboxusers),1001(jupiter),2002(media-users) $ id mt-daapd > uid=123(mt-daapd) gid=65534(nogroup) groups=65534(nogroup),2002(media-users) mt-daapのメイングループidをmedia-usersグループに設定しようとしましたが、何も変更されません。/home/rfkrocktk/musicディレクトリに対する私の権限は次のとおりです。drwxr-sr-- 201 rfkrocktk media-users 12288 2011-01-13 12:26 music sudo -i -u mt-daapd ls -l /home/rfkrocktk/musicを実行しても、何も生成されません。どうすればこれを修正できますか?
回答: ファイルの所有者をrootに設定し、グループを「music」のようなものに設定してから、両方が「music」グループのメンバーになるようにします。次に、音楽ディレクトリをsetgid (これは、ディレクトリに作成されたアイテムがディレクトリ自体のグループ所有権を継承することを意味します) にします。次に、ファイルのアクセス許可を0660にすると、すべて設定されます。ファイルのアクセス許可は、ユーザー、グループ、ワールドであり、多くの場合、8進数(0660など)として表示されます。ここで、1-exec2-書き込み4-読み取りこれらは追加できるため、たとえば0751は、ファイル所有者が読み取り、書き込み、および実行できることを意味します。グループは読み取りと実行が可能です。他の誰もが実行することしかできません。