Bug 16532 - fat fs: пользователь не может поменять права на директорию, хотя разрешено
Summary: fat fs: пользователь не может поменять права на директорию, хотя разрешено
Status: CLOSED NOTABUG
Alias: None
Product: ALT Linux Lite
Classification: Distributions
Component: bugs (show other bugs)
Version: 4.0.2
Hardware: all Linux
: P2 normal
Assignee: Anton V. Boyarshinov
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-02 23:15 MSD by Ivan Zakharyaschev
Modified: 2008-08-03 03:13 MSD (History)
0 users

See Also:


Attachments
test-dir-perms.sh (403 bytes, text/plain)
2008-08-02 23:15 MSD, Ivan Zakharyaschev
no flags Details
test-dir-perms_rw.sh (469 bytes, text/plain)
2008-08-02 23:26 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-02 23:15:19 MSD
Created attachment 2750 [details]
test-dir-perms.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

Приложенный скрипт создаёт от имени пользователя директорию (она оказывается read-write) и пытается от его же имени сделать её read-only.

На ext3 это получается, на fat только от имени root.

Очень неудобно, если хочется дать пользователям доступ к общим данным на fat-разделе, оказывается, что они без root-а не всегда могут справится (например, если директория read-only, они не могут сами с ней справится).

Вот как выглядит работа тестирующего скрипта на ext3:

# cd /tmp
[root@etik tmp]# mkdir testing-dir-perms-on-ext3
[root@etik tmp]# chmod a+w testing-dir-perms-on-ext3
[root@etik tmp]# cd testing-dir-perms-on-ext3/
[root@etik testing-dir-perms-on-ext3]# ~imz/bugreports/test-dir-perms.sh imz
+ rmdir rw-dir
rmdir: rw-dir: No such file or directory
+ :
+ ls -ld .
drwxrwxrwx 2 root root 40 Aug  2 22:58 .
+ su -c 'mkdir -p rw-dir' imz
+ ls -ld rw-dir
drwxr-xr-x 2 imz imz 40 Aug  2 22:59 rw-dir
+ su -c 'chmod a-w rw-dir' imz
+ ls -ld rw-dir
dr-xr-xr-x 2 imz imz 40 Aug  2 22:59 rw-dir
[root@etik testing-dir-perms-on-ext3]# 

а вот на FAT для пользователя и для root:

[root@etik testing-dir-perms-on-fat]# ~imz/bugreports/test-dir-perms.sh imz
+ rmdir rw-dir
rmdir: rw-dir: No such file or directory
+ :
+ ls -ld .
drwxrwxrwx 2 root root 32768 Aug  2 23:01 .
+ su -c 'mkdir -p rw-dir' imz
+ ls -ld rw-dir
drwxrwxrwx 2 root root 32768 Aug  2 23:01 rw-dir
+ su -c 'chmod a-w rw-dir' imz
+ ls -ld rw-dir
drwxrwxrwx 2 root root 32768 Aug  2 23:01 rw-dir
[root@etik testing-dir-perms-on-fat]# ~imz/bugreports/test-dir-perms.sh root
+ rmdir rw-dir
+ ls -ld .
drwxrwxrwx 2 root root 32768 Aug  2 23:02 .
+ su -c 'mkdir -p rw-dir' root
+ ls -ld rw-dir
drwxrwxrwx 2 root root 32768 Aug  2 23:02 rw-dir
+ su -c 'chmod a-w rw-dir' root
+ ls -ld rw-dir
dr-xr-xr-x 2 root root 32768 Aug  2 23:02 rw-dir
[root@etik testing-dir-perms-on-fat]#
Comment 1 Ivan Zakharyaschev 2008-08-02 23:24:31 MSD
Нет, это, кажется, всё-таки общая логика для всех fs, а не ошибка. FAT ведь была смонтирована так, что владелец всего root; и вот, изменённый тест (делает то же самое, только от имени двух разных пользователей) показывает, что на ext3 так делать тоже нельзя (правда, хотя бы сообщается об ошибке):

[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]# 
Comment 2 Ivan Zakharyaschev 2008-08-02 23:26:38 MSD
Created attachment 2751 [details]
test-dir-perms_rw.sh

тот изменённый тест.
Comment 3 Ivan Zakharyaschev 2008-08-03 02:32:41 MSD
(In reply to comment #1)

> на ext3 так
> делать тоже нельзя (правда, хотя бы сообщается об ошибке):

На FAT не было ошибки из-за опции quiet -- https://bugzilla.altlinux.org/show_bug.cgi?id=16533 .
Comment 4 Ivan Zakharyaschev 2008-08-03 03:13:46 MSD
(In reply to comment #0)

> Вот как выглядит работа тестирующего скрипта на ext3:
> 
> # cd /tmp
> [root@etik tmp]# mkdir testing-dir-perms-on-ext3

Sorry, это было на tmpfs, но, как можно догадаться, на ext3 всё так же и дела не меняет.