まず、pam-modules
パッケージがインストールされていることを確認します。これにより、pam_umask
モジュールが使用可能になります。/etc/pam.d/common-session
次に、それがフォームの行を持っていることを確認します
session optional pam_umask.so
pam_umask
有効になります。
現在、pam_umask
マニュアルページによると、デフォルトのumaskは、ログイン時に次の各場所を順番にチェックすることによって決定されます。
で設定されたハードシステム全体のデフォルト/etc/pam.d/common-session
。このように設定するには、上記のファイルの行を次のように置き換えます。
session optional pam_umask.so umask=002
の個々のユーザーのGECOSフィールドのエントリは、/etc/passwd
その特定のユーザーのソフトシステム全体のデフォルトを上書きします。次の形式のコマンドを使用して、そのエントリを作成します。
chfn --other='umask=002' username
(そのファイルを作成する必要があるかもしれない)のフォームの行はUMASK=002
、ソフトシステム全体のデフォルトを設定します。/etc/default/login
からの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
注意してください。