私はLinux(DebianおよびUbuntu)を実行しているラボで働いています。ユーザー名とグループ名はNISとypによって処理されます。誰もが実験を実行するためにアクセスできる一般的なユーザーがいます。そして、私たちはそれぞれ独自のユーザーを持っています。さらに、私たち全員がメンバーである共通のグループがあります。
共有/home/
ドライブ(NFS)上のすべてのファイルとディレクトリがユーザー/グループによって読み取り/書き込み(/実行可能)になるようにするにはどうすればよいですか?基本的に私が欲しいのは
chmod -R 664 /home
chgrp -R commongroup /home
または同等にumask 0002
。
ただし、上記のコマンドを実行すると、フォルダー内の現在のファイルのみが修正され、umaskは単一のユーザーに対してのみ機能し、ユーザーがログインするたびに実行する必要があります。 .bashrc
ファイル(これはgnomeを介した変更モードでも機能しますか?)共通グループに共通ファイルへの書き込みアクセス権があることを確認するために使用できるシステム全体のコマンドまたは設定はありますか?
DebianとUbuntuの両方に pam_umask が付属しています。これにより、ユーザーのログイン方法に関係なく、/etc/login.defs
でumaskを設定し、システム全体に適用することができます。
有効にするには、/etc/pam.d/common-session
readingに行を追加する必要がある場合があります
session optional pam_umask.so
または、既に有効になっている場合があります。次に/etc/login.defs
を編集し、UMASK
行を
UMASK 002
(デフォルトは022
です)。
ユーザーは自分の~/.profile
または~/.bashrc
などでumaskをオーバーライドできますが、(少なくとも新しいDebianおよびUbuntuインストールでは)/etc/profile
でumaskをオーバーライドしないでください。または/etc/bash.bashrc
。 (ある場合は、単に削除します。)
まず、pam-modules
パッケージがインストールされていることを確認してください。これにより、pam_umask
モジュールが使用可能になります。次に、/etc/pam.d/common-session
に次の形式の行があることを確認します
session optional pam_umask.so
pam_umask
が有効になります。
現在、pam_umask
manページによると、デフォルトのumaskは、ログイン時に次の各場所を順番に確認することにより決定されます。
/etc/pam.d/common-session
に設定されたハードシステム全体のデフォルト。このように設定するには、上記のファイルの行を次のように置き換えます。
session optional pam_umask.so umask=002
/etc/passwd
の個々のユーザーのGECOSフィールドのエントリは、その特定のユーザーのソフトシステム全体のデフォルトをオーバーライドします。次の形式のコマンドを使用して、そのエントリを作成します。
chfn --other='umask=002' username
UMASK=002
内の/etc/default/login
という形式の行(そのファイルを作成する必要がある場合があります)は、システム全体のソフトデフォルトを設定します。
/etc/login.defs
からのUMASK
値。この値は、他の目的にも使用されます(作成される新しいユーザーのホームディレクトリのアクセス許可を計算します。詳細については、/etc/login.defs
のコメントを参照してください)。そのため、通常のログインのデフォルトのumaskを設定するためにこれに依存することを避けて、物事を分離しておくことをお勧めします。
したがって、あなたの場合、個々のユーザーの設定をオーバーライドできるようにする場合は/etc/default/login
で設定するか、上記のように/etc/pam.d/common-session
で設定する必要がありますすべてのユーザーに同じ。
ハードデフォルト設定でも、ユーザーはシェルプロンプトまたは.profile
スクリプトでumask
コマンドを使用して、デフォルトのumask
を手動でオーバーライドできます。
また、このデフォルトを設定する従来のUnixの方法は、umask
コマンドを/etc/profile
に追加することであり、それでも動作することに注意してください。しかし、スクリプトやGUIを使用して確実に管理するのは難しいため、Ubuntuでこのような設定を行うことは推奨されません。
残念ながら、これは systemd --user
経由で起動するように変換されたアプリケーションの動作を停止しました に注意してください。
グループ権限を一致させるために、サーバーでは、セットgidビット(「スティッキービット」の1つ)を追加オプションと見なすことができます。
共有ディレクトリがgroupにリンクされている場合、(rootを使用して)起動:chmod -R 2775folder_for_the_groupは興味深いかもしれません。
フォルダーに作成された新しいファイルの場合、作成者は所有者になりますが、グループは自動的に指定されます(作成者がグループの一部である限り)。
Rightsのグリッドが-rwxrwsr-x +として表示されるようになりました