Re: [OT?] UMSDOS & DOS-files

From: Andrea Manzini (linux@netbusiness.it)
Date: Thu Jan 07 1999 - 21:23:31 CET


On Thu, Jan 07, 1999 at 03:38:14PM +0100, sime1brt wrote:
> Scusate se abuso della vostra bontà...
> C'è un motivo per il quale l'UMSDOS considera tutti i files dos (/DOS in
> muLinux) come eseguibili? Ho provato a cambiare questo attributo, ma
> (giustamente) senza riuscirci; probabilmente UMSDOS in questo modo "tutela"
> i files DOS non consentendomi di "rovinarli".

e' una caratteristica di tutti i filesystem basati su FAT; succede lo stesso
per DOS, VFAT e FAT32.
 
> * c'è un modo per evitare che di default i files abbiano attributo eseguibile?

Devi usare la umask(2). La umask è un valore ottale che indica quali
attributi bisogna "spegnere" di un file.
Per default in linux hai la umask settata a 002, 022 se lavori come root.
Questo significa che i file senza nessun attributo (come appunto i
file di un filesystem FAT) assumono i permessi 0777 & ~002 = rwxrwxr-x . Se
imposti la umask a 001, e dopo monti il filesystem, vedrai che la terza "x"
sparisce e riappare la "w" ;-)
per cambiare la umask "al volo" solo per un determinato filesystem, c'è
l'apposita opzione umask= del comando mount(8).

> * c'è un motivo per il quale viene assegnato proprio questo attrib, che
> forse è il più "delicato" dei tre?

credo che sia per fare in modo che le directory restino accessibili...
in /usr/src/linux/fs/umsdos/ioctl.c si legge:

%%cut%%
              /* #Specification: ioctl / UMSDOS_DOS_SETUP
                      The UMSDOS_DOS_SETUP ioctl allow changing the
                      default permission of the MsDOS file system driver
                      on the fly. The MsDOS driver apply global permission
                      to every file and directory. Normally these permissions
                      are controlled by a mount option. This is not
                      available for root partition, so a special utility
                      (umssetup) is provided to do this, normally in
                      /etc/rc.local.

%%cut%%

Quindi nel caso di root UMSDOS devi usare quella utility, umssetup.
_______________ ______________________
\\// \\// // Andrea Manzini <linux@netbusiness.it> // We don't need Gates
//\\ // //_________________________________________// we don't need Windows



This archive was generated by hypermail 2.1.6 : Sat Feb 08 2003 - 15:27:11 CET