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? -- Peter Jeremy -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20061213/8b72e76a/attachment.pgp
On Wed, 13 Dec 2006 20:11:46 +1100 Peter Jeremy <peterjeremy@optushome.com.au> wrote:> mount_smbfs: can not setup kernel iconv table (ISO8859-1:tolower): syserr = Operation not permittedAs far as I can tell, this has been the case since 4- or so, at least. Possibly as long as mount_smbfs has existed. The work-around that I used was to configure amd to do the mount (as root) on behalf of the user in question (me, at that time). These days I use smbclient or GNOMEVFS/nautilus instead, but they achieve somewhat different things... Cheers, -- Andrew
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
on 20/12/2006 01:50 Juraj Lutter said the following:> On 12/20/06, martinko <gamato@users.sf.net> wrote: >>>> I've looked through iconv_sysctl_add() and can't see any way for the >>>> code to return EPERM. >> I've been experiencing the exactly same issue for too long, too. :-(( >> > > Load the iconv modules as root before letting users to mount. >You probably haven't read my complete message (msg id <4586CAEF.2000404@icyb.net.ua>) carefully enough. Quote just for you: [[[ 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. ]]] -- Andriy Gapon