Operating System: Kubuntu 24.04
KDE Plasma Version: 5.27.12
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.13
Kernel Version: 6.17.0-20-generic (64-bit)
Graphics Platform: X11
Dolphin Version: 23.08.5
right click mouse at blank, create new file or folder, then we got:
file with permission 664
folder with permission 775
and files download from edge or firefox also have the same permission 664.
But what I want is the file with permission 644, folder with permission 755. I set umask
in .bashrc and .zshrc and it works well for terminal operation, such as touch and mkdir.
I search bing.com and arch wiki about umask , got some idea on how to set umask for KDE/Plasma, and I try:
write session optional pam_umask.so umask=022 to /etc/pam.d/login NOT WORK
create drop-in for systemd service plasma-dolphin.service NOT WORK
# /usr/lib/systemd/user/plasma-dolphin.service.d/umask.conf
[Service]
UMask=0022
create drop-in for systemd service user@.service NOT WORK
# /usr/lib/systemd/system/user@.service.d/umask.conf
[Service]
UMask=0022
create drop-in for systemd service plasma-plasmashell.service NOT WORK
# /usr/lib/systemd/user/plasma-plasmashell.service/umask.conf
[Service]
UMask=0022
Please, tell me if I’ve forgot something or is there a config file can do it ?
So does any one know how to set default permission created by dolphin right-click ?
Or is it a bug of dolphin or something others ?
Thanks.
Sadi
April 19, 2026, 7:23am
2
Could adding preferred umask, fmask and dmask values to supersede the defaults to /etc/fstab or /etc/udisks2/mount_options.conf work?
jinliu
April 19, 2026, 8:13am
3
Don’t remember how it was handled in Plasma 5. You can run systemd-cgls|grep dolphin, and if the result looks like app-org.kde.dolphin@<long hex number>.service, then you can put the override file in ~/.config/systemd/user/app-org.kde.dolphin.service.d for Dolphin, or app-.service.d for all apps.
here is the fstab, is this has some problems ?
## Disk Partition Mount Point FS Type Mount Options dump fsck
PARTUUID=c4efee92-****-****-****-************ /boot/efi vfat defaults 0 2
PARTUUID=0b024420-****-****-****-************ / ext4 defaults 0 1
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
PARTUUID=b3a01835-****-****-****-************ none swap defaults 0 0
#/swapfile swap swap defaults 0 0
PARTUUID=b1bd84c9-****-****-****-************ /me ext4 defaults 0 0
PARTUUID=d7a8263b-****-****-****-************ /me/tech ntfs3 defaults,uid=1000,gid=1000 0 0
I have try the both, change settings, reboot, but not work yet ! Do you have any other ideas ?
systemctl --user status app-.service
# Unit app-.service could not be found.
systemctl --user status app-org.kde.dolphin.service
# Unit app-org.kde.dolphin.service could not be found.
Yes, after systemd-cgls|grep dolphin the result look like app-org.kde.dolphin@<hex>.service
I have try the both,
~/.config/systemd/user/app-org.kde.dolphin.service.d/umask.conf, reboot, not work
~/.config/systemd/user/app-.service.d/umask.conf, reboot, not work
Do you have any other ideas ? And I do not find related systemd service on the system ?
systemctl --system status app-.service
# Unit app-.service could not be found.
systemctl --system status app-org.kde.dolphin.service
# Unit app-org.kde.dolphin.service could not be found.
systemctl --user status app-.service
# Unit app-.service could not be found.
systemctl --user status app-org.kde.dolphin.service
# Unit app-org.kde.dolphin.service could not be found.
jinliu
April 20, 2026, 5:51am
7
My bad. Should be app-org.kde.dolphin@.service.d. For more info:
And app-.service.d works for me. No idea why it isn’t for you.
They are not actual services, but “templates”, so you can’t status them. Only the actual app-org.kde.dolphin@<hex>.service can be used with systemctl --user.
Sadi
April 20, 2026, 7:45am
8
If you want to modify the default behavior, I guess you need to add whatever you want here. For example, if you want the file and folder permissions in ext4 partitions to be different from the defaults, you need to add the corresponding options (umask, fmask, dmask etc.) after the defaults to supersede the corresponding default values.
Got it, I know that, but what you said is not related to what I asked, and still thanks for you replies!
Still not work yet, and thanks for your response! I realy have no idea what to do ….
# ~/.config/systemd/user/app-org.kde.dolphin@.service.d
% cat umask.conf
[Service]
UMask=0022
I double checked, and found there is no @ sign and suffix is not service it is scope
% systemd-cgls | grep dolphin
│ │ │ ├─app-org.kde.dolphin-c33aa16a4a2b41c1bd97f67cf7adf22c.scope
│ │ │ │ └─2010 /usr/bin/dolphin
% systemd-cgls | grep konsole
│ │ │ ├─app-org.kde.konsole-5e6ffaf3f7fc48bb92906d9a3ef1ac3c.scope
│ │ │ │ ├─2149 /usr/bin/konsole
% ps -u charlie -o pid= | xargs -I % sh -c 'echo PID=%, $(grep "^Umask:" "/proc/%/status"), Process=$(ps -w -p % -o cmd=)'
...
PID=1508, Umask: 0077, Process=/usr/bin/fcitx5 -d
...
PID=2010, Umask: 0002, Process=/usr/bin/dolphin
PID=2149, Umask: 0002, Process=/usr/bin/konsole
PID=2159, Umask: 0022, Process=/bin/zsh
some command failed from Limit Application Memory Usage with systemd
% systemctl --version
systemd 255 (255.4-1ubuntu8.15)
+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified
% systemd-cgls | grep dolphin
│ │ │ ├─app-org.kde.dolphin-ec0728a0337f4efb827189c002f1918f.scope
│ │ │ │ └─7284 /usr/bin/dolphin
% systemctl --user cat app-org.kde.dolphin-ec0728a0337f4efb827189c002f1918f.scope
# /run/user/1000/systemd/transient/app-org.kde.dolphin-ec0728a0337f4efb827189c002f1918f.scope
# This is a transient unit file, created programmatically via the systemd API. Do not edit.
[Scope]
Slice=app.slice
[Unit]
Description=Dolphin - File Manager
SourcePath=/usr/share/applications/org.kde.dolphin.desktop
% systemd-cgls | grep konsole
│ │ │ ├─app-org.kde.konsole-be56c53e215f490085d1f785691327d4.scope
│ │ │ │ ├─ 6916 /usr/bin/konsole
% systemctl --user show app-org.kde.konsole@*.service
zsh: no matches found: app-org.kde.konsole@*.service
% systemctl --user show 'app-org.kde.konsole@*.service'
# output nothing
jinliu
April 22, 2026, 10:39am
12
If it’s scope, then unfortunately, this approach won’t work, as the “UMask=” option is only for services.
You might try other approaches. E.g., the pam_umask.so one. Your display manager probably doesn’t use /etc/pam.d/login, but /etc/pam.d/sddm{-autologin}, if it’s SDDM.
Yes, it is SDDM
% systemctl status display-manager.service
● sddm.service - Simple Desktop Display Manager
Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-04-22 18:50:40 CST; 11min ago
Docs: man:sddm(1)
man:sddm.conf(5)
Process: 1195 ExecStartPre=/bin/sh -c [ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/bin/sddm" ] (code=exited, status=0/SUCCESS)
Main PID: 1198 (sddm)
Tasks: 4 (limit: 18669)
Memory: 164.3M (peak: 165.7M)
CPU: 42.960s
CGroup: /system.slice/sddm.service
├─1198 /usr/bin/sddm
└─1201 /usr/lib/xorg/Xorg -nolisten tcp -background none -seat seat0 vt2 -auth /run/sddm/xauth_fImwEL -noreset -displayfd 16
I put session optional pam_umask.so umask=022 to /etc/pam.d/sddm-autologin
but still not working ….
% pwd
/etc/pam.d
% ls
chfn chpasswd chsh common-account common-auth common-password common-session common-session-noninteractive cron cups login newusers other passwd ppp runuser runuser-l samba sddm sddm-autologin sddm-greeter su sudo sudo-i su-l
jinliu
April 22, 2026, 1:42pm
14
Should be /etc/pam.d/sddm if you are not using autologin.
% systemctl status user@1000.service
● user@1000.service - User Manager for UID 1000
Loaded: loaded (/usr/lib/systemd/system/user@.service; static)
Drop-In: /usr/lib/systemd/system/user@.service.d
└─10-login-barrier.conf, timeout.conf, umask.conf
Active: active (running) since Wed 2026-04-22 22:34:38 CST; 12min ago
Docs: man:user@.service(5)
Main PID: 1367 (systemd)
Status: "Ready."
Tasks: 438
Memory: 2.5G (peak: 2.7G)
CPU: 3min 47.134s
CGroup: /user.slice/user-1000.slice/user@1000.service
├─app.slice
...
│ ├─app-org.kde.dolphin-1d9e85f2e64343dfb321e16dde014a48.scope
│ │ ├─4148 /usr/bin/dolphin
│ │ ├─4162 /lib/x86_64-linux-gnu/libexec/kf5/kioslave5 /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/tags.so tags "" local:/run/user/1000/dolphinDvzzxl.1.kioworker.socket
│ │ ├─4164 /lib/x86_64-linux-gnu/libexec/kf5/kioslave5 /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/kio_trash.so trash "" local:/run/user/1000/dolphiniVAUoB.2.kioworker.socket
│ │ └─4190 /lib/x86_64-linux-gnu/libexec/kf5/kioslave5 /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/thumbnail.so thumbnail "" local:/run/user/1000/dolphinUTgmUt.8.kioworker.socket
...
Apr 22 22:44:30 LY9KH plasmashell[4148]: true
Apr 22 22:44:30 LY9KH plasmashell[4148]: actions!!!
Apr 22 22:44:32 LY9KH plasmashell[4148]: true
Apr 22 22:44:32 LY9KH plasmashell[4148]: actions!!!
Apr 22 22:44:52 LY9KH plasmashell[4148]: true
Apr 22 22:44:52 LY9KH plasmashell[4148]: actions!!!
Apr 22 22:45:41 LY9KH systemd[1367]: Started app-userapp\x2dThunderbird\x2dOBL5N3-c102a6e1270e4566ad77811b78c8df48.scope - Thunderbird.
Apr 22 22:45:52 LY9KH systemd[1367]: app-userapp\x2dThunderbird\x2dOBL5N3-c102a6e1270e4566ad77811b78c8df48.scope: Consumed 9.524s CPU time.
Apr 22 22:45:54 LY9KH plasmashell[1666]: org.kde.klipper: Invalid or non-local url for preview: QUrl("user@1000.service")
Apr 22 22:46:28 LY9KH plasmashell[1666]: org.kde.klipper: Invalid or non-local url for preview: QUrl("user@1000.service")
% systemctl --user --property=UMask show user@1000.service
UMask=0002
% systemctl --user --property=UMask show app-org.kde.dolphin
UMask=0002
I put drop-in here /usr/lib/systemd/system/user@.service.d/umask.conf, and it loaded, BUT the restult is not working also!
meven
April 23, 2026, 10:26am
17
I did a code review, and this should work, that is umask should be used by dolphin, we have a unittest for this.
I could be missing something, but this has to be more subtitle.
You can test in a terminal the umask and outside of dolphin using kioclient copy or kioclient mkdir.
OK, I will dobule check again.
But I do not understand what you said, can you explain more ?
Not work yet! Do you have any ideas ?
Is it the problem of dolphin or related to systemd ?
On fresh minimal install of kubuntu-24.04.4-desktop-amd64 is also has the same problem ?
Is anyone other install the system and do not have the problem, it is just happens for me ?
It is so weird ….