Bug 16533 - fat fs: не сообщает об ошибке при невозможности сменить права
Summary: fat fs: не сообщает об ошибке при невозможности сменить права
Status: CLOSED NOTABUG
Alias: None
Product: ALT Linux Lite
Classification: Distributions
Component: installer (show other bugs)
Version: 4.0.2
Hardware: all Linux
: P2 minor
Assignee: Anton V. Boyarshinov
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-03 01:51 MSD by Ivan Zakharyaschev
Modified: 2008-08-04 02:09 MSD (History)
1 user (show)

See Also:


Attachments
test-dir-perms_rw.sh (469 bytes, text/plain)
2008-08-03 01:51 MSD, Ivan Zakharyaschev
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2008-08-03 01:51:46 MSD
Created attachment 2752 [details]
test-dir-perms_rw.sh

4.0.3 --
ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/4.0/Desktop/4.0.3/iso/altlinux-4.0.3-lite-i586-install_ru-cd.iso

Судя по всему (https://bugzilla.altlinux.org/show_bug.cgi?id=16532 ), на FAT не получается сменить права на директорию по той же логике, что и на ext3 (владельцем считается root); но при этом на ext3 есть сообщение о соответствующей ошибке, а на FAT нет. Это мешает пониманию происходящего, debugging-у и может помешать правильной работе программ, которые расчитывают на то, что операция выполнилась, если нет ошибки.

Вот как раздел был почти автоматически смонтирован при установке системы (опции я не менял после инсталятора):

$ mount | fgrep /WIN
/dev/hda1 on /WIN type vfat (rw,umask=0,quiet,showexec,iocharset=utf8,codepage=866)
$ 

И дело в опции quiet. Может, её убрать из набора опций, которые ставятся при настройке монтируемых FAT-разделов во время установки системы?


Иллюстрация. Ср. выпонение приложенного скрипта на ext3 и на FAT:

[root@etik testing-dir-perms-on-ext3]# ~imz/bugreports/test-dir-perms_rw.sh root imz
+ rmdir rw-dir
+ ls -ld .
drwxrwxrwx 2 root root 40 Aug  2 23:18 .
+ su -c 'mkdir -p rw-dir' root
+ su -c 'chmod a+w rw-dir' root
+ ls -ld rw-dir
drwxrwxrwx 2 root root 40 Aug  2 23:18 rw-dir
+ su -c 'chmod a-w rw-dir' imz
chmod: changing permissions of `rw-dir': Operation not permitted
[root@etik testing-dir-perms-on-ext3]# 

vs.

[root@etik testing-dir-perms-on-fat]# ~imz/bugreports/test-dir-perms_rw.sh root imz
+ rmdir rw-dir
+ ls -ld .
drwxrwxrwx 2 root root 32768 Aug  2 23:19 .
+ su -c 'mkdir -p rw-dir' root
+ su -c 'chmod a+w rw-dir' root
+ ls -ld rw-dir
drwxrwxrwx 2 root root 32768 Aug  2 23:19 rw-dir
+ su -c 'chmod a-w rw-dir' imz
+ ls -ld rw-dir
drwxrwxrwx 2 root root 32768 Aug  2 23:19 rw-dir
[root@etik testing-dir-perms-on-fat]# 

-- операция не подействовала, но ошибки нет.
Comment 1 Ivan Zakharyaschev 2008-08-03 01:55:27 MSD
После убирания опции quiet всё как ожидается:

[root@etik testing-dir-perms-on-fat]# ~imz/bugreports/test-dir-perms_rw.sh root imz
+ rmdir rw-dir
+ ls -ld .
drwxrwxrwx 2 root root 32768 Aug  3 01:54 .
+ su -c 'mkdir -p rw-dir' root
+ su -c 'chmod a+w rw-dir' root
+ ls -ld rw-dir
drwxrwxrwx 2 root root 32768 Aug  3 01:54 rw-dir
+ su -c 'chmod a-w rw-dir' imz
chmod: changing permissions of `rw-dir': Operation not permitted
[root@etik testing-dir-perms-on-fat]# 
Comment 2 Ivan Zakharyaschev 2008-08-03 04:01:20 MSD
Может, это неверно и ничего менять не надо, будет больше неприятностей -- у кого-то mc много ругался:

http://lists.altlinux.org/pipermail/community/2004-August/325890.html .
Comment 3 Andrey Rahmatullin 2008-08-03 13:42:39 MSD
(In reply to comment #0)
> Судя по всему (https://bugzilla.altlinux.org/show_bug.cgi?id=16532 ), на FAT не получается сменить
> права на директорию
Ещё бы.

> по той же логике, что и на ext3 (владельцем считается root);
Чочо? На FAT просто не хранятся права.

> И дело в опции quiet. Может, её убрать из набора опций, которые ставятся при
> настройке монтируемых FAT-разделов во время установки системы?
Кому и зачем это может понадобиться?

(In reply to comment #2)
> Может, это неверно и ничего менять не надо, будет больше неприятностей -- у
> кого-то mc много ругался:
Ну в mc галочка есть.
Comment 4 Ivan Zakharyaschev 2008-08-04 02:00:08 MSD
Ну да, я осознал, что это скорее дурацкое пожелание, чем осмысленное.

mc, действительно, будет много ругаться, если убрать quiet (возможно, в нём и есть галочка, отключающая ругань) -- это вроде бы единственный аргумент за quiet.

Но и реальных аргументов против пока у меня нет.
Comment 5 Ivan Zakharyaschev 2008-08-04 02:09:55 MSD
(In reply to comment #3)
> (In reply to comment #0)
> > Судя по всему (https://bugzilla.altlinux.org/show_bug.cgi?id=16532 ), на FAT не получается сменить
> > права на директорию
> Ещё бы.
> 
> > по той же логике, что и на ext3 (владельцем считается root);
> Чочо? На FAT просто не хранятся права.

Одно право (на запись) всё-таки хранится. И я про то, что формально в linux есть какой-то один назначенный владелец (и, BTW, как я понял, это никогда не даст POSIX-системе эмулировать поведение DOS / Windows: кто угодно может менять право на запись).

А из-за quiet выглядело странно: chmod исполняется без ошибок, но право на запись не меняется. А всё дело было не в том, что это рпаво на запись в принципе нельзя хранить на FAT, а в том, что пользователь не был формальным владельцем. (Без quiet этот случай удалось бы отличить: всё-таки некоторые chmodы нормально отрабатывают для FAT.)

> > И дело в опции quiet. Может, её убрать из набора опций, которые ставятся при
> > настройке монтируемых FAT-разделов во время установки системы?
> Кому и зачем это может понадобиться?