Rocky Linuxサーバーを使用して、次のコマンドを使用してユーザーを作成しました。
sudo adduser foobar
ユーザーはfoobar
グループのメンバーになりますfoobar
。我々は以下を介して確認することができます。
foobar$ id
uid=1111(foobar) gid=1111(foobar) groups=1111(foobar)
theuid
と the はgid
同じであることに注意してください。
これで、所有者権限は、所有しているファイルとディレクトリに対するfoobar
グループ権限と同じですか?
はい
次のディレクトリの場合、
drwxrwx--- 1 foobar foobar my_dir
奇妙なことに、グループbaz
に属していないユーザーは。foobar
my_dir
baz$ id
uid=2222(baz) gid=10000(group1),10001(group2)
baz$ touch my_dir/test # (?)
baz$ ls my_dir
test
上記の(?)行:「その他」ビットがオフのときにどのように書くことができますかbaz
?my_dir
答え1
Linuxはデフォルトのファイルモード(rwxrwxrwx)をサポートしますが、ACLリストもサポートします。私疑うbazが書き込むことができるいくつかのACLのリストを設定しました。
getfacl my_dir
状況を示すことができます。
答え2
Unix のユーザーとグループの権限は、偶然名前が同じでも数値 ID が同じでも別個です。
adduserコマンドは100%標準化されていません。一部のバージョンでは、ユーザーと一緒にグループを作成し、一部ではそうではなく、そうでないバージョンでもグループ名を指定して、ユーザーと一緒にグループを作成するように指示することがあります。 adduserの一部のバージョンは、グループ名が指定されていない場合、ユーザーを "users"グループまたは同様のデフォルトグループに割り当てます。
さらに、groupidとuseridは偶然同じです(おそらく次の使用可能な連続IDに割り当てることができます)、簡単に同期できない可能性があります。 (私はこれが迷惑で、時には修正しようとしています。)
別の答えは、タッチが機能する理由の合理的な説明を提供します。もう1つの可能性は、「テスト」ファイルがタッチされる前にすでに存在し、bazにファイルへの書き込みアクセス権がありますが、ディレクトリへのアクセス権がないか、何らかの理由でファイルがすでに存在するため、更新時に印刷エラーがないことです。時間。