After my weekly update of OpenSUSE Tumbleweed I get an error when running rsync to backup my files:
rsync: [sender] opendir “/mnt/diverse” failed: Operation not permitted (1)
Please show the full command, and show mount | grep mnt
rsync -avzH --open-noatime --progress --exclude swap,lost+found /mnt/diverse /mnt/kingston
mount | grep mnt
/dev/sdc1 on /mnt/kingston type btrfs (rw,relatime,discard=async,space_cache=v2,subvolid=5,subvol=/)
/dev/sdb9 on /mnt/diverse type ext4 (rw,relatime)
/dev/sdd1 on /mnt/toshiba type btrfs (rw,relatime,space_cache,subvolid=5,subvol=/)
Just to make sure, show ls -l /mnt and please post output as markdown, use the </> button in the editor and paste in between the 2 lines containing “```”
ls -l /mnt
totalt 52
drwxr-xr-x 2 root root 4096 31 aug 2021 cdrom
drwxr-xr-x 13 root root 4096 5 sep 2025 diverse
drwxr-xr-x 2 root root 4096 10 jun 2018 freecom
drwxr-xr-x 1 root root 14 25 dec 2024 kingston
drwxr-xr-x 2 per users 4096 22 sep 2018 mobil
drwxr-xr-x 2 root root 4096 2 sep 2020 telefon
drwxr-xr-x 1 root root 14 17 jan 2016 toshiba
I think I see the issue:
Change this to
sudo rsync -avzH --open-noatime --progress --exclude swap,lost+found /mnt/diverse/ /mnt/kingston/
Hm, in my opinion that does not fit with the fact that it worked as intended before that update. (Maybe the OP did the rsync already as root without mentioning, after all he only posted part of the ouput, not the command).
Probably a stupid remark, but something to do with SELinux?
That did work, but as hcvv mentions, is did work without sudo prior to the latest update. I didn’t run as root earlier. SELinux is a possible reason, but I’m not sell versed in SELinux.
Same here. It may also work without sudo, but with the trailing slashes. You could test that.
If SELinux is (part of) the problem you should be able to display the error messages with
ausearch -m avc,user_avc,selinux_err,user_selinux_err -ts boot
(needs to be run as “root”).
This is the output I get:
sudo ausearch -m avc,user_avc,selinux_err,user_selinux_err -ts boot
----
time->Sat Sep 26 17:58:54 2026
type=AVC msg=audit(1790438334.091:334): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=2721 comm="fusermount3" capability=1 capname="dac_override"
----
time->Sat Sep 26 17:58:54 2026
type=AVC msg=audit(1790438334.091:335): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=2721 comm="fusermount3" capability=7 capname="setuid"
----
time->Sat Sep 26 17:58:54 2026
type=AVC msg=audit(1790438334.891:339): apparmor="DENIED" operation="capable" class="cap" profile="fusermount3" pid=2891 comm="fusermount3" capability=1 capname="dac_override"
The messages are from boot time.
To knurpht, the trailing slashes didn’t change anything.
sudo tee /etc/apparmor.d/local/fusermount3 >/dev/null <<‘EOF’
capability dac_override,
capability setuid,
EOF
sudo systemctl reload apparmor
@Per :
Are you sure you are using selinux (and not apparmor)?
I don’t know if I’m running selinux and not how thc check if I do either. It was mentioned by hcvv earlier in this thread, so I thought that maybe that’s the problem. I have no problems accessing the files.
cat /sys/kernel/security/lsm
Quick way of finding out, although the upper output gives the answer. You can’t run apparmor or selinux simultaneously as they are major/primary LSM modules.
> cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-7.2.7-1-default root=UUID=4b37da97-xxxx-yyyy-zzzz-444670fd2e0b security=selinux selinux=1 mitigations=auto
>
> sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 35
>
I have now updated my system again, but the the problem still remains.
I’m not using SELinux.
How can I find out what’s stopping rsync?
You didn’t try my script or?
I did. I did it again now and the problem stays the same. It works if I run with sudo, but not as a regular user. The directory /mnt/diverse is owned by root and has access rights drwxr-xr-x
Are you still getting denied by apparmor? That script above adds a local override and reloads apparmor.
Check that the file /etc/apparmor.d/local/fusermount3 exists.
Try
sudo apparmor_parser -r /etc/apparmor.d/fusermount3