Këshillë: Keni një direktori të ndarë midis shumë përdoruesve në Linux

Terminal

Sot kthehem me një këshillë tjetër të cilën, personalisht, e përdor shumë: të jetë në gjendje të ketë një direktori të ndarë midis disa përdoruesve në një Linux. I vura në një situatë, me gruan time në shtëpi që të dy përdorim të njëjtin PC me të Arch Linux por secili me përdoruesin e vet. Pra, kemi vërejtur problemin me ato dosje që ndajmë si muzikë ose foto, pasi secili prej tyre kishte skedarët e vet, duke kopjuar gjëra.

Ishte atëherë ajo që menduam bëni një dosje të përbashkët, por ekziston problemi i lejeve. Nëse dosja është e imja, ajo nuk e sheh atë, nëse skedarin që unë e krijoj, ajo nuk e fshin atë etj. Në fillim, patch ishte se ne u jepnim 777 leje atyre skedarëve sa herë që redaktonim diçka për t'u qasur nga tjetri derisa të gjenim zgjidhjen, Lejet në grup!

Çfarë janë lejet në grup?

Kjo është më e mira, caktoni atë direktori të përbashkët dhe të gjithë përmbajtjen e tij një grup të veçantë me leje leximi dhe shkrimi, me të cilin të gjithë anëtarët e grupit do të kenë qasje në drejtorinë e përmendur. Kjo pastaj lejon që thjesht duke shtuar përdoruesit tanë në atë grup, ne tashmë mund të bashkëveprojmë në atë direktori.

Dhe si ta konfiguroj atë?

Kjo është pjesa më e mirë dhe vazhdoj t'ju tregoj se si e bëra me gruan time. Gjëja e parë është të krijoni atë direktori, të cilën për shembull do ta quaj «përbashkët".

sudo mkdir /home/compartido

Unë e krijoj atë brenda / në shtëpi dhe jashtë llogarive tona, për të shmangur që drejtoritë e sipërme të shqetësojnë me lejet e tyre. Tani duhet të krijojmë grupin, të cilin do ta vendosim «përbashkët»

sudo groupadd compartidos

Dhe ne e caktojmë këtë grup në direktorinë që kemi krijuar më parë dhe gjithashtu ndryshojmë lejet e tij, kështu që gjithçka që krijojmë brenda, pavarësisht nëse janë direktori ose skedarë, gjithashtu i përkasin këtij grupi.

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

Gjithashtu, ne duhet t'i shtojmë përdoruesit tanë në të. Atëherë do të duhet ta përsërisim këtë komandë për secilën:

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

Deri më tani, ne kemi direktorinë «/ shtëpi / e përbashkët»Që bën pjesë në grupin«përbashkët«, Me atë që të gjithë përdoruesit anëtarë të së njëjtës do të jenë në gjendje të pranojnë dhe gjithçka që është krijuar në direktori, do t'i përkasë grupit me atë që secili prej nesh do të jetë në gjendje t'i shohë ata.

Tani na duhet vetëm një hap i fundit, i cili mund të jetë opsional, por është të ndryshojmë umaskën e përdoruesve, për të siguruar që çdo skedar i ri që krijojmë të modifikohet nga anëtarët e tjerë të grupit. Kjo ndikon në të gjithë përdoruesin, jo vetëm në direktori, kështu që ata duhet të shohin nëse funksionon për ta apo jo. Në rastin tim, pasi që vetëm gruaja ime dhe unë përdorim sistemin, kjo nuk na shqetëson dhe ne caktojmë një umask prej 002, që do të thotë që çdo skedar i krijuar fillon me 775 leje.

Redaktimi i umaskut

Për të redaktuar umask, secili përdorues duhet të redaktojë skedarin .profile ose .bashrc që është brenda shtëpisë së përdoruesit dhe të modifikojë vlerën e umask nga numri i dëshiruar. Nëse opsioni nuk është aty, duhet ta shtojmë.

Ju gjithashtu mund të modifikoni skedarin e profilit / etj / në mënyrë që ndryshimi të prekë të gjithë përdoruesit

Pra, në tastierë kemi vendosur:

sebastian@multivacs ~> vim .profile

Dhe do të shohim diçka si kjo:

vi-profili2

Pra, shkojmë te rreshti që thotë umask, shtypim letrën i për të redaktuar dhe hequr # për të hequr komentin. Ne e ndryshojmë numrin në 002. Nëse rreshti nuk shfaqet, ata duhet ta shtojnë atë.

Pasi të keni mbaruar, ne shtypim butonin Esc për të dalë nga modaliteti i redaktimit dhe pastaj shkruajmë :+q+w. Çfarë na bën të ruajmë ndryshimet dhe të dalim nga Vi.

Do të duket si kjo imazh:

vi-profili

Dhe kjo është e gjitha! Nëse ata mbyllin sesionin e tyre të përdoruesit dhe e rihapin atë, ndryshimet do të merren, me të cilat drejtoria e përbashkët tashmë do të funksionojë.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   i gjallë dijo

    Këshillë e shkëlqyeshme.

  2.   KZKG ^ Gaara dijo

    I qeshur.

    Disa vjet më parë pashë nevojën për ta bërë këtë vetë, ajo që nuk dija ishte umask ... Unë në vend të kësaj vendosa një detyrë në crontab

    Faleminderit për këshillën

    1.    talskarth dijo

      Po, edhe crontab është i mirë. Çfarë vendosët, për t'i caktuar 775 leje përmbajtjes?

  3.   i papërpunuarBasic dijo

    Këshillë e shkëlqyeshme .. .. ruhet nëse është e nevojshme;) ..

  4.   Luis dijo

    Ok, ju krijoni dosjen / home / shared dhe caktoni grupin "shared" tek ai por

    Cilit përdorues i përket ajo dosje? Me fjalë të tjera, kush është pronari? Unë, personi tjetër, ose përdoruesi rrënjë llogaria e të cilit është çaktivizuar që kur përdor sudo?

    Nga ana tjetër, unë kam problemin e mëposhtëm: Skedarët që krijoj nuk mund të fshihen nga personi tjetër dhe skedarët që personi tjetër krijon nuk mund t'i fshij vetë.

    Cfare bera gabim?

    1.    talskarth dijo

      Kur krijoni dosjen me sudo, duhet të mbeteni me përdoruesin root si pronar. Ju gjithashtu mund ta modifikoni atë me komandën chown për të caktuar një përdorues tjetër.

      Nga ana tjetër, kontrolloni që skedarët që krijoni ta bëjnë këtë me 775 leje (që jep umask 002). Nëse ata nuk i kanë ato leje, mund të ketë disa cilësime të gabuara.

      Po kështu, vlen të sqarohet se umask ndikon në çdo skedar të ri që krijohet brenda direktorisë, por nëse ata lëvizin ose kopjojnë përmbajtje nga një vend tjetër, ruhen lejet origjinale dhe jo ato që vendosim në direktori.

      1.    Luis dijo

        Hej Ke te drejte.

        Unë kam kërkuar dhe problemi është shkaktuar nga gjëja e fundit që thua: Kur zhvendosni një skedar nga një vend tjetër në dosjen e përbashkët, ruhen lejet origjinale.

        A ka ndonjë zgjidhje për këtë?

        Mund të përdorja perlat.

      2.    talskarth dijo

        Në atë rast, gjëja më e mirë do të ishte të vendosnit një crontab siç tha KZKG ^ Gaara, në të cilin mund të vendosni një komandë për të caktuar grupin dhe lejet në përmbajtjen e dosjes çdo herë X.
        Kjo do të thotë diçka si kjo në crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        Në mënyrë që gjithçka të re, kalo tek grupi i përbashkët me lejet 775.

      3.    talskarth dijo

        Injorojeni * në fund të secilës rresht, po mendoja për diçka tjetër kur e vendosa

      4.    Luis dijo

        Faleminderit mik.

  5.   Ernesto dijo

    Post shumë i mirë, por preferoj të kem një ndarje të veçantë, në të cilën mund të vendos gjithçka që dua të ndaj. Unë kam një disk bujar 500 GB, në të cilin përdor 100 GB me Linux dhe një ndarje 400 GB (ntfs) në të cilën është e gjithë muzika, fotot, etj ... Në kompjuterin tim ne jemi dy përdorues dhe secili mund të ketë qasje në ndarjen ntfs dhe vendos dhe hiq atë që duam, kur duam. Nëse nuk dua të ndaj asgjë, unë kam disa gjëra në emrin tim të përdoruesit. 🙂

    1.    Luis dijo

      Tani, kjo është një mënyrë tjetër për ta bërë atë, por problemi nuk është se ku të vendosni skedarët, por të konfiguroni lejet dhe të kontrolloni hyrjen e përdoruesve të ndryshëm.

      Mund ta keni në një ndarje NTFS, e saktë, por gjithashtu keni fragmentim, më të ngadaltë se EXT4 dhe më pak siguri, edhe pse nëse është mirë që ta keni në atë mënyrë, është po aq e vlefshme.

  6.   rainerhg dijo

    Mirë! Këshillë e mirë, por përsëri do të shtoja një detyrë për të ndryshuar lejet në 775 të skedarëve të rinj në çdo hyrje, dhe kjo do të zgjidhte problemin e skedarëve të zhvendosur nga një dosje tjetër.
    Gjithashtu, faleminderit shumë për ndarjen!

  7.   Joaquin dijo

    Interesante, faleminderit!

  8.   anonim dijo

    Unë jam duke ngritur diçka në lidhje me grupin parësor të ndarjes së disa shpërndarjeve gnu / linux. Disa distro krijojnë përdoruesin me përdoruesit e grupit primar dhe duke mos përdorur një grup primar të barabartë me emrin e përdoruesit.
    Dallimi është se duke përdorur përdoruesit e grupit primar, në mënyrë të paracaktuar gjithçka po ndahet me përdoruesit e grupit, të cilit do t'i përkasin të gjithë përdoruesit e krijuar në atë distro, nëse në vend të kësaj ata janë krijuar me të njëjtin grup me emrin e përdoruesit, si parazgjedhje jo asgjë nuk do të ndahet.

    Shembull:
    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos carlos 126 Shënime 25 Mars 2012.txt

    $ ls -l /home/user/*.txt
    -rw-r - r– 1 përdorues të carlos 126 Mars 25 2012 shënime.txt

    Unë nuk rekomandoj përdorimin e përdoruesve të grupit primar, më mirë të krijoni grupin tuaj primar kur krijoni përdoruesin.

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

    Karlos -g tregon të përdorni karlosin e grupit mëmë.
    Ju mund të ndryshoni grupin kryesor të një përdoruesi me # usermod -g por që nuk do të ndryshojë grupin kryesor të të gjithë skedarëve dhe dosjeve që janë tashmë në / shtëpi / carlos, do t'ju duhet t'i ndryshoni të gjithë.

    Shembull: ndryshoni përdoruesit e grupit primar nga përdoruesit carlos në grupin primar carlos dhe më pas ndryshoni
    të gjitha lejet e skedarëve dhe dosjeve të përdoruesit carlos në mënyrë që ato të mbeten nga carlos carlos.

    #groupadd carlos
    # përdorues -g përdoruesit e carlos
    # cd / shtëpi
    # chown -R carlos: carlos carlos

    Lidhur me ndarjen, mund të krijoni një përdorues të quajtur të ndarë me grupin tuaj primar të përbashkët dhe në mënyrë që të mos ketë probleme me lejen kur kopjoni, së pari ndryshoni përdoruesin
    me "$ su - shared" atëherë ajo që dëshironi kopjohet në / home / shared, me këtë dhe lejet e asaj që kopjohet do të bëhen përdoruesi i përbashkët.
    Nëse tashmë ka skedarë të kopjimit që u përkasin përdoruesve të tjerë dhe grupeve kryesore, duhet t'i ndryshoni të gjithë.

    # cd / shtëpi
    # chown -R shared: e ndarë e ndarë

    Ka mbetur vetëm diçka në harresë, të cilën nuk di si ta bëj për ta kopjuar në mënyrë grafike si përdorues i përbashkët, d.m.th., pa pasur nevojë të bëj $ su - shared

  9.   anonim dijo

    Ishte një gjë shumë e trashë për të kopjuar në mënyrë grafike, hehe, unë përdor pcmanfm këtu në openbox, por ju mund të përdorni menaxherin e skedarëve që keni ose dëshironi, ai ekzekutohet vetëm si një përdorues i përbashkët dhe jo si një përdorues rrënjësor.

    $ su - e ndarë
    $pcmanfm
    $ delfin
    $mc
    etj etj

    1.    talskarth dijo

      Unë isha gati për t'iu përgjigjur kësaj. Nëse jo, tjetri është një crontab që ndryshon pronarin e skedarëve çdo x herë me një
      chown -R compartido:compartido compartido

  10.   Hugo dijo

    Më duket se komanda "usermod -G thenewgroup elusuario" ajo që bën është që në thelb të ndryshojë grupin e përdoruesit në "thenewgroup". Për të shtuar një përdorues ekzistues në një grup të ri, unë mendoj se gjëja e duhur për të bërë do të ishte "usermod -aG elnuevogrupo elusuario"

    Një gjë tjetër është që unë shoh që disa njerëz rekomandojnë të bëjnë një "chmod -R 775" por që jo vetëm ndikon në direktori, por edhe në të gjitha skedarët (duke i bërë ato të ekzekutueshme), gjë që paraqet një rrezik të panevojshëm. Më mirë të bësh diçka si «gjetja / shtëpia / tipi i përbashkët d-print0 | xargs -0 chmod 755 "dhe nëse është e nevojshme me skedarët mund të bëni diçka të ngjashme por duke përdorur" -type f "dhe dhënien e lejes 664.

    Së fundmi, një mënyrë për të bërë që shumë llogari të kenë qasje në një skedar ose dosje, pavarësisht se kush është pronari ose grupi është duke përdorur komandën "setfacl" që është në paketën acl (nëse mbaj mend si duhet). Përdorimi i tij është shpjeguar mirë në faqen manual.

  11.   Unai martin dijo

    Unë kam problemin e mëposhtëm. Unë kam krijuar 4 përdorues (web1, web2, web3, web4) dhe dua të krijoj një dosje të grupit të hyrjes për përdoruesit e grupit të internetit. Kur krijoj skedarin .htaccess, e di që duhet të vendos përdorin valid-user, por nëse vendos, kërko përdoruesin e vlefshëm web1 web2 web3 web4 në mënyrë që ata të mund të hyjnë në dosje me fjalëkalimin e tyre, kur të përpiqem të futem në dosje atë më pyet për përdoruesin dhe fjalëkalimin e secilit Si mund të më kërkohet vetëm emri i përdoruesit dhe fjalëkalimi i atij që dëshiron të futë? sepse supozohet se njëri nuk e njeh fjalëkalimin e tjetrit.

  12.   Gustavo F. Paredes dijo

    Hey.

    Terminali i 4-të duhet të ketë shumësin "e përbashkët":

    sudo usermod -G ndau sebastian

    sudo usermod -G ndau gratë e dashura

    Përshëndetje.

    Gustavo

  13.   Ivan dijo

    Brohoritje:

    Ne jemi duke migruar nga Windows Server në CentOs 6 dhe jemi akoma në proces adaptimi. Pyetja ime: A ka ndonjë ndërfaqe grafike në CentO për të ndarë dosjet dhe për t'u dhënë përdoruesve përdoruesin për të modifikuar, modifikuar dhe / ose fshirë skedarët?

    Faleminderit per ndihmen.

    1.    Rafael dijo

      Po instaloj gjithashtu një centos 6 dhe dua ta përdor me samba që më lejon të ndaj skedarë nga linux dhe windows, di pak, nuk përdor linux shumë, por në punë më kanë pyetur, si mund të bëj për të ndarë dosjet por në mënyrë grafike ??.

  14.   Ricardo dijo

    Pershendetje Ju lutem më ndihmoni! ... Rezulton se duke e bërë këtë në përdoruesin tim në mendje linux, tani kam humbur privilegjet. Nuk mund të drejtoj asgjë si sudo. Marr mesazhin vijues "Më falni, përdoruesi" emri i përdoruesit "nuk është i autorizuar të ekzekutojë" command_to_run "si rrënjë në" emrin e përdoruesit ""

    Unë mendoj se kur kam ndryshuar përdoruesin tim në grup të përbashkët, unë kam marrë privilegje, dhe tani si t'i rivendos ato ???

  15.   Guillermo dijo

    Hej shok, a ka ndonjë mënyrë për të bërë të njëjtën gjë, por duke ndarë skedarë me njerëz të tjerë në LAN-in e Internetit

  16.   Lodhës dijo

    Për këtë ju duhet të përdorni SAMBA si File Server. Brohoritje

  17.   David dijo

    Pershendetje Kur arrita te komanda sudo chmod g + s dirname më tregon se skedari ose direktoria nuk ekziston. A e dini se cili është problemi?

  18.   Javier Quiroga Almeida dijo

    Si mund ta krijoj një grup në një grup tjetër?

  19.   Rodrigo Hernán Ramos dijo

    Linja:
    sudo usermod -G ndau sebastian

    duhet te jete:
    sudo usermod -a -G ndau sebastian

    mënyra e parë heq pjesën tjetër të grupeve të përdoruesve.
    dhe nëse jeni të djersitur, ju i humbni privilegjet tuaja