我正在尝试更改 KDE 分配给文件的默认权限。我想将 umask 更改为 0027,这样文件默认的权限为 750,而不是用户的权限为 755。但到目前为止,KDE 拒绝了我更改此权限的尝试。
我有:
- 在 ~/.bashrc 中添加了“umask 0027”(为了便于测量,还将其添加到了 /etc/profile 中)
- 在 /etc/pam.d/login 中添加了“sessionoptional pam_umask.so umask=0027”
- 在 /etc/login.defs 中将“UMASK 022”更改为“UMASK 027”
所有这些都不会导致 SDDM 之外的新文件权限发生变化。有关更多信息,该系统建立在 Debian 12 之上。
答案1
我遇到了同样的问题,并按照以下方式解决了它。我使用的是 Ubuntu,因此解决方案将非常接近您的问题,前提是您使用的是 systemd。我想您确实会这样做,因为它是 Debian 上的默认初始化。
由于 KDE Plasma 由 systemd 单元启动,因此设置 umask 的最佳方法是使用特定 systemd 服务的嵌入式配置文件。特别是通过~/.profile
或设置 umask/etc/profile
不再有效。
您的所有应用程序很可能都是由plasmashell
进程直接或间接启动的,并从该进程继承 umask。负责此进程的 systemd 单元是/usr/lib/systemd/user/plasma-plasmashell.service
。为了制作plasmashell
have,umask=0027
您必须制作嵌入式配置文件:/etc/systemd/user/plasma-plasmashell.service.d/override.conf
它与上述 systemd 单元相对应。创建/etc/systemd/user/plasma-plasmashell.service.d/
目录,然后override.conf
在其中创建一个文件。文件的内容应该是:
[Service]
UMask=0027
请小心使用大写“U”和“M”。
该文件将会被 systemd 在相应的单元文件之上进行处理。
重新启动系统,你会发现你创建的文件将具有适当的权限。当然,如果你登录虚拟终端,umask 将不受此 systemd 设置的约束。你可以~/.profile
在纯文本环境中额外设置 umask,以使创建的文件具有适当的权限。
我的解决方案部分基于此 文章来自 Arch Wiki