Newsgroup: it.comp.os.linux.sys
Titolo: impedire eliminazione

Salve a tutti
ho un problema
sul mio serverino con ubuntu 9.10 server ho installato samba.
ho esigenza che alcuni client windows si colleghino, mediante
autenticazione user samba, su un file xls presso una cartella
condivisa.
I client devo poter apportare tutte le modifiche e salvataggio al file
excel ma non l'eliminazione.
come posso negare la cancellazione di tale file ai client smb?
attendo un vs aiuto.


chattr +u tuofile.xls
Occhio: chattr hai poteri della supermucca. Nemmeno root può fare
niente su file con questi attributi, se non rimuovere o impostare gli
attributi stessi. E solo root può impostare questi attributi.

 chattr +u tuofile.xls
sorry, ma sui filesystem ext2/3 non funziona (e ho provato che non
funziona nemmeno con ext4).
The `c', 's',  and `u' attributes are not honored by the ext2 and ext3
filesystems as implemented in the current mainline Linux kernels.
These attributes may be implemented in future versions of the ext2 and
ext3 filesystems.
Ho l'impressione che - lato linux - non puoi fare nulla.
L'unica cosa ch efunziona è 'chattr +a' ma puoi fare solo degli
append, e non modifiche e salvataggi.
Sul lato samba non so se esiste qualche diavoleria.

 excel ma non l'eliminazione.
L'eliminazione di un file, a differenza di quel che si pensa, č
un'operazione che avviene sulla directory, non sul file.
Quindi se vuoi che un file non possa essere eliminato o rinominato basta che
togli i diritti di scrittura alla directory che lo contiene.
Un'alternativa puň essere quella di settare lo sticky-bit (o meglio la
restricted deletion flag) sulla directory, settare l'owner del file a root e
dare i permessi di lettura e scrittura a tutti gli altri che possono
modificarlo ma non cancellarlo.
man chmod
In alternativa impostare delle ACL piů articolate
man setfacl
man 5 acl
-- 
Flavio Visentin
Ubuntu in Zulu significa "Non so usare Debian". (cit. CtRiX)

 chattr +u tuofile.xls
Non blocca mica l'eliminazione...
Ne salva una copia di backup per farne l'undelete,
ma non blocca le eliminazioni.
"When a file with the 'u' attribute set is deleted, its contents are 
saved. This allows the user to ask for its undeletion."
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito č di fare il possibile per la
salvezza degli anni nei quali viviamo,
sradicando il male dai campi che conosciamo.

 writes:

Non vorrei spararla grossa ma credo che solo il proprietario possa
cancellare un file.
Quindi fai un
chown <utente_fittizio>:<gruppo> *
dove $utente_fittizio fa parte di $gruppo ma non rappresenta nessuno in particolare
e un
chmod 774 * (o qualcosa del genere)
e dovresti essere a posto, o mi sbaglio?

 togli i diritti di scrittura alla directory che lo contiene.
Finalmente qualcuno che sa un po' di teoria ;-)
Anch'io faccio cos� in queste situazioni:
chmod a+w sul file
chmod a-w sulla directory che lo contiene
� semplice e funziona.
Un backup quotidiano � cmq consigliabile quando tanti utenti mettono le
mani su qualcosa.
-- 
"Tutto quello che ho e' questo pollo di gomma con una carrucola in
mezzo." (Guybrush Threepwood)
http://med.homelinux.org/spooky

 Ne salva una copia di backup per farne l'undelete,
Forse in ext5 o in ext6 :-) Per il momento non fa ne questo, ne quello.
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
   printf $i }'; echo

 mani su qualcosa.
Meglio:
ln budget.xls TelefoniDonnineAllegre.Fate-i-bravi-o-lo-cancello.cri
ln budget.xls Telefono-BradPitt-(ochi va per la maggiore).Fate-le-
brave-o-lo-cancello.cri
;-)

 Forse in ext5 o in ext6 :-) Per il momento non fa ne questo, ne quello.
No, certamente, ma stando alla man-page, nei filesystem supportati
non bloccherebbe comunque il delete.

 
anche perche', dal punto di vista del danno, e' molto poca la differenza 
tra cancellare completamente un file e lasciarlo dov'e' eliminandone 
l'intero contenuto...
un backup ti salva in entrambi i casi ^^
-- 
Paolo opg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 ext3 filesystems.
[alessandro@nika ~]$ uname -r
2.6.33.2
[alessandro@nika ~]$ mount | grep /home
/dev/hda6 on /home type ext3 (rw,nosuid,nodev,noatime)
[alessandro@nika ~]$ loh .bashrc
-rw------- 1 alessandro 321 22 feb 17:55 .bashrc
[alessandro@nika ~]$ lsattr .bashrc
--------------- .bashrc
[alessandro@nika ~]$ chattr +u .bashrc
[alessandro@nika ~]$ lsattr .bashrc
-u------------- .bashrc
[alessandro@nika ~]$
  Ciao,
-- 
Alessandro Selli 
http://alessandro.route-add.net
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.
Chiave PGP/GPG: EC885A8B

 [alessandro@nika ~]$
Preparatevi ad inorridire...
pippo:~# uname -r
2.6.1
pippo:~# mount | grep " / "
/dev/ide/host0/bus1/target0/lun0/part1 on / type ext3 (rw,errors=remount-ro)
pippo:~# lsattr pkglist.txt
----------------- pkglist.txt
pippo:~# chattr +u pkglist.txt
pippo:~# lsattr pkglist.txt
-u--------------- pkglist.txt
pippo:~#
Cosa vuol dire tutto ci�? Semplicemente che l'attributo lo si pu� impostare
da sempre (IIRC anche coi kernel 2.4.x) ma non viene onorato, quindi � inutile.
