Изменить umask по умолчанию для KDE

Изменить umask по умолчанию для KDE

Я пытаюсь изменить разрешения по умолчанию, назначенные файлу KDE. Я хотел бы изменить umask на 0027, чтобы файлы создавались с разрешениями по умолчанию 750 вместо 755 у пользователей. Однако до сих пор KDE сопротивлялся моим попыткам изменить это.

У меня есть:

  • Добавлен «umask 0027» в ~/.bashrc (он также был добавлен в /etc/profile для пущей убедительности)
  • Добавлен «session Optional pam_umask.so umask=0027» в /etc/pam.d/login
  • Изменено «UMASK 022» на «UMASK 027» в /etc/login.defs

Все это приводит к отсутствию изменений за пределами SDDM в разрешениях новых файлов. Для дополнительной информации, система построена на основе Debian 12.

решение1

У меня была та же проблема, и я решил ее следующим образом. Я использую Ubuntu, поэтому решение будет очень близко к вашей проблеме, если вы используете systemd. И я предполагаю, что вы так и делаете, потому что это init по умолчанию в Debian.

Поскольку KDE Plasma запускается с помощью systemd unit, лучшим способом установки umask является использование файла конфигурации drop-in для конкретной службы systemd. Тем более, что установка umask через ~/.profileили /etc/profileбольше не работает.

Скорее всего, все ваши приложения запускаются напрямую или косвенно процессом plasmashellи наследуют umask от этого процесса. Ответственный за этот процесс systemd unit — /usr/lib/systemd/user/plasma-plasmashell.service. Чтобы сделать plasmashellhave, umask=0027вам нужно создать drop-in configuration file:, /etc/systemd/user/plasma-plasmashell.service.d/override.confкоторый соответствует вышеупомянутому systemd unit. Создайте каталог /etc/systemd/user/plasma-plasmashell.service.d/, затем создайте override.confв нем файл. Содержимое файла должно быть:

[Service]
UMask=0027

Будьте осторожны, используя заглавные буквы «U» и «M».

Этот файл будет обработан systemd поверх соответствующего файла модуля.

Перезагрузите систему, и вы заметите, что созданные вами файлы будут иметь правильные разрешения. Конечно, если вы войдете в виртуальный терминал, umask не будет регулироваться этой настройкой systemd. Вы можете установить umask дополнительно, чтобы ~/.profileиметь правильные разрешения для файлов, созданных в чисто текстовой среде.

Мое решение частично основано на этом статья из Arch Wiki

Связанный контент