mount_msdosfs -L ... [odd behaviour ?]

dan glimp at live.com
Sat Oct 30 16:33:45 UTC 2010


On 10/29/2010 20:05, David DEMELIER wrote:
> 2010/10/29 Adam Vande More<amvandemore at gmail.com>:
>> On Fri, Oct 29, 2010 at 7:53 AM, dan<glimp at live.com>  wrote:
>>
>>> On 10/29/10 13:22, Adam Vande More wrote:
>>>
>>>> On Fri, Oct 29, 2010 at 6:13 AM, dan<glimp at live.com>    wrote:
>>>>
>>>>   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.
>>>>>
>>>>
>>>>
>>>> sysctl vfs.usermount=1
>>>>
>>>> Although it doesn't seem correct that you can mount that FS if it's
>>>> already
>>>> been mounted previously by root when that sysctl is at 0.
>>>>
>>>>
>>> Hello
>>>
>>> vfs.usermount is already set. In fact, I can readily mount the filesystem
>>> if I do not specify "-L ...".
>>>
>>> I did mount and then soon unmount the filesystem as root with "-L ...".
>>
>>
>> I see now.  The loading of the kernel module is not permitted as I think the
>> mount command attempts to load it if necessary.  I'm not aware of any method
>> of granting access to user which would allow them to load/unload kernel
>> modules.  Only root level privs can do that.
>>
>>
>> --
>> Adam Vande More
>> _______________________________________________
>> freebsd-questions at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>>
>
> I have the same trouble, I usually mount device by user with
> vfs.usermount=1 but for libiconv I need root...
>
> --
> Demelier David
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
>
Hello again,

I took a deeper look at the code. And later I found some work on the 
topic. Standard users receive error when mounting the file system -even 
if they have rights to mount it- because :

"character set conversion tables need to be loaded into kernel" and " 
that's not allowed to plain users, because charset tables are large 
enough to initiate a denial of service by filling kernel memory with 
many tables"

As I lernt while searching, one solution to the problem (if one wants to 
avoid mounting as root) is to preload some conversion tables when the 
system starts up. Some software has been developed to reach this goal: 
kiconvtool, that one can find in the ports tree [1] and that has been 
developed by Dmitry Marakasov [2] (thanks !!!).

By the way, even if this software solved a big part of the problem and 
gave me "a huge hand", to let it completely work I needed to slightly 
modify it because something was "missing".

Everything is explained in the following bug report :

http://www.freebsd.org/cgi/query-pr.cgi?pr=151833

Thanks, Gentlemen, for the pointers ;)

d

[1] http://www.freebsd.org/cgi/cvsweb.cgi/ports/sysutils/kiconvtool/
[2] http://wiki.freebsd.org/DmitryMarakasov/kiconvtool






More information about the freebsd-questions mailing list