KDE のデフォルトの umask を変更する

KDE のデフォルトの umask を変更する

KDE によってファイルに割り当てられたデフォルトの権限を変更しようとしています。 umask を 0027 に変更して、ユーザーの権限 755 ではなく、デフォルトで 750 の権限でファイルが作成されるようにしたいと思います。 しかし、これまでのところ、KDE ​​はこれを変更する試みを拒否しています。

私は持っている:

  • ~/.bashrc に「umask 0027」を追加しました (念のため /etc/profile にも追加しました)
  • /etc/pam.d/login に「セッション オプション pam_umask.so umask=0027」を追加しました
  • /etc/login.defs の「UMASK 022」を「UMASK 027」に変更しました

結果的に、SDDM の外部では新しいファイルの権限は変更されません。追加情報として、このシステムは Debian 12 上に構築されています。

答え1

私も同じ問題を抱えていましたが、次の方法で解決しました。私は Ubuntu を使用しているので、systemd を使用している場合は、解決策はあなたの問題に非常に近いものになります。Debian では systemd がデフォルトの init なので、おそらくそうだと思います。

KDE Plasma は systemd ユニットによって起動されるため、umask を設定する最善の方法は、特定の systemd サービス用のドロップイン構成ファイルを使用することです。特に、~/.profileまたは経由での umask の設定は/etc/profile機能しなくなりました。

おそらく、すべてのアプリケーションはplasmashellプロセスによって直接または間接的に起動され、このプロセスから umask を継承します。このプロセスを担当する systemd ユニットは です/usr/lib/systemd/user/plasma-plasmashell.service。 を作成するには、前述の systemd ユニットに対応するドロップイン構成ファイルを作成する必要がありますplasmashell。ディレクトリを作成し、その中にファイルを作成します。ファイルの内容は次のようになります。umask=0027/etc/systemd/user/plasma-plasmashell.service.d/override.conf/etc/systemd/user/plasma-plasmashell.service.d/override.conf

[Service]
UMask=0027

大文字の「U」と「M」を使用するように注意してください。

このファイルは、systemd によって対応するユニット ファイルの上に処理されます。

システムを再起動すると、作成したファイルに適切な権限が付与されていることがわかります。もちろん、仮想端末にログインすると、umask はこの systemd 設定によって制御されません。~/.profile純粋なテキスト環境で作成されたファイルに適切な権限を付与するには、umask を追加で設定できます。

私の解決策は部分的にこれに基づいています Arch Wiki の記事

関連情報