Puncte:0

Există o modalitate de a identifica ce computer a creat un fișier pe o partajare Samba (mediu mixt)?

drapel za

În prezent, lucrez la o aplicație de proiect secundară mică care utilizează un monitor de fișiere pentru a monitoriza folderele specificate pentru modificări. Una dintre cele mai frecvente utilizări ale aplicației ar fi o partajare de rețea, cum ar fi o partajare samba. Un exemplu de una dintre aceste utilizări ar fi:

  • Un client Windows
  • Un client MacOS
  • Un client Linux
  • Un server Ubuntu care rulează serviciul Samba

Când clientul Windows adaugă un fișier la partajare, numai clientul MacOS și clientul Linux sunt notificați. Cu toate acestea, observatorii de fișiere de pe fiecare client (inclusiv clientul Windows) vor detecta noul fișier. Pentru a putea împiedica clientul Windows („creatorul” fișierului) să primească notificarea, aș avea nevoie de aplicație pentru a putea ști cine a creat fișierul.

// un pseudocod ciudat
func onFileCreated(e) {
    dacă (e.File.Creator == GetHostName())
        întoarcere;

    SendToastNotification(e.File);
}

În prezent, fiecare client este conectat la același utilizator Samba, iar atributul Owner afișează utilizatorul Samba (cum ar trebui). Nu înțeleg cu adevărat funcționarea interioară a Samba, dar iată câteva abordări la care mă gândesc:

  • Fiecare client are propriul utilizator pe serverul Samba (ar fi plictisitor să adăugați mai mulți clienți în viitor)
  • Fiecare client este responsabil să știe dacă tocmai a scris un fișier în partajarea Samba (ar avea nevoie de privilegii de nivel înalt pentru a accesa gestionatorii de fișiere)
  • Când un fișier este încărcat în partajare, serverul Samba poate să adauge într-un fel un atribut de fișier personalizat arbitrar care indică numele de gazdă al oricărui client a creat fișierul (cel mai bun scenariu dacă este posibil)

Poate că există opțiuni mai bune disponibile. Multe mulțumiri in avans.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.