mount_msdosfs -L ... [odd behaviour ?]

dan glimp at live.com
Fri Oct 29 11:15:25 UTC 2010


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


More information about the freebsd-questions mailing list