SAMBA Linux

 

Nechcené zmazanie súboru zo spoločného úložiska je nepríjemná vec. Obnova zo zálohy je možná, ale zálohy sa zväčša robia raz za deň. A čo toho pol dňa práce? Prídete oň? Nie ak si nastavíte na súborov serveri mazanie do koša, ktoré užívateľ neovplyvní.

Na súborov serveri Samba sa to robí takto:

Kôš

V definícii sieťového disku zapneme objekt recycle a nastavíme jeho parametre:

[data]
comment = data
path= /home/data
read only = no
public = yes
create mask = 0660
directory mask = 0770
group = users
force group = users
vfs objects = recycle
recycle:keeptree = Yes
recycle:repository = .deleted/%U
recycle:touch = Yes
recycle:versions = No
recycle:maxsize = 0
recycle:exclude = *.tmp,.*, ~*
# recycle:noversions = *.doc

Vysvetlenie si zaslúži „recycle:repository = .deleted/%U“, to znamená že zmazané dáta sa budú ukladať do adresara .deleted/ . Parameter „ recycle:touch = Yes“ nám zabezpečí, že zmazanému súboru sa nastaví aktuálny dátum a čas. Toto využijeme pri pravidelnom mazaní koša z cronu:

#mazanie koša
4 4 * * * find /home/data/.deleted/ -type f -and -mtime +30 -exec rm -f {} \;find /home/data/.deleted/ -type d -and -empty -exec rmdir {} \;

Prvý príkaz find nájde v koši všetky súbory staršie ako 30 dní a zmaže ich. Druhý zmaže v koši prázdne adresáre.

Logovanie aktivít užívateľov

Ďalšie vylepšenie môže byť logovanie aktivít. Na to použijeme objekt full_audit. Pozor, ak chceme používať viacero objektov v jednom share, zadávame to takto:
vfs objects = recycle,full_audit
a nie takto:
vfs objects = recycle
vfs objects = full_audit

Keď si náš ukážkový sieťový disk rozšírime o tento objekt, môže to vyzerať nejak takto:

[data]
comment = data
path= /home/data
read only = no
public = yes
create mask = 0660
directory mask = 0770
group = users
force group = users
vfs objects = recycle
recycle:keeptree = Yes
recycle:repository = .deleted/%U
recycle:touch = Yes
recycle:versions = No
recycle:maxsize = 0
recycle:exclude = *.tmp,.*, ~*
full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rmdir read pread write pwrite rename unlink
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = NOTICE

Aké operácie nás zaujímajú, definujeme v full_audit:success. Dá sa monitorovať toho viac, viz. dokumentácia https://www.samba.org/samba/docs/man/manpages/vfs_full_audit.8.html

Ešte si môžeme v syslogu presmerovať výstup audit logu do samostatného súboru a cez logrotate zabezpečiť jeho premazávanie.

S takto nastaveným súborovým serverom zachránime nejednému užívateľovi hodiny práce.

 

Nie ste si istý, ako je vaše sieťové úložisko nastavené ? Zdá sa Vám náš návod zložitý? Veľmi radi Vám zo správnym nastavením sieťovej infraštruktúry pomôžeme.

 

Team zoom it