Date: Mon, 18 Dec 2006 19:07:59 +0200 From: Andriy Gapon <avg@icyb.net.ua> To: freebsd-stable@freebsd.org Subject: Re: Mounting smbfs as non-root Message-ID: <4586CAEF.2000404@icyb.net.ua> In-Reply-To: <1166012592.00653256.1166001601@10.7.7.3> References: <1166012592.00653256.1166001601@10.7.7.3>
next in thread | previous in thread | raw e-mail | index | archive | help
on 13/12/2006 11:11 Peter Jeremy said the following: > I am trying to mount a SMB filesystem as an ordinary user (because > I don't want to give root to this particular person). Whilst > running mount_smbfs as root works, attempting the same command > as non-root consistently returns > mount_smbfs: can not setup kernel iconv table (ISO8859-1:tolower): syserr = Operation not permitted > > I've looked at a ktrace and the source code and the offending code is > sysctlbyname("kern.iconv.add", ...) > > I've looked through iconv_sysctl_add() and can't see any way for the > code to return EPERM. > > My reading of all the code also suggests that once the relevant iconv > tables are loaded, then iconv_sysctl_add() should return EEXIST > (via iconv_register_cspair()). But even if the relevant translation > table is loaded (by mounting a SMB filesystem as root), I still get > the above error when trying to use mount_smbfs as a user. I've even > written some code to let me look at the kern.iconv MIB tree which > confirms the above but doesn't get any me any closer to a solution. > > This is the same on two 6.2-PRERELEASE systems and I get the same > behaviour on an oldish 7-current system. Does anyone have any > suggestions on what is going wrong? > Not entirely the same issue, but quite similar and rather annoying. I have the following in loader.conf: msdosfs_iconv_load="YES" msdosfs itself is built into kernel. kldstat confirms that the above modules are indeed loaded. I also have vfs.usermount=1 I can successfully mount any DOS fs as a regular user as long as I don't specify any mount options that require iconv conversions. Otherwise I get EPERM: $ mount_msdosfs -L en_US.UTF-8 /dev/da0s1 /mnt/flash/ mount_msdosfs: msdosfs_iconv: Operation not permitted I can see from ktrace that the error comes from some __sysctl call. It is sufficient to do at least one mount as root and then subsequent user mounts are successful. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4586CAEF.2000404>