As of a few updates ago ─ no longer than a month, I’d say ─ I’ve begun noticing something weird in the output of df
. I suspect it’s a bug of some sorts, but the question is where, because it obviously pertains to /run/user/$(id)
, which lives on a tmpfs
and is probably created by systemd
or one of its subsystems.
[nx-74205:/dev/pts/3][/home/aragorn]
[06:52:05][aragorn] > df -Th
df: /run/user/1000/doc: Operation not permitted
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs tmpfs 7.8G 143M 7.7G 2% /dev/shm
tmpfs tmpfs 3.2G 9.3M 3.1G 1% /run
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/sda3 btrfs 1.0G 26M 767M 4% /
/dev/sda4 btrfs 22G 6.5G 15G 31% /usr
tmpfs tmpfs 7.8G 8.7M 7.8G 1% /tmp
/dev/sda6 btrfs 2.0G 101M 1.7G 6% /opt
/dev/sda9 btrfs 450G 2.8G 446G 1% /home
/dev/sda5 btrfs 512M 3.4M 499M 1% /usr/local
/dev/sda11 btrfs 20G 3.2G 17G 16% /var
/dev/sda8 btrfs 400G 72G 328G 18% /srv
/dev/sda2 ext4 488M 63M 390M 14% /boot
/dev/sda1 vfat 511M 544K 511M 1% /boot/efi
tmpfs tmpfs 1.6G 132K 1.6G 1% /run/user/1000
[nx-74205:/dev/pts/3][/home/aragorn]
[06:52:17][aragorn] > ls -l /run/user/1000/
total 4
srwx------ 1 aragorn aragorn 0 Oct 22 10:44 993e2851f4b9f6f91ec502ed8ee648bb-{87A94AB0-E370-4cde-98D3-ACC110C5967D}
drwx------ 2 aragorn aragorn 120 Oct 22 10:43 akonadi
srw-rw-rw- 1 aragorn aragorn 0 Oct 21 12:00 bus
drwx------ 3 aragorn aragorn 60 Oct 21 12:00 dbus-1
drwx------ 2 aragorn aragorn 60 Oct 21 12:00 dconf
srwx------ 1 aragorn aragorn 0 Oct 23 11:55 discord-ipc-0
dr-x------ 2 aragorn aragorn 0 Jan 1 1970 doc
drwx------ 2 aragorn aragorn 140 Oct 21 12:00 gnupg
srw------- 1 aragorn aragorn 0 Oct 22 10:43 kdeinit5__0
drwx------ 2 aragorn aragorn 60 Oct 23 18:14 keyring
srwx------ 1 aragorn aragorn 0 Oct 21 12:12 kio_http_cache_cleaner
srwx------ 1 aragorn aragorn 0 Oct 22 10:43 klauncherfGaJrL.1.slave-socket
srwx------ 1 aragorn aragorn 0 Oct 21 12:00 klauncherPFOsBY.1.slave-socket
-rw------- 1 aragorn aragorn 81 Oct 22 10:43 KSMserver__0
srwxr-xr-x 1 aragorn aragorn 0 Oct 22 10:43 kwallet5.socket
drwxr-xr-x 2 aragorn aragorn 60 Oct 21 12:00 p11-kit
srw-rw-rw- 1 aragorn aragorn 0 Oct 21 12:00 pipewire-0
-rw-r----- 1 aragorn aragorn 0 Oct 23 18:14 pipewire-0.lock
drwx------ 2 aragorn aragorn 100 Oct 22 10:43 pulse
drwxrwx--x 2 aragorn aragorn 40 Oct 21 17:34 signond
drwxr-xr-x 6 aragorn aragorn 160 Oct 21 12:02 systemd
[nx-74205:/dev/pts/3][/home/aragorn]
[06:53:08][aragorn] > ls -l /run/user/1000/doc/
total 0
dr-x------ 2 aragorn aragorn 0 Jan 1 1970 by-app
[nx-74205:/dev/pts/3][/home/aragorn]
[06:54:06][aragorn] > ls -l /run/user/1000/doc/by-app/
total 0
[nx-74205:/dev/pts/3][/home/aragorn]
[06:54:14][aragorn] >
I have no idea what creates /run/user/1000/doc
, and as you can see, the only directory in there is /run/user/1000/doc/by-app
, which is empty.
But what’s odd is that both of these directories have unusual permissions ─ they are read-only for the owner ─ as well as the fact that df
would throw up an error about that, because to the best of my knowledge, df
does not attempt to write to anything.
Except perhaps if you count updating the atime
as a write. And such is possible, but then I’d need to know what process is mounting /run/user/1000
, and where this is defined, so that I can add noatime
to the mount options, or change the permissions so that the owner ─ i.e. user 1000
, being me ─ has write permission to the /run/user/1000/doc
and /run/user/1000/doc/by-app
directories (which is probably how it should be).
For what it’s worth ─ and as expected ─ the error message does not appear when df
is executed as root.