Mounting smbfs as non-root

Andriy Gapon avg at
Mon Dec 18 09:30:50 PST 2006

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 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

More information about the freebsd-stable mailing list