Savjet: Neka direktorij dijeli više korisnika u Linuxu

terminal

Danas se vraćam s još jednim savjetom koji, osobno, koristim puno: moći imati zajednički direktorij između nekoliko korisnika na Linuxu. Doveo sam ih u situaciju da sa suprugom kod kuće oboje koristimo isti računar Arch Linux ali svaka sa svojim korisnikom. Dakle, primijetili smo problem s onim mapama koje dijelimo poput glazbe ili fotografija, jer je svaka imala svoje datoteke koje su duplicirale stvari.

Tada smo razmišljali napravite zajedničku mapu, ali postoji problem s dozvolama. Ako je mapa moja, ona je neće vidjeti, ako je kreiram datoteku, neće je izbrisati i tako dalje. Na početku je zakrpa bila da smo tim datotekama davali 777 dozvola svaki put kad smo uređivali nešto za pristup druge dok nismo pronašli rješenje, Grupne dozvole!

Koje su dozvole za grupu?

To je najbolje, dodijelite taj dijeljeni direktorij i sav njegov sadržaj posebnoj grupi s dozvolama za čitanje i pisanje, s kojim će svi članovi grupe imati pristup spomenutom direktoriju. To onda omogućava da dodavanjem naših korisnika u navedenu grupu već možemo komunicirati u tom direktoriju.

I kako da ga konfigurišem?

Ovo je najbolji dio i nastavljam vam pričati kako sam to učinio sa suprugom. Prva stvar je stvoriti taj direktorij, koji ću za primjer nazvati «dijeljeno".

sudo mkdir /home/compartido

Stvaram ga unutar / kod kuće i izvan naših računa, kako bih izbjegao da se gornji direktoriji zamaraju vlastitim dozvolama. Sada moramo stvoriti grupu, koju ćemo staviti «deli»

sudo groupadd compartidos

I mi ovu grupu dodjeljujemo direktorijumu koji smo stvorili prije, a također mijenjamo dozvole, tako da sve što kreiramo u njoj, bilo da su to direktoriji ili datoteke, također pripada ovoj grupi.

sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname

Takođe, u to moramo dodati i svoje korisnike. Tada ćemo morati ponoviti ovu naredbu za svaku:

sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer

Do sada imamo direktorij «/ home / shared»Koji pripada grupi«deli«, Sa onim što će moći pristupiti svi članovi istog korisnika i sve što je kreirano u direktoriju, pripadaće grupi sa onim što će svako od nas moći da ih vidi.

Sada nam treba samo jedan zadnji korak, koji može biti neobavezan, ali to je promjena umaske korisnika, kako bi se osiguralo da svaku novu datoteku koju kreiramo mogu mijenjati ostali članovi grupe. To utječe na cijelog korisnika, a ne samo na direktorij, pa moraju vidjeti da li im to odgovara ili ne. U mom slučaju, jer samo supruga i ja koristimo sistem, to nas ne smeta i dodijelili smo si umasku od 002, što znači da svaka kreirana datoteka započinje sa 775 dozvola.

Uređivanje umaske

Da bi uredio umask, svaki korisnik mora urediti .profile ili .bashrc datoteku koja se nalazi u korisnikovom domu i izmijeniti vrijednost umask za željeni broj. Ako opcija nije tu, moramo je dodati.

Također možete urediti datoteku / etc / profile tako da će promjena utjecati na sve korisnike

Dakle, u konzolu smo stavili:

sebastian@multivacs ~> vim .profile

I vidjet ćemo otprilike ovako:

vi-profil2

Dakle, idemo na red koji kaže umask, pritisnemo pismo i da bismo mogli uređivati ​​i uklanjamo # da uklonimo komentar. Broj mijenjamo u 002. Ako se linija ne pojavi, moraju je dodati.

Kada završimo, pritisnemo tipku Esc da izađemo iz režima uređivanja i tada pišemo :+q+w. Što nas tjera da spremimo promjene i izađemo iz Vi.

Izgledat će ovako:

vi-profil

I to je to! Ako zatvore svoju korisničku sesiju i ponovno je otvore, izvršit će se promjene s kojima će zajednički direktorij već raditi.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   živahno rekao je

    Sjajan savjet.

  2.   KZKG ^ Gaara rekao je

    Genial.

    Prije nekoliko godina vidio sam potrebu da to i sam učinim, a ono što nisam znao bila je umaska ​​... Umjesto toga stavio sam zadatak u crontab 🙂

    Hvala na savjetu

    1.    thalskart rekao je

      Da, i crontab je dobar. Šta ste stavili da biste sadržaju dodijelili 775 dozvola?

  3.   rawBasic rekao je

    Odličan savjet .. ..spremljen po potrebi;) ..

  4.   luis rekao je

    Ok, kreirate mapu / home / shared i dodelite joj grupu "shared" ali

    Kojem korisniku pripada ta mapa? Drugim riječima, ko je vlasnik? Ja, druga osoba ili root korisnik čiji je račun onemogućen jer koristim sudo?

    S druge strane, nalazim se kod sljedećeg problema: Datoteke koje kreiram ne mogu izbrisati druga osoba, a datoteke koje druga osoba stvori ne mogu sebe izbrisati.

    Šta sam pogriješio?

    1.    thalskart rekao je

      Kada kreirate mapu sa sudo-om, trebao bi vam ostati root korisnik kao vlasnik. To također možete izmijeniti naredbom chown da biste dodijelili drugog korisnika.

      S druge strane, provjerite rade li datoteke koje kreirate sa 775 dozvola (što daje umask 002). Ako nemaju ta dopuštenja, možda postoji pogrešna konfiguracija.

      Isto tako, vrijedi pojasniti da umask utječe na svaku novu datoteku koja je kreirana unutar direktorija, ali ako premještaju ili kopiraju sadržaj s drugog mjesta, zadržavaju se izvorne dozvole, a ne one koje smo postavili u direktorij.

      1.    luis rekao je

        Hej! Upravu si.

        Tražio sam, a problem uzrokuje posljednja stvar koju kažete: Kada premještate datoteku s drugog mjesta u dijeljenu mapu, izvorne dozvole se zadržavaju.

        Postoji li rješenje za to?

        Mogao bih koristiti bisere.

      2.    thalskart rekao je

        U tom slučaju, najbolje bi bilo staviti crontab kao što je rekao KZKG ^ Gaara, u koji biste svaki put mogli staviti naredbu za dodjeljivanje grupe i dozvola sadržaju mape.
        To će reći nešto poput ovoga u crontabu:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        Da biste dobili sve novo, pređite na Dijeljenu grupu s dozvolama 775.

      3.    thalskart rekao je

        Zanemarite * na kraju svakog retka, razmišljao sam o nečem drugom kad sam ga stavio 😛

      4.    luis rekao je

        Hvala prijatelju.

  5.   ernesto rekao je

    Vrlo dobar post, ali više volim imati zasebnu particiju u koju mogu staviti sve što želim podijeliti. Imam izdašan disk od 500 GB na kojem koristim 100 GB s Linuxom i particiju od 400 GB (ntfs) u kojoj je sva muzika, fotografije itd. Na mom računalu smo dva korisnika i svaki može pristupiti particiji ntfs i stavimo i uklonimo ono što želimo, kada želimo. Ako ne želim ništa dijeliti, imam neke stvari u svom korisničkom imenu. 🙂

    1.    luis rekao je

      Da, to je još jedan način da to učinite, ali problem nije gdje smjestiti datoteke, već u konfiguraciji dozvola i kontroliranju pristupa različitih korisnika.

      Možete ga imati na NTFS particiji, ispravno, ali imate i fragmentaciju, sporiju od EXT4 i manje sigurnosti, iako ako je dobro za vas da je tako jednako vrijedi.

  6.   rainerhg rekao je

    U redu! Dobar savjet, ali ipak bih dodao zadatak za promjenu dozvola na 775 novih datoteka pri svakoj prijavi i to bi riješilo problem datoteka premještenih iz druge mape.
    Takođe, puno vam hvala na deljenju!

  7.   Joaquin rekao je

    Zanimljivo, hvala!

  8.   anonimo rekao je

    Pokrećem nešto u vezi sa primarnom grupom za dijeljenje nekih gnu / linux distribucija. Neki distros distribuiraju korisnika s korisnicima primarne grupe, a ne koriste primarnu grupu jednaku imenu korisnika.
    Razlika je u tome što se pomoću korisnika primarne grupe po defaultu sve dijeli s korisnicima grupe kojima će pripadati svi korisnici stvoreni u tom distro-u, ako su umjesto toga stvoreni s istom grupom kao i korisničko ime, prema zadanim postavkama ne ništa se neće dijeliti.

    Primjer:
    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos carlos 126 25. marta 2012. notes.txt

    $ ls -l /home/user/*.txt
    -rw-r - r– 1 korisnik carlosa 126 25. marta 2012. notes.txt

    Ne preporučujem upotrebu korisnika primarne grupe, bolje je stvoriti vlastitu primarnu grupu prilikom kreiranja korisnika.

    #groupadd carlos
    # useradd -g carlos -G lp, točak, uucp, audio, cdrom, cdrw, usb, lpadmin, plugdev -m -s / bin / bash carlos

    -G carlos označava upotrebu matične grupe carlos.
    Možete promijeniti primarnu grupu korisnika s # usermod -g, ali to neće promijeniti primarnu grupu svih datoteka i mapa koje su već u / home / carlos, morat ćete ih sve promijeniti.

    Primjer: promijenite korisnike primarne grupe iz korisnika carlos u primarnu grupu carlos, a zatim promijenite
    sve dozvole za datoteke i mape korisnika carlos tako da ostanu od carlos carlos.

    #groupadd carlos
    # usermod -g carlos korisnika
    # cd / home
    # chown -R carlos: carlos carlos

    Što se tiče dijeljenja, možete stvoriti korisnika koji se zove dijeljen sa vašom dijeljenom primarnom grupom, a kako ne bi bilo problema s dozvolom prilikom kopiranja, prvo promijenite korisnika
    sa "$ su - shared" onda se ono što želite kopira u / home / shared, uz ovo i dozvole za ono što se kopira postaju zajednički korisnik.
    Ako već postoje datoteke za kopiranje koje pripadaju drugim korisnicima i primarnim grupama, morate ih sve promijeniti.

    # cd / home
    # chown -R podijeljeno: podijeljeno podijeljeno

    U limbu je ostalo samo nešto, što ne znam kako da grafički kopiram kao zajednički korisnik, odnosno bez potrebe za $ su - shared

  9.   anonimo rekao je

    Bilo je vrlo glupo kopirati grafički, hehe, koristim pcmanfm ovdje u openboxu, ali možete koristiti upravitelj datoteka koji imate ili želite, on se izvršava samo kao zajednički korisnik, a ne kao root korisnik.

    $ su - podijeljeno
    $pcmanfm
    $ delfin
    $mc
    itd itd

    1.    thalskart rekao je

      Taman sam htio odgovoriti na to. Ako nije, drugi je crontab koji svakog x puta mijenja vlasnika datoteka s
      chown -R compartido:compartido compartido

  10.   hugo rekao je

    Čini mi se da je naredba "usermod -G thenewgroup elusuario" u osnovi promijenila korisničku grupu u "thenewgroup". Da bih dodao postojećeg korisnika u novu grupu, mislim da bi ispravna stvar bila "usermod -aG elnuevogrupo elusuario"

    Druga stvar je da ovdje vidim da nekoliko ljudi preporučuje rad sa "chmod -R 775", ali to ne utječe samo na direktorije, već i na sve datoteke (čineći ih izvršnim), što uvodi nepotreban rizik. Bolje napraviti nešto poput «pronađi / dom / zajednički -tip d -print0 | xargs -0 chmod 755 ", a ako je potrebno sa datotekama možete učiniti nešto slično, ali koristeći" -type f "i davanje dozvole 664.

    Konačno, jedan od načina da više računa ima pristup datoteci ili mapi bez obzira na to ko je vlasnik ili grupa je upotreba naredbe "setfacl" koja se nalazi u paketu acl (ako se dobro sjećam). Njegova upotreba je dobro objašnjena na stranici priručnika.

  11.   Unai martin rekao je

    Imam sljedeći problem. Stvorio sam 4 korisnika (web1, web2, web3, web4) i želim stvoriti mapu pristupne grupe za korisnike web grupe. Kada kreiram .htaccess datoteku znam da moram staviti require valid-user, ali ako stavim zahtijeva valid-user web1 web2 web3 web4, tako da mogu pristupiti mapi sa svojom lozinkom, kada pokušam pristupiti mapi pita me za korisnika i lozinku svakog od njih. Kako da se tražim samo korisničko ime i lozinku onoga koji želi ući? jer se pretpostavlja da jedno ne zna lozinku drugog.

  12.   Gustavo F. Paredes rekao je

    Zdravo.

    Četvrti terminal trebao bi imati "zajedničku" množinu:

    sudo usermod -G je podijelio sebastian

    sudo usermod -G je podijelio mywoman

    Pozdrav.

    Gustavo

  13.   Ivan rekao je

    Živjeli:

    Mi prelazimo sa Windows servera na CentOs 6 i još uvijek smo u procesu adaptacije. Moj upit: Postoji li grafički interfejs u CentOs za dijeljenje mapa i davanje pristupa korisnicima za izmjenu, uređivanje i / ili brisanje datoteka? Ili bih trebao učiniti sve gore navedene postupke.

    Hvala na pomoći.

    1.    Rafael rekao je

      Također instaliram centos 6 i želim ga koristiti sa sambom koja mi omogućava dijeljenje datoteka iz linuxa i prozora, znam malo, ne koristim puno linux, ali na poslu su me pitali, kako to mogu učiniti za dijeljenje mapa, ali u grafičkom načinu ??.

  14.   Ricardo rekao je

    Zdravo. Molim vas, pomozite mi! ... Ispada da sam radeći ovo u svom korisniku u linux umu sada izgubio privilegije. Ne mogu trčati ništa poput suda. Dobio sam sljedeću poruku "Oprostite, korisnik" username "nije ovlašten za izvršavanje" command_to_run "kao root u" username ""

    Mislim da sam, kada sam promijenio korisnika u dijeljenu grupu, oduzeo privilegije, a sad kako da ih vratim ???

  15.   Guillermo rekao je

    Hej prijatelju, postoji li način da se učini isto, ali dijeljenje datoteka s drugim ljudima na Internet LAN-u

  16.   Fabian rekao je

    Za ovo morate koristiti SAMBA kao poslužitelj datoteka. Živjeli

  17.   David rekao je

    Zdravo. Kad sam došao do naredbe sudo chmod g + s dirname, kaže mi da datoteka ili direktorij ne postoji. Znate li u čemu je problem?

  18.   Javier Quiroga Almeida rekao je

    Kako mogu stvoriti grupu u drugoj grupi?

  19.   Rodrigo Hernán Ramos rekao je

    Linija:
    sudo usermod -G je podijelio sebastian

    treba biti:
    sudo usermod -a -G podijelio je sebastian

    prvi način uklanja ostatak korisničkih grupa.
    a ako ste znojni, gubite svoje privilegije