You are not logged in.

#1 2024-04-09 08:54:54

JES
Member
Registered: 2020-01-20
Posts: 6

[SOLVED] Only superuser can umount a cifs device

Since util-linux 2.40, a simple user is no more allowed to umount a cifs device he mount

fstab definition:

//server/FSpartition /home/me/mnt/myfs cifs noauto,user,rw,iocharset=utf8,username=myWindowUser,sec=krb5,cruid=1000,uid=100,gid=1000

use:

kinit myWindowUser
mount mnt/myfs
cd mnt/myfs/....

do some work here

cd
umount mnt/myfs
umount: /home/me/mnt/myfs: must be superuser to unmount.
su -c 'umount /home/me/mnt/myfs'
kdestroy

There nothing available with journalctl -xe

$ date
Tue Apr  9 10:30:37 CEST 2024
$ journalctl -xe
...
Apr 09 10:14:46 b020729-ux kernel: CIFS: Attempting to mount //server>
Apr 09 10:14:46 b020729-ux cifs.upcall[11637]: key description: cifs.spnego;0;0;39010000;ver=0x2;host=server;ip4=x.y.z.t;sec=krb5;uid=0x3e8;creduid=0x3e8;
              user=myWindowUser;pid=0x2d72
Apr 09 10:14:46 b020729-ux cifs.upcall[11638]: ver=2
Apr 09 10:14:46 b020729-ux cifs.upcall[11638]: host=server>
Apr 09 10:14:46 b020729-ux cifs.upcall[11638]: ip=x.y.z.t
Apr 09 10:14:46 b020729-ux cifs.upcall[11638]: sec=1
Apr 09 10:14:46 b020729-ux cifs.upcall[11638]: uid=1000
Apr 09 10:14:46 b020729-ux cifs.upcall[11638]: creduid=1000
Apr 09 10:14:46 b020729-ux cifs.upcall[11638]: user=myWindowUser
Apr 09 10:14:46 b020729-ux cifs.upcall[11638]: pid=11634
Apr 09 10:14:46 b020729-ux cifs.upcall[11637]: get_cachename_from_process_env: pathname=/proc/11634/environ
Apr 09 10:14:46 b020729-ux cifs.upcall[11637]: get_existing_cc: default ccache is FILE:/tmp/krb5cc_1000
Apr 09 10:14:46 b020729-ux cifs.upcall[11637]: handle_krb5_mech: getting service ticket for server
Apr 09 10:14:46 b020729-ux cifs.upcall[11637]: handle_krb5_mech: using native krb5
Apr 09 10:14:46 b020729-ux cifs.upcall[11637]: handle_krb5_mech: obtained service ticket
Apr 09 10:14:46 b020729-ux cifs.upcall[11637]: Exit status 0
lines 2353-2404/2404 (END)
$ pacman -Q linux-lts util-linux util-linux-libs cifs-util
linux-lts 6.6.25-1
util-linux 2.40-2
util-linux-libs 2.40-2
cifs-utils 7.0-3

If I do a rollback to util-linux 2.39, I can umount the cifs device without troubles.
But this rollback is not wanted because of many incompatibilities with other packages.

How can I solve this problem ?

Last edited by JES (2024-04-10 12:30:51)

Offline

#2 2024-04-09 14:31:21

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,307

Re: [SOLVED] Only superuser can umount a cifs device

Offline

#3 2024-04-09 16:11:51

JES
Member
Registered: 2020-01-20
Posts: 6

Re: [SOLVED] Only superuser can umount a cifs device

Don't have any trouble with usb stick (vfat or ext4) nor real cdrom
ntfs work as usual: need to be root to mount or umount

Last edited by JES (2024-04-09 16:30:23)

Offline

#4 2024-04-09 16:38:36

loqs
Member
Registered: 2014-03-06
Posts: 18,859

Re: [SOLVED] Only superuser can umount a cifs device

Please post the /proc/self/mounts entry for myfs after you have mounted it for under both versions of util-linux.

Last edited by loqs (2024-04-09 16:38:49)

Offline

#5 2024-04-09 19:48:50

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,307

Re: [SOLVED] Only superuser can umount a cifs device

ntfs work as usual: need to be root to mount or umount

That should™ likewise depend on the fstab entry?

Offline

#6 2024-04-10 00:48:18

gavinhungry
Member
Registered: 2011-02-13
Posts: 10
Website

Re: [SOLVED] Only superuser can umount a cifs device

I encountered this too, and noticed that my CIFS mounts were no longer generating an entry in /run/mount/utab. I tracked it down to this change made in util-linux:
https://github.com/util-linux/util-linu … 1d670e32f8

There appears to be a misplaced else in mnt_update_already_done, preventing utab from being updated. This causes umount to not be able to later confirm that you are in fact the user that originally mounted the filesystem.

I have a patch for this here:
https://github.com/gavinhungry/patches/ … util-linux

And have opened a PR upstream:
https://github.com/util-linux/util-linux/pull/2944

Last edited by gavinhungry (2024-06-12 19:01:26)

Offline

#7 2024-04-10 10:02:17

JES
Member
Registered: 2020-01-20
Posts: 6

Re: [SOLVED] Only superuser can umount a cifs device

Extract from /proc/self/mounts

proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sys /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
dev /dev devtmpfs rw,nosuid,relatime,size=4003724k,nr_inodes=1000931,mode=755,inode64 0 0
run /run tmpfs rw,nosuid,nodev,relatime,mode=755,inode64 0 0
efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/sda3 / ext4 rw,relatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,inode64 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=37,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=2454 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,nosuid,nodev,relatime,pagesize=2M 0 0
configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /tmp tmpfs rw,nosuid,nodev,size=4019608k,nr_inodes=1048576,inode64 0 0
/dev/sda1 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/mapper/vg--arch-opt /opt ext4 rw,relatime,data=ordered 0 0
/dev/mapper/vg--arch-pacman /var/pacman ext4 rw,relatime,data=ordered 0 0
tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=803920k,nr_inodes=200980,mode=700,uid=1000,gid=1000,inode64 0 0
portal /run/user/1000/doc fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
//server/FSpartition /home/me/mnt/myfs cifs rw,nosuid,nodev,relatime,vers=3.1.1,sec=krb5,cruid=1000,cache=strict,username=myWindowUser,uid=1000,noforceuid,
   gid=1000,noforcegid,addr=x.y.z.t,file_mode=0755,dir_mode=0755,iocharset=utf8,soft,nounix,serverino,mapposix,
   rsize=1048576,wsize=1048576,bsize=1048576,echo_interval=60,actimeo=1,closetimeo=1 0 0

Offline

#8 2024-04-10 10:07:31

JES
Member
Registered: 2020-01-20
Posts: 6

Re: [SOLVED] Only superuser can umount a cifs device

Thanks Gavinhungry, hope your request will be take in account and integrated in a next release.
As a solution will exist and a workaround is possible, I think we can mark this post as solved.

Last edited by JES (2024-04-10 12:30:16)

Offline

Board footer

Powered by FluxBB