Astăzi mă întorc cu un alt sfat pe care, personal, îl folosesc foarte mult: să poată avea un director partajat între mai mulți utilizatori pe un Linux. Le-am pus într-o situație, cu soția mea acasă folosim amândoi același computer cu Arch Linux dar fiecare cu propriul utilizator. Deci, am observat problema cu acele foldere pe care le împărtășim ca muzică sau fotografii, deoarece fiecare avea fișierele sale, duplicând lucruri.
Atunci ne-am gândit creați un folder partajat, dar aceasta este problema permisiunilor. Dacă dosarul este al meu, nu îl vede, dacă fișierul pe care îl creez, nu îl șterge și așa mai departe. La început, patch-ul a fost că am acordat 777 permisiuni acelor fișiere de fiecare dată când am editat ceva pentru ca celălalt să acceseze până când am găsit soluția, Permisiuni de grup!
Ce sunt permisiunile de grup?
Acesta este cel mai bun, atribuiți acel director partajat și întregul său conținut un grup special cu permisiuni de citire și scriere, cu care toți membrii grupului vor avea acces la directorul menționat. Acest lucru permite, prin urmare, că doar prin adăugarea utilizatorilor noștri la grupul respectiv, putem interacționa deja în acel director.
Și cum îl configurez?
Aceasta este cea mai bună parte și continuăm să vă spun cum am făcut-o cu soția mea. Primul lucru este să creezi acel director, pe care, de exemplu, îl voi numi «partajat“.
sudo mkdir /home/compartido
Îl creez în interiorul / acasă și în afara conturilor noastre, pentru a evita ca directoarele superioare să se deranjeze cu propriile lor permisiuni. Acum trebuie să creăm grupul, pe care îl vom pune «partajat»
sudo groupadd compartidos
Și atribuim acest grup directorului pe care l-am creat anterior și îi schimbăm și permisiunile, astfel încât tot ceea ce creăm în interior, fie că sunt directoare sau fișiere, să aparțină și acestui grup.
sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname
De asemenea, trebuie să adăugăm utilizatorii noștri la acesta. Apoi, trebuie să repetăm această comandă pentru fiecare:
sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer
Până acum, avem directorul «/ acasă / partajat»Care aparține grupului«partajat«, Cu ceea ce vor putea accesa toți utilizatorii membri ai aceluiași și tot ce este creat în director, va aparține grupului cu ceea ce oricare dintre noi le va putea vedea.
Acum avem nevoie doar de un ultim pas, care poate fi opțional, dar este să schimbăm masca utilizatorilor, pentru a ne asigura că fiecare fișier nou pe care îl creăm este modificabil de către ceilalți membri ai grupului. Acest lucru afectează întregul utilizator, nu doar directorul, așa că trebuie să vadă dacă funcționează pentru ei sau nu. În cazul meu, deoarece doar eu și soția mea folosim sistemul, nu ne deranjează și atribuim o mască umedă de 002, ceea ce înseamnă că fiecare fișier creat începe cu 775 de permisiuni.
Editarea masca
Pentru a edita masca, fiecare utilizator trebuie să editeze fișierul .profile sau .bashrc care se află în interiorul casei utilizatorului și să modifice valoarea umaskului cu numărul dorit. Dacă opțiunea nu există, trebuie să o adăugăm.
Deci, în consolă punem:
sebastian@multivacs ~> vim .profile
Și vom vedea așa ceva:
Deci, mergem la linia care spune umask, apăsăm litera i pentru a edita și a elimina # pentru a elimina comentariul. Schimbăm numărul în 002. Dacă linia nu apare, trebuie să o adauge.
Odată terminat, apăsăm tasta Esc pentru a ieși din modul de editare și apoi scriem :+q+w. Ceea ce ne face să salvăm modificările și să ieșim din Vi.
Va arăta ca această imagine:
Și gata! Dacă își închid sesiunea de utilizator și o redeschid, vor fi luate modificările, cu care directorul partajat va funcționa deja.
Sfat grozav.
Genial.
Cu câțiva ani în urmă, am văzut nevoia să fac asta singur, ceea ce nu știam era masca ... Am pus o sarcină în crontab ont
Multumesc pentru sfat
Da, și crontabul este bun. Ce ați pus, pentru a atribui 775 permisiuni conținutului?
Sfat excelent .. .. salvat dacă este necesar;) ..
Ok, creați folderul / acasă / partajat și îi atribuiți grupul „partajat”, dar
Cărui utilizator îi aparține acest folder? Cu alte cuvinte, cine este proprietarul? Eu, cealaltă persoană sau utilizatorul root al cărui cont este dezactivat de când folosesc sudo?
Pe de altă parte, găsesc următoarea problemă: Fișierele pe care le creez nu pot fi șterse de cealaltă persoană, iar fișierele create de cealaltă persoană nu le pot șterge.
Ce am făcut greșit?
Când creați folderul cu sudo, ar trebui să rămâneți cu utilizatorul root ca proprietar. De asemenea, puteți modifica acest lucru cu comanda chown pentru a aloca un alt utilizator.
Pe de altă parte, verificați dacă fișierele pe care le creați fac acest lucru cu 775 de permisiuni (ceea ce dă umask 002). Dacă nu au aceste permisiuni, pot exista anumite setări greșite.
În mod similar, merită clarificat faptul că masca umask afectează fiecare fișier nou creat în director, dar dacă mută sau copiază conținut dintr-un alt loc, permisiunile originale sunt menținute și nu cele pe care le-am setat în director.
Hei Ai dreptate.
Am căutat și problema este cauzată de ultimul lucru pe care îl spuneți: când mutați un fișier dintr-o altă locație în folderul partajat, permisiunile originale sunt menținute.
Există o soluție la asta?
Aș putea folosi perle.
În acest caz, cel mai bun lucru ar fi să puneți un crontab așa cum a spus KZKG ^ Gaara, în care ați putea pune o comandă pentru a atribui grupul și permisiunile pentru conținutul folderului de fiecare dată.
Adică așa ceva în crontab:
sudo chgrp -R compartidos /home/compartido/*
chmod -R 775 /home/compartido/*
Pentru tot ce este nou, treceți la grupul Partajat cu permisiunile 775.
Ignorați * la sfârșitul fiecărei linii, mă gândeam la altceva când am pus-o 😛
Mulțumesc prietene.
Postare foarte bună, dar prefer să am o partiție separată, în care să pot pune tot ce vreau să împărtășesc. Am un disc generos de 500 GB, în care folosesc 100 GB cu Linux și o partiție de 400 GB (ntfs) în care se află toată muzica, fotografiile etc ... Pe computerul nostru suntem doi utilizatori și fiecare poate accesa partiția ntfs și punem și eliminăm ceea ce vrem, când vrem. Dacă nu vreau să împărtășesc nimic, am câteva lucruri în numele meu de utilizator. 🙂
Da, este un alt mod de a face acest lucru, dar problema nu este unde să puneți fișierele, ci să configurați permisiunile și să controlați accesul diferiților utilizatori.
O puteți avea pe o partiție NTFS, corectă, dar aveți și fragmentare, mai lentă decât EXT4 și mai puțină securitate, deși dacă este bine pentru dvs. să o aveți așa, este la fel de valabilă.
Bine! Sfat bun, dar aș adăuga în continuare o sarcină pentru a modifica permisiunile la 775 din noile fișiere la fiecare autentificare și pentru a rezolva problema fișierelor mutate dintr-un alt folder.
De asemenea, vă mulțumesc foarte mult pentru distribuire!
Interesant, mulțumesc!
Am ridicat ceva cu privire la grupul principal de partajare a unor distribuții gnu / linux. Unele distribuții creează utilizatorul cu utilizatorii grupului principal și nu folosesc un grup primar egal cu numele utilizatorului.
Diferența este că folosind utilizatorii grupului principal, în mod implicit, totul este partajat cu utilizatorii grupului căruia îi vor aparține toți utilizatorii creați în acea distribuție, dacă în schimb sunt creați cu același grup cu numele utilizatorului, în mod implicit nu nimic nu va fi împărtășit.
Exemplu:
$ ls -l /home/user/*.txt
-rw-r - r– 1 carlos carlos 126 25 Mar 2012 note.txt
$ ls -l /home/user/*.txt
-rw-r - r– 1 carlos users 126 25 Mar 2012 notes.txt
Nu recomand să utilizați utilizatorii grupului principal, mai bine să creați propriul grup principal atunci când creați utilizatorul.
#groupadd carlos
# useradd -g carlos -G lp, wheel, uucp, audio, cdrom, cdrw, usb, lpadmin, plugdev -m -s / bin / bash carlos
-G carlos indică utilizarea grupului părinte carlos.
Puteți schimba grupul principal al unui utilizator cu # usermod -g, dar acest lucru nu va schimba grupul principal al tuturor fișierelor și folderelor care sunt deja în / home / carlos, va trebui să le schimbați pe toate.
Exemplu: schimbați utilizatorii grupului principal din utilizatorul carlos în grupul principal carlos și apoi schimbați
toate permisiunile de fișiere și dosare ale utilizatorului carlos, astfel încât să rămână din carlos carlos.
#groupadd carlos
# usermod -g utilizatori carlos
# cd / acasă
# chown -R carlos: carlos carlos
În ceea ce privește partajarea, puteți crea un utilizator numit partajat cu grupul dvs. primar partajat și, astfel încât să nu existe probleme de permisiune la copiere, schimbați mai întâi utilizatorul
cu „$ su - shared”, atunci ceea ce doriți este copiat în / home / shared, cu aceasta și permisiunile pentru ceea ce este copiat vor deveni utilizatorul partajat.
Dacă există deja fișiere de copiere aparținând altor utilizatori și grupuri principale, trebuie să le schimbați pe toate.
# cd / acasă
# chown -R shared: shared shared
Rămâne doar ceva în limb, pe care nu știu cum să îl fac pentru a copia grafic ca utilizator partajat, adică fără a fi nevoie să faceți $ su - shared
A fost un lucru foarte prostesc să copiez grafic, hehe, eu folosesc pcmanfm aici în openbox, dar puteți utiliza managerul de fișiere pe care îl aveți sau doriți, este executat doar ca utilizator partajat și nu ca utilizator root.
$ su - partajat
$pcmanfm
$ delfin
$mc
etc etc
Tocmai am fost pe punctul de a răspunde la asta. Dacă nu, cealaltă este o crontab care schimbă de fiecare dată proprietarul fișierelor cu un
chown -R compartido:compartido compartido
Mi se pare că comanda „usermod -G thenewgroup elusuario” ceea ce face este, în principiu, să schimbe grupul utilizatorului în „thenewgroup”. Pentru a adăuga un utilizator existent într-un grup nou, cred că lucrul corect ar fi „usermod -aG elnuevogrupo elusuario”
Un alt lucru este că văd aici că mai multe persoane recomandă să faceți un „chmod -R 775”, dar care nu afectează doar directoarele, ci și toate fișierele (făcându-le executabile), ceea ce introduce un risc inutil. Mai bine faceți ceva de genul «găsiți / acasă / partajat-tip d -print0 | xargs -0 chmod 755 "și dacă este necesar cu fișierele puteți face ceva similar, dar folosind" -tip f "și acordând permisiunea 664.
În cele din urmă, o modalitate de a face ca mai multe conturi să aibă acces la un fișier sau dosar, indiferent de cine este proprietarul sau grupul, este utilizând comanda „setfacl” care se află în pachetul acl (dacă îmi amintesc bine). Utilizarea sa este bine explicată pe pagina manualului.
Am următoarea problemă. Am creat 4 utilizatori (web1, web2, web3, web4) și vreau să creez un folder de grup de acces pentru utilizatorii grupului web. Când creez fișierul .htaccess știu că trebuie să pun require valid-user, dar, dacă pun require valid-user web1 web2 web3 web4, astfel încât să poată accesa folderul cu parola lor, când încerc să accesez folderul, acesta îmi cere utilizatorul și parola fiecăruia. Cum pot fi solicitat doar numele de utilizator și parola celui care vrea să intre? deoarece se presupune că unul nu știe parola celuilalt.
Buna ziua.
Al 4-lea terminal ar trebui să aibă pluralul „partajat”:
sudo usermod -G shared Sebastian
sudo usermod -G a împărtășit-o pe femeia mea
Salutări.
Gustavo
Noroc :
Migrăm de la Windows Server la CentOs 6 și suntem încă în proces de adaptare. Întrebarea mea: Există o interfață grafică în CentOs pentru a partaja dosare și pentru a oferi utilizatorilor acces la modificarea, editarea și / sau ștergerea fișierelor?
Multumesc pentru ajutor.
De asemenea, instalez un centos 6 și vreau să-l folosesc cu samba care îmi permite să partajez fișiere de pe linux și windows, știu puțin, nu folosesc mult linux, dar la serviciu am fost întrebat, cum pot face pentru a partaja foldere dar în modul grafic ??.
Salut. Vă rog să mă ajutați! ... Se pare că, făcând acest lucru în utilizatorul meu din mintea linux, acum am pierdut privilegii. Nu pot rula ceva de genul sudo. Primesc următorul mesaj „Scuzați-mă, utilizatorul„ nume de utilizator ”nu este autorizat să execute„ command_to_run ”ca root în„ nume de utilizator ”„
Cred că atunci când mi-am schimbat utilizatorul în grupul partajat, mi-am luat privilegii și acum cum le pot restabili ???
Hei prieten, există vreo modalitate de a face același lucru, dar partajând fișiere cu alte persoane pe internet LAN
Pentru aceasta trebuie să utilizați SAMBA ca server de fișiere. Noroc
Salut. Când am ajuns la comanda sudo chmod g + s dirname îmi spune că fișierul sau directorul nu există. Știți care este problema?
Cum creez un grup într-un alt grup?
Linia:
sudo usermod -G shared Sebastian
ar trebui să fie:
sudo usermod -a -G shared Sebastian
prima modalitate elimină restul grupurilor de utilizatori.
iar dacă ești transpirat, îți pierzi privilegiile