私はこのトピックに関する記事を数え切れないほど読み、見つけられる限りの質問と回答を検索しましたが、何も見つかりませんでした。私は徐々に気が狂いそうなので、私の質問の答えはおそらく簡単だとわかっているので、皆さんに頼ることにしました。
私の Web サーバーには、2 人のユーザーと 2 つのグループがあります。ユーザーは同じ領域に対して読み取りと書き込みを行う必要があります。単一のフォルダーではなく、フォルダーの複雑なネットワークです。
>> groups user_1
popuser psaserv psacln
>> groups user_2
psacln popuser psaserv
これらは実際のユーザーではないため、.bashrc ファイルはありません。各ユーザーがディレクトリを作成すると、権限は予想どおりになります。
drwxr-xr-x 2 user_1 popuser 4096 Apr 30 20:47 folder_1
drwxr-xr-x 2 user_2 psacln 4096 Apr 30 20:49 folder_2
しかし、2 人のユーザーのうちの 1 人がフォルダーを作成すると、もう 1 人はそのフォルダーにファイルを書き込むことができなくなります。
chmod 777 にすれば、もちろん両方とも書き込み可能になります。
/etc/group を cat する
popuser:x:31:user_1,psaserv,user_2
psacln:x:505:user_2,user_1,psaserv
また、ファイルがグループに書き込まれるときに、権限が非常に制限されているように見えるのも珍しいことです。
-rw-r--r-- 1 user_2 psacln 0 Apr 30 21:15 some_file.ext
それは予想通りかもしれないが。
とにかく、私の2つの質問を要約して明確にすると、
1) How can I make both users access files and folders from each other, given their group differences?
2) How can I set the default permissions on new files so they inherit the folder permissions?
(2) ルートユーザーの ~/.bashrc ファイルに umask 022 を追加してみましたが、何も起こりませんでした。ホームディレクトリを持たないこれらの「ユーザー」に対して、どこにそれを配置すればよいのかわかりません。
申し訳ありませんが、Linux ユーザーのエキスパートにとっては、このような質問は冗長に感じられるかもしれません。何を探しているのかさえわからないと、検索は困難です。
いつもありがとうございます。
[私はCentOSを使用しています]
答え1
1) グループの違いを考慮して、両方のユーザーがお互いのファイルやフォルダーにアクセスできるようにするにはどうすればよいでしょうか?
1 つの方法は、ユーザーに共通するグループをディレクトリに指定することです。
chgrp psaserv folder1 folder2
chmod g+w folder1 folder2
2) 新しいファイルにフォルダーのアクセス許可を継承するようにデフォルトのアクセス許可を設定するにはどうすればよいでしょうか?
「グループ ID の設定」ビットを使用します。
chmod g+s folder1 folder2
rwx 権限を継承することはできません。umask を設定してください。
ルート ユーザーの ~/.bashrc ファイルに umask 022 を追加してみましたが、何も起こりませんでした。ホーム ディレクトリを持たないこれらの「ユーザー」に対して、どこにそれを配置すればよいのかわかりません。
いくつかのプロセスがそれらのユーザー ID を使用するように設定しました。そのプロセスが umask を 022 に設定するように設定する必要があります。これを行う方法は、これを行うように設定したプロセスによって異なります。 を使用している可能性がありますsudo
。それは Web サーバーかもしれませんし、他の何かかもしれません。説明しない限り、詳細で具体的なアドバイスを提供することは実際には不可能です。
答え2
ユーザーが作成した新しいファイルをグループメンバーがデフォルトで書き込み可能にしたい場合は、umaskを022以外に変更する必要があります。セキュリティ上の問題がない場合は、umaskを002に設定してください(umaskの設定例については、https://stackoverflow.com/questions/10220531/how-to-set-system-wide-umask)。
Umaskの説明
新しく作成されたファイルとディレクトリのデフォルトのファイル権限は、現在の umask 設定を減算した標準権限 (rw-rw-rw
ファイルの場合 、rwxrwxrwx
ディレクトリの場合) です。 umask 設定が 000 の場合、標準権限が保持されますが、設定が 777 の場合、すべての権限が削除されます。
umask の 3 つの数字は、それぞれユーザー、グループ、および全員の権限を表します。この数字は、特定の権限を削除するかどうかを示す 3 つの 2 進数を表します。
d - rwx
-------
0 - 000 (rwx)
1 - 001 (rw-)
2 - 010 (r-x)
3 - 011 (r--)
4 - 100 (-wx)
5 - 101 (-w-)
6 - 110 (--x)
7 - 111 (---)
新しいファイルに特定の umask が付与される権限を計算するには、デフォルトの権限から始めて umask を減算します。
orig rwx rwx rwx (777, default directory permission)
umask 000 010 010 (022)
result rwx r-x r-x (755)
orig rw- rw- rw- (666, default file permission)
umask 000 010 010 (022)
result rw- r-- r-- (644)
orig rwx rwx rwx (777, default directory permission)
umask 000 000 010 (002)
result rwx rwx r-x (775)
orig rw- rw- rw- (666, default file permission)
umask 000 000 010 (002)
result rw- rw- r-- (664)