プライベートユーザーグループの設定を使用しています。つまり、ユーザーfoo
のホームディレクトリはfoo:foo
ではなくfoo:users
によって所有されています。
これを機能させるには、umaskをグローバルに002に設定する必要があります。
簡単なgrep -RIi umask /etc/*
の後、しばらくの間、/etc/login.defs
のUMASK
エントリを変更することでうまくいくように思われました。それも行います-consoleログインの場合のみ。
デスクトップにログインしてそこでターミナルを開くと、デフォルトのumask 022
が表示されます。メニューから起動したアプリから作成したファイルも同様です。どうやら、ディスプレイマネージャー(または責任のあるX11コンポーネント)は、コンソールログインとは異なる設定を取得し、それがどれであるかがわかれば気になります。 (/etc/init.d/rc
の設定を変更しようとしましたが、役に立ちませんでした。)
X11デスクトップ環境でもメモを取得できるように、umask
グローバル(およびすべてのユーザー)をどのように/どこで設定しますか?
(システムはLinux Mint/Ubuntuであり、何かが変更された場合に備えて...)
ステートメントを導入することにより、umaskをグローバルに設定できます
umask 022
(たとえば)/ etc/profileまたは/ etc/bashrcのいずれか。
または、Debianシステムを使用しているため、PAMを使用することもできます。これを有効にするには、最初にファイル/etc/pam.d/common-session
を編集し、次の行を追加します。
session optional pam_umask.so
次に、ファイル/etc/login.defs
を編集し、行を追加(または変更)します。
UMASK 002
これらの設定は次の再起動後に適用されますが、注意してください。どちらの方法でも、たとえばユーザー自身の〜/ .bashrcでユーザーが選択した設定に常に置き換えることができます。
Umaskを変更できないようにすることに本当に熱心な場合は、/ etc/fstabのディスク構成を使用できます。ご存知のように、使用可能なオプションと構文はファイルシステムのタイプによって異なります。