Date: Fri, 29 Oct 2010 13:13:45 +0200 From: dan <glimp@live.com> To: freebsd-questions@freebsd.org Subject: Re: mount_msdosfs -L ... [odd behaviour ?] Message-ID: <BLU0-SMTP15340497DCA728BEF6F24B4DC450@phx.gbl> In-Reply-To: <DECFA273-6196-4D4F-97BE-3126B307ED19@mac.com> References: <BLU0-SMTP1086178B9ACF1907F247ADCDC440@phx.gbl> <DECFA273-6196-4D4F-97BE-3126B307ED19@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/29/10 01:00, Chuck Swiger wrote: > Hi, Dan-- > > On Oct 28, 2010, at 3:45 PM, dan wrote: >> 'mount_msdosfs -L en_US.UTF-8 /dev/da0 local/mnt/' >> >> executed by a non root-user prints out the following >> >> "mount_msdosfs: msdosfs_iconv: Operation not permitted" >> >> and then stops with error 71 on console. >> >> Later, the same command, executed by the same user, completes correctly if some time before the root user has succesfully issued it and unmounted the device. >> >> Any clues ? Things I am probably missing ? Does Anyone else notice this (odd) behaviour (if it is odd) ? > > It's probably coming from /usr/src/sbin/mount_msdosfs/mount_msdosfs.c: > > if (set_charset(&iov,&iovlen, cs_local, cs_dos) == -1) > err(EX_OSERR, "msdosfs_iconv"); > > ...since set_charset() tries to load the msdosfs_iconv& libiconv kernel modules: > > if (modfind("msdosfs_iconv")< 0) > if (kldload("msdosfs_iconv")< 0 || modfind("msdosfs_iconv")< 0) { > warnx("cannot find or load \"msdosfs_iconv\" kernel module"); > return (-1); > } > > kldload() fails with EPERM if you are not root: > > [EPERM] You do not have access to read the file or link it > with the kernel. You should be the root user to be > able to use the kld system calls. > > Once root has loaded these modules, you can invoke mount_msdosfs as a normal user because they are already available. You can put "kldload msdosfs_iconv" into /etc/rc.local, or maybe tweak /boot/loader.conf to load these at boot if you prefer. > > Regards, Hello :-) Thank you for your research and prompt response. The module was available. I tried both: kldload in command line and adding it in loader.conf. Note. In case the module has not been been loaded,as a user, here, one gets 2 messages "mount_msdosfs: cannot find or load msdosfs_iconv kernel module" AND "mount_msdosfs: msdosfs_iconv: Operation not permitted" I wonder what Operation is not permitted as a user and what rights the user needs. d
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BLU0-SMTP15340497DCA728BEF6F24B4DC450>