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]#
Нет, это, кажется, всё-таки общая логика для всех 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]#
Created attachment 2751 [details] test-dir-perms_rw.sh тот изменённый тест.
(In reply to comment #1) > на ext3 так > делать тоже нельзя (правда, хотя бы сообщается об ошибке): На FAT не было ошибки из-за опции quiet -- https://bugzilla.altlinux.org/show_bug.cgi?id=16533 .
(In reply to comment #0) > Вот как выглядит работа тестирующего скрипта на ext3: > > # cd /tmp > [root@etik tmp]# mkdir testing-dir-perms-on-ext3 Sorry, это было на tmpfs, но, как можно догадаться, на ext3 всё так же и дела не меняет.