68

私はLinux(DebianとUbuntu)を実行しているラボで働いています。ユーザー名とグループ名はNISとypによって処理されます。実験を実行するために誰もがアクセスできる共通のユーザーがいます。さらに、それぞれに独自のユーザーがいます。さらに、全員がメンバーである共通のグループがあります。

/home/共有ドライブ(NFS)上のすべてのファイルとディレクトリがユーザー/グループによって読み取り/書き込み(/実行可能)されるようにするにはどうすればよいですか?基本的に私が欲しいのは

chmod -R 664 /home
chgrp -R commongroup /home

または同等にumask 0002

ただし、上記のコマンドを実行すると、フォルダー内の現在のファイルのみが修正され、umaskは単一のユーザーに対してのみ機能し、ユーザーがログインするたびに実行する必要があります。ファイル内(そしてこれは.bashrcgnomeを介した変更モードで機能しますか?)共通グループが共通ファイルへの書き込みアクセス権を持っていることを確認するために使用できるシステム全体のコマンドまたは設定はありますか?

4

4 に答える 4

99

DebianとUbuntuの両方にpam_umaskが付属しています。/etc/login.defsこれにより、ユーザーのログイン方法に関係なく、umaskを構成して、システム全体に適用することができます。

/etc/pam.d/common-sessionそれを有効にするには、読書に行を追加する必要があるかもしれません

session optional pam_umask.so

または、すでに有効になっている可能性があります。次に、行を編集して次/etc/login.defsのように変更しますUMASK

UMASK           002

(デフォルトは022)。

ユーザーは自分自身または同様のものでumaskをオーバーライドできます~/.profile~/.bashrc、(少なくとも新しいDebianおよびUbuntuのインストールでは)/etc/profileまたはでumaskをオーバーライドしてはならないことに注意してください/etc/bash.bashrc。(ある場合は、それらを削除するだけです。)

于 2012-04-19T04:06:26.573 に答える
29

まず、pam-modulesパッケージがインストールされていることを確認します。これにより、pam_umaskモジュールが使用可能になります。/etc/pam.d/common-session次に、それがフォームの行を持っていることを確認します

session optional pam_umask.so

pam_umask有効になります。

現在、pam_umaskマニュアルページによると、デフォルトのumaskは、ログイン時に次の各場所を順番にチェックすることによって決定されます。

  1. で設定されたハードシステム全体のデフォルト/etc/pam.d/common-session。このように設定するには、上記のファイルの行を次のように置き換えます。

    session optional pam_umask.so umask=002
    
  2. の個々のユーザーのGECOSフィールドのエントリは、/etc/passwdその特定のユーザーのソフトシステム全体のデフォルトを上書きします。次の形式のコマンドを使用して、そのエントリを作成します。

    chfn --other='umask=002' username
    
  3. (そのファイルを作成する必要があるかもしれない)のフォームの行はUMASK=002、ソフトシステム全体のデフォルトを設定します。/etc/default/login

  4. からのUMASK/etc/login.defs。この値は、他の目的にも使用されます(作成中の新しいユーザーのホームディレクトリに対するアクセス許可を計算します。詳細については、のコメントを参照し/etc/login.defsてください)。したがって、通常のログインのデフォルトのumaskを設定するためにこれに依存することは避け、物事を分離しておくのが最善です。

したがって、あなたの場合、/etc/default/login個々のユーザーの設定を上書きできるようにする場合はこれを構成するか/etc/pam.d/common-session、すべてのユーザーの設定を同じにする場合は上記のように設定する必要があります。

ハードデフォルト設定を使用している場合でも、ユーザーはシェルプロンプトまたはスクリプトでコマンドをumask使用してデフォルトを手動でオーバーライドできることに注意してください。umask.profile

また、このデフォルトを設定する従来のUnixの方法は、にumaskコマンドを追加すること/etc/profileであり、それでも機能することに注意してください。ただし、スクリプトやGUIを使用して確実に管理するのは難しいため、Ubuntuでこのような設定を行うことはお勧めしません。

残念ながら、これは、を介して起動するように変換されたアプリケーションでは機能しなくなったことにsystemd --user注意してください。

于 2015-03-18T11:00:56.820 に答える
0

グループ権限を一致させるために、サーバーでは、設定されたgidビット(「スティッキービット」の1つ)を追加オプションと見なすことができます。

共有ディレクトリがグループにリンクされている場合、(rootを使用して)起動する: chmod -R2775folder_for_the_group が興味深い場合があります。

フォルダに作成された新しいファイルの場合、作成者が所有者になりますが、グループは自動的に指定されます(作成者がグループの一部である場合)。

権利のグリッドが-rwxrwsr-x+として表示されるようになりました

于 2016-09-03T20:16:51.857 に答える
0

他のディストリビューションについてはわかりませんが、DebianまたはUbuntuを使用している場合は、

sudo sh -c " echo 'umask 027' > /etc/profile.d/umask.sh"

027自分に最適な値に変更してください。

次に、マシンを再起動します。

出来上がり!!! これで完了です。

詳細については、Ubuntuでumaskに夢中になるをチェックしてください!!!!!! 。要点は、useraddとuserdelの動作を維持したいので、おそらく他のアカウントのシステムデフォルトが必要なので、修正はumask行のコメントを解除して~/.profileから、ログアウトして再度ログインすることです。

ただし、~/.profileは特定のユーザー向けです。システム全体の変更については、の下にファイルを作成する/etc/profile.d/か、に追加umask 027する必要があります/etc/profile

于 2022-01-28T19:50:38.303 に答える