LINUX.ORG.RU

bug mount ?


0

0

Тупой вопрос после плясок с бубном и man mount:
Имеем ядро 2.4.25. Имеем масдайный раздел /dev/hda1.
Хотим подмонтировать его с правами 700.

mkdir /tmp/zzz
mount -t vfat -o umask=077 /dev/hda1 /tmp/zzz
chmod 700 /tmp/zzz

После этого права все равно drwxr-xr-x

На linux разделах (например reiserfs) все ok.
Это bug при монтировании масдайного раздела в 2.4.25 ?

anonymous

А с каких это пор в фате появились права доступа? Поэтому у тебя такая картина.

anonymous
()
Ответ на: комментарий от anonymous

8-) Дык это а umask почему не срабатывает ? У меня машина в сеть торчит - надо только одному пользователю доступ дать а не всем на чтение... 8-(

anonymous
()
Ответ на: комментарий от anonymous

те после монтирования у тебя на точку монтирования права drwx------ ?
Значит это сломали в 2.4.25 8-(

anonymous
()

А почему не так: mkdir /tmp/zzz chmod 700 /tmp/zzz mount ...

кстати вместо -o umask=077 кажись можно юзать чтото другое аналогичного назначения типа -o mode=700 но точно по-памяти не помню.

PS встречал сообщение что chmod на точки монтирования иногда игнорируются а иногда приводят к непредсказуемым результатам.

cvv ★★★★★
()
Ответ на: комментарий от anonymous

Проверил на другой машине с 2.4.25 но старым mount и libc.
Все работает правильно! Значит дело не в ядре...
Куда дальше копать ? libc это что-ли ?

anonymous
()
Ответ на: комментарий от cvv

Нет chmod на примонтированную точку монтирования ничего не даст, а на примонтированную дает не навсех файловых системах. На масдае не дает. mode это не для vfat. Для vfat только umask.

anonymous
()
Ответ на: комментарий от anonymous

>Для vfat только umask.

man mount

umask=value Set the umask (the bitmask of the permissions that are not present). The default is the umask of the current process. The value is given in octal.

dmask=value Set the umask applied to directories only. The default is the umask of the current process. The value is given in octal. Present since 2.5.43.

fmask=value Set the umask applied to regular files only. The default is the umask of the current process. The value is given in octal. Present since 2.5.43.

обрати внимание на dmask+fmask может чем они помогут?

cvv ★★★★★
()
Ответ на: комментарий от cvv

в моем man mount dmask/fmask нет 8-) но это не важно так как дома на
2.4.25, mount (2.11n) и старом libc конструкция:
mount -t vfs -o umask=077 /dev/hda1 /tmp/zzz дает
drwx------
а на работе 2.4.25, mount (2.11n) и новом libc она дает:
drwxr-xr-x
и это по любому не правильно.

Я взял сырцы mount и осознал что он просто вызывает man 2 mount
и именно ему передает параметры типа uname=077 :)
Те проблема в libc или на стыке libc/ядро :)
Ну что-же начинаем углублятся в libc :)

anonymous
()
Ответ на: комментарий от anonymous

-o noauto,users,showexec=no,noexec,umask=022,codepage=866,iocharset=koi8-r 0 0
Уже точно не помню, какой из параметров работает
толи noexec, толи showexec=no
Проверь
Фата нет под рукой :-)

Deleted
()

Короче я просмотрел libc, прохачил vfat модуль в ядре и осознал что я подурости передавал то umask а то uname :))) Вообщем мне это пошло на пользу :)))

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.