Автор Тема: Правата на файловите системи  (Прочетена 2347 пъти)

poisoner

  • Напреднали
  • *****
  • Публикации: 420
    • Профил
Значи монтирам два дяла единия фат32 другия нтфс. Директориите в /мнт/хда1 и хда5 съм ги създал като роот,  сега на тях имам права само като роот. Като дам пропертис и правя права за писане и четене ми дава грешка. А може и в фстаб да имам грешка за това да нямам права. Кажете точно каков трябва да пиша в фстаб за да имам права на друг юсер, аз писах owner=username, ама пак не става. Като съм с юзъра не мога да бралсвам устройствата.
Активен

Buzly - All Videos and Movies
TOP MOVIES
маратонки онлайн

Nerf

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Правата на файловите системи
« Отговор #1 -: Jul 24, 2004, 19:19 »
Здрасти

часта с фат партишаните от fstab трябва да наподобява:
/dev/hda1         /mnt/win_c      vfat            umask=02,default     0 0
така всички потребителчета ще могат да четат (Read-Only) фат партишаните   а ако добавиш uid=username,gid=yourgroup(umask=02,uid=username,gid=yourgroup,default) дадения потребител че е owner и    педполагам се досештам натам за групата

а иначе ти дава грешки като се пробваш да сменяш пермишаните на фат фаилове(ако това правиш)  защото фат не подържа пермишани.

ами маи това е всичко което ти трябва '<img'>
Активен

The computer said,
         Requires Windows or better!
  So I install Linux.
and now:
Linux HellHole 2.4.26-gentoo-r6 #2 Sun Jul 18 12:36:56 EEST 2004 i686 AMD Duron(tm) p AuthenticAMD GNU/Linux

poisoner

  • Напреднали
  • *****
  • Публикации: 420
    • Профил
Правата на файловите системи
« Отговор #2 -: Jul 24, 2004, 19:25 »
До някъде се оправих.
Това ми е фстаба ама не мога да пиша върху фата. Ако знаете защо кажете.
Примерен код
/dev/hda7        swap             swap        defaults            0   0
/dev/hda6        /                ext3        defaults               1   1
/dev/hda1        /mnt/hda1        vfat        rw,user,suid,umask=022   0   0  
/dev/hda5    /mnt/hda5     ntfs         ro,user,suid,umask=666   0   0
/dev/cdrom       /mnt/cdrom       iso9660     noauto,user,ro        0   0
/dev/fd0         /mnt/floppy      auto        noauto,user           0   0
devpts           /dev/pts         devpts      gid=5,mode=620         0   0
proc             /proc            proc        defaults               0   0

Активен

Buzly - All Videos and Movies
TOP MOVIES
маратонки онлайн

Nerf

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Правата на файловите системи
« Отговор #3 -: Jul 24, 2004, 20:34 »
уффф...
преправи:
/dev/hda1        /mnt/hda1        vfat        rw,user,suid,umask=022 0   0
на:
/dev/hda1        /mnt/hda1        vfat        rw,umask=02,uid=username,gid=groupname 0 0
примерно де
Активен

The computer said,
         Requires Windows or better!
  So I install Linux.
and now:
Linux HellHole 2.4.26-gentoo-r6 #2 Sun Jul 18 12:36:56 EEST 2004 i686 AMD Duron(tm) p AuthenticAMD GNU/Linux

poisoner

  • Напреднали
  • *****
  • Публикации: 420
    • Профил
Правата на файловите системи
« Отговор #4 -: Jul 24, 2004, 21:39 »
ок ше пробвам, ама те разбрах че така ще имам достъп но само рийд онли. След малко ше пробвам.
Активен

Buzly - All Videos and Movies
TOP MOVIES
маратонки онлайн

poisoner

  • Напреднали
  • *****
  • Публикации: 420
    • Профил
Правата на файловите системи
« Отговор #5 -: Jul 24, 2004, 22:38 »
10x Nerf стата по тоя начин дето каза.
Активен

Buzly - All Videos and Movies
TOP MOVIES
маратонки онлайн

Vik

  • Напреднали
  • *****
  • Публикации: 74
    • Профил
Правата на файловите системи
« Отговор #6 -: Jul 25, 2004, 11:14 »
Каква е разликата между umask=02 и umask=022? Първото защо е съставено само от 2 цифри, тази команда не бесхе ли обратната на chmod която е с 3 цифри
Активен

pill

  • Напреднали
  • *****
  • Публикации: 27
    • Профил
Правата на файловите системи
« Отговор #7 -: Jul 27, 2004, 12:05 »
хм......,ами мисля че имаше нещо такова - всеки файл има асоциирана структура от тип struct stat, която съдържа информация за типа на файла - обикновен, директория, у-во, сокет,..., дата на създаване, последна модификация и т.н. е та в тая структура има едно поле st_mode - което съдържа информацията за типа и правата на достъп - те май са  9 бита - по три за all users - read - write - exec , group id - rwx , owner id rw - май в тоя ред и когато бита е вдигнат в 1 означава че съответния потребител има съответния достъп. командите с които се задава umask променят или задават тея права на достъп като umask е 8-чна константа - значи 666 в 2-чен формат е 110 110 110, което значи достъп за четене и писане за всички типове потребители, 02 е 000 000 010 - достъп само за писане '<img'> само на собственика , 022 е само за писане '<img'> от собственика на файла и групата му, а 777 е всеки си прави каквото си иска...май беше нещо подобно...със сигурност обаче umask e 8-чно число... '<img'>
Активен

Филип Бонев

  • Напреднали
  • *****
  • Публикации: 517
  • Distribution: Debian
  • Window Manager: KDE
    • Профил
Правата на файловите системи
« Отговор #8 -: Jul 27, 2004, 12:27 »
Абе не беше ли че umask задава кои битове да не са сетнати т.е. при umask=02 това значи да не е сетнат 000 000 010 тоя бит и значи правата ще бъдат rwxrwxr-x. Тя нали за това е маска да се направи една логическа операция с нещо и да се получи резултата примерно:
Примерен код
111 111 111 AND 000 000 010 = 111 111 101
Активен

Поздрави,
Филип Бонев

pill

  • Напреднали
  • *****
  • Публикации: 27
    • Профил
Правата на файловите системи
« Отговор #9 -: Jul 27, 2004, 13:28 »
ами в случая с fstab май е така, обаче като зададеш такава маска на chmod тя директно се прилага - напр.

Примерен код
[root@callisto docs]# ls -l
total 4
-rw-r--r--    1 root     root            2 Jul 27 13:12 tmpfile
[root@callisto docs]# chmod +3 tmpfile
[root@callisto docs]# ls -l
total 4
--------wx    1 root     root            2 Jul 27 13:12 tmpfile*
[root@callisto docs]# chmod 444 tmpfile
[root@callisto docs]# ls -l
total 4
-r--r--r--    1 root     root            2 Jul 27 13:12 tmpfile
[root@callisto docs]# chmod 3 tmpfile
[root@callisto docs]# ls -l
total 4
--------wx    1 root     root            2 Jul 27 13:12 tmpfile*

иначе реда явно е all rwx - giud rwx - uid rwx
Активен

Филип Бонев

  • Напреднали
  • *****
  • Публикации: 517
  • Distribution: Debian
  • Window Manager: KDE
    • Профил
Правата на файловите системи
« Отговор #10 -: Jul 27, 2004, 14:20 »
Да не продължаваме с това ето какво са написали хората(man umask)
Цитат
umask sets the umask to mask & 0777.
The  umask  is used by open(2) to set initial file permissions on a newly-created file.  Specifically,  permissions in the  umask  are  turned  off from the mode argument to open(2) (so, for example, the common umask  default  value of 022 results in new files being created with permissions 0666 & ~022 = 0644 = rw-r--r-- in the usual case where the mode is specified as 0666).
Активен

Поздрави,
Филип Бонев

pill

  • Напреднали
  • *****
  • Публикации: 27
    • Профил
Правата на файловите системи
« Отговор #11 -: Jul 27, 2004, 18:48 »
това и аз го видях, обаче имаше и едно:
Цитат
SYNOPSIS

      #include <sys/types.h> #include <sys/stat.h> mode_t umask(mode_t mask );

т.е. става въпрос за библиотечна ф-я, а в bash поне такова нещо като umask май няма - поне аз нищо не можах да намеря...може би някои приложения функции просто си добавят environment variable и се възползват от тая ф-я... а помежду другото, малко по-долу:
Цитат
/dev/hda5 /mnt/hda5  ntfs      ro,user,suid,umask=666 0   0

хм... а тва какво трябва да значи - че ntfs дяла е монтиран execute only?
...
Активен

Филип Бонев

  • Напреднали
  • *****
  • Публикации: 517
  • Distribution: Debian
  • Window Manager: KDE
    • Профил
Правата на файловите системи
« Отговор #12 -: Jul 27, 2004, 23:28 »
Ами човече точно това значи и ако си монтираш дяла така и отидеш /mnt/hda5 и ще видиш че така(става дума за umask=0666 а не за umask=666 защото двете имат разлика едното е 8-чно другото шестнайсетично).
Нуло пред цифрата значи, че е осмично и за маската трябва да се слага нулата '<img'>
Активен

Поздрави,
Филип Бонев

pill

  • Напреднали
  • *****
  • Публикации: 27
    • Профил
Правата на файловите системи
« Отговор #13 -: Jul 28, 2004, 10:19 »
бе или говорим за различни работи или нещо не можем да се разберем...не искам да се заяждам ама все си мисля че маската която се подава е 8-чно число дори и да я няма нулата пред числото; а 777=111111111 - т.е. пълен достъп, 0666=110110110, а 0х666=11001100110, което въобще не може да е маска на 9 бита, по същата логика 10-ично 666=1010011010 което пак не може да е маска на 9 бита; но както и да е - който го интересува да си прочете сам:

http://man.he.net/man8/mount

http://man.he.net/?topic=fstab&section=all

Поздрави
Активен