Suddenly, '"user" CIFS mounts not supported"

About two weeks ago, I added the following to my fstab so Fedora 35 would automatically mount my NAS at startup:

//192.168.1.2/home /mnt/NAS cifs defaults,_netdev,iocharset=utf8,credentials=/home/dave/secret.txt,uid=1000,gid=1000 0 2

I created the mount point and took ownership of it with:

sudo mkdir /mnt/NAS
sudo chown dave:dave /mnt/NAS

All was well with the world.

Yesterday, I think, I got a kernel update and now I can no longer access the NAS directly from Dolphin. When I try, I get:

An error occurred while accessing ‘Home’, the system responded: This program is not installed setuid root - “user” CIFS mounts not supported.

If I go to the NAS from within Dolphin by specifying its address:

smb://192.168.1.2

No problem. It works fine.

Did something change with the new kernel? I see one other post here about suddenly losing access to a mounted SMB drive. But, that turned out to be a problem with Windows doing something.

Throwing a wider net, I found a similar issue:

The solution is to set the suid bit on 3 files:

sudo chmod u+s /bin/mount
sudo chmod u+s /bin/umount
sudo chmod u+s /usr/sbin/mount.cifs

Before I blindly do that, can anyone explain what happened and confirm that the above is the solution?

EDIT: forgot my system information:

Operating System: Fedora Linux 35
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.2
Kernel Version: 5.17.9-200.fc35.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 5600X 6-Core Processor
Memory: 15.6 GiB of RAM
Graphics Processor: AMD Radeon RX 6800 XT

According to:

"The SetUID bit enforces user ownership on an executable file. When it is set, the file will execute with the file owner’s user ID, not the person running it.

$ chmod u+s"

So, I guess the solution I referenced, above, seems reasonable. But, why did the fstab suddenly lose the ability to mount cifs drives? Or, did I leave something off my fstab line that makes the system think it’s just me, a lowly user, who’s trying to mount the drive.

I rebooted the NAS (just in case it was something on that end) and then did a mount -a

mount -a cifs   
This program is not installed setuid root -  "user" CIFS mounts not supported.

So, it’s definitely not a timing thing with the (wired) network. I guess I’ll try those chmods.

sudo chmod u+s /bin/mount
sudo chmod u+s /bin/umount
sudo chmod u+s /usr/sbin/mount.cifs

The above fixed it. No idea why this just started happening.

On my up-to-data FC36 system, mount and umount have the “s” bit set, but mount.cifs has not. Indeed the error appears when trying to mount as user. There have been security discussions about running mount.cifs with setuid bit, and it even can compiled to forbid running setuid. Setting the “s” bit in mount.cifs indeed works in the current release. I have no idea whether this has been changed at a given release/update. KDE and Gnome have their own ideas of mounting cifs, for example you can mount as user with “gio mount smb://system/share”, and find the mountpoint under /run/user/1000/gvfs/smb-share…

Opened this bug report, since I can’t do the setuid workaround on Silverblue: 2094785 – "user" CIFS mount not supported