Patarimas: Turėkite katalogą, bendrinamą keliems „Linux“ vartotojams

terminalas

Šiandien grįžtu su kitu patarimu, kurį asmeniškai naudoju daug: turėti bendrą „Linux“ naudotojų katalogą. Aš juos sukūriau tokioje situacijoje, kad su žmona namuose mes abu naudojame tą patį asmeninį kompiuterį Arch Linux bet kiekvienas turi savo vartotoją. Taigi pastebėjome tų aplankų, kuriuos mes dalijamės, pavyzdžiui, muziką ar nuotraukas, problemą, nes kiekvienas jų turėjo savo failus, kopijuojančius daiktus.

Tada ir galvojome sukurti bendrą aplanką, bet tai yra leidimų problema. Jei aplankas yra mano, ji jo nemato, jei mano sukurtas failas, jis jo neištrina ir pan. Pradžioje pleistras buvo tas, kad suteikėme 777 leidimus tiems failams kiekvieną kartą, kai redagavome ką nors, kad kiti galėtų pasiekti, kol radome sprendimą, Grupės leidimai!

Kas yra grupės leidimai?

Tai geriausia, priskirti tą bendrą katalogą ir visą jo turinį specialiai grupei, turinčiai skaitymo ir rašymo teises, su kuriuo visi grupės nariai turės prieigą prie minėto katalogo. Tada tai leidžia, kad paprasčiausiai įtraukę savo vartotojus į tą grupę, mes jau galime bendrauti tame kataloge.

Ir kaip tai sukonfigūruoti?

Tai geriausia dalis ir aš jums pasakoju, kaip aš tai padariau su savo žmona. Pirmas dalykas yra sukurti tą katalogą, kurį, pavyzdžiui, pavadinsiu «pasidalinta"

sudo mkdir /home/compartido

Aš jį kuriu viduje / namuose ir už mūsų sąskaitų, kad išvengčiau viršutinių katalogų vargo su savo leidimais. Dabar turime sukurti grupę, kurią sukursime «bendrai naudojamas»

sudo groupadd compartidos

Šią grupę priskiriame katalogui, kurį sukūrėme anksčiau, taip pat keičiame jos teises, kad viskas, ką sukuriame viduje, nesvarbu, ar tai katalogai, ar failai, taip pat priklausytų šiai grupei.

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

Be to, turime prie jo pridėti savo vartotojus. Tada turime pakartoti šią komandą kiekvienam:

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

Kol kas turime katalogą «/ home / shared»Kuris priklauso grupei«bendrai naudojamas«, Su tuo, ką galės pasiekti visi to paties nario vartotojai, ir viskas, kas sukurta kataloge, priklausys grupei su tuo, ką galės pamatyti kiekvienas iš mūsų.

Dabar trūksta tik vieno paskutinio žingsnio, kuris gali būti neprivalomas, tačiau jis turi pakeisti vartotojų umask, kad būtų užtikrinta, jog kiekvieną naują mūsų sukurtą failą gali keisti kiti grupės nariai. Tai turi įtakos visam vartotojui, ne tik katalogui, todėl jie turi pamatyti, ar jis jam tinka, ar ne. Mano atveju, kadangi sistemą naudojame tik mes su žmona, tai mums netrukdo ir mes priskiriame sau 002 umaską, o tai reiškia, kad kiekvienas sukurtas failas prasideda nuo 775 leidimų.

Redaguoti umaską

Norėdami redaguoti „umask“, kiekvienas vartotojas turi redaguoti .profile arba .bashrc failą, esantį vartotojo namuose, ir modifikuoti „umask“ vertę norimu skaičiumi. Jei parinkties nėra, turime ją pridėti.

Taip pat galite redaguoti / etc / profile failą, kad pakeitimas paveiks visus vartotojus

Taigi, konsolėje mes įdėjome:

sebastian@multivacs ~> vim .profile

Ir pamatysime kažką tokio:

„vi-profile“

Taigi, einame prie eilutės, kurioje sakoma umask, paspaudžiame raidę i redaguoti ir pašalinti #, kad pašalintumėte komentarą. Pakeičiame skaičių į 002. Jei eilutė neatsiranda, jie turi ją pridėti.

Baigę paspaudžiame klavišą esc norėdami išeiti iš redagavimo režimo ir tada rašome :+q+w. Kas verčia mus išsaugoti pakeitimus ir išeiti iš „Vi“.

Tai atrodys kaip šis vaizdas:

vi profilis

Ir viskas! Jei jie uždarys savo vartotojo seansą ir vėl jį atidarys, bus atlikti pakeitimai, su kuriais jau dirbs bendras katalogas.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   gyvas sakė

    Puikus patarimas.

  2.   KZKG ^ Gaara sakė

    Genialus.

    Prieš keletą metų pamačiau, kad reikia tai padaryti pačiam, o aš nežinojau, kad buvo umaskas ... Vietoj to uždėjau užduotį crontab 🙂

    Ačiū už arbatpinigius

    1.    talskartas sakė

      Taip, crontab taip pat yra geras. Ką įdėjote, kad priskirtumėte 775 leidimus turiniui?

  3.   rawBasic sakė

    Puikus patarimas .. .. jei reikia, išsaugotas;) ..

  4.   luis sakė

    Gerai, jūs sukuriate aplanką / home / shared ir priskiriate grupę "shared", bet

    Kokiam vartotojui priklauso tas aplankas? Kitaip tariant, kas yra savininkas? Aš, kitas asmuo ar pagrindinis vartotojas, kurio paskyra išjungta, nes aš naudoju sudo?

    Kita vertus, man kyla ši problema: Mano sukurtų failų NETURI ištrinti, o failų, kurių sukuria kitas asmuo, negaliu jų ištrinti.

    Ką aš blogai padariau?

    1.    talskartas sakė

      Kurdami aplanką naudodami sudo, turėtumėte palikti root kaip savininkas. Taip pat galite tai pakeisti naudodami komandą chown, kad priskirtumėte kitą vartotoją.

      Kita vertus, patikrinkite, ar jūsų sukurti failai tai daro su 775 leidimais (o tai suteikia umask 002). Jei jie neturi tų leidimų, gali būti neteisingi nustatymai.

      Taip pat verta paaiškinti, kad „umask“ veikia bet kokį naują failą, kuris yra sukurtas kataloge, tačiau jei jie perkelia ar nukopijuoja turinį iš kitos vietos, išlaikomi originalūs leidimai, o ne tie, kuriuos nustatome kataloge.

      1.    luis sakė

        Ei! Tu teisus.

        Aš ieškojau ir problemą sukelia paskutinis jūsų pasakytas dalykas: Perkeliant failą iš kitos vietos į bendrinamą aplanką, išlaikomi originalūs leidimai.

        Ar yra sprendimas?

        Aš galėčiau naudoti perlus.

      2.    talskartas sakė

        Tokiu atveju geriausia būtų įdėti tokį krašto skydelį, kaip sakė KZKG ^ Gaara, kuriame kiekvieną kartą X galite pridėti komandą, kad priskirtumėte grupę ir leidimus aplanko turiniui.
        Tai reiškia, kad kažkas panašaus į tai yra crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        Norėdami gauti viską naujo, pereikite prie grupės „Bendrinama“ su leidimais 775.

      3.    talskartas sakė

        Nepaisykite * kiekvienos eilutės gale, aš tai galvojau apie ką nors kitą else

      4.    luis sakė

        Aciu, drauge.

  5.   ernesto sakė

    Labai geras įrašas, bet aš norėčiau turėti atskirą skaidinį, į kurį galėčiau įdėti viską, kuo noriu pasidalinti. Turiu didelį 500 GB diską, kuriame naudoju 100 GB su „Linux“ ir 400 GB skaidinį (ntfs), kuriame yra visa muzika, nuotraukos ir kt. Mano kompiuteryje mes esame du vartotojai ir kiekvienas iš jų gali prieiti prie skaidinio ntfs ir padėkite ir pašalinkite tai, ko norime, kada norime. Jei nenoriu nieko dalintis, turiu keletą dalykų savo vartotojo varde. 🙂

    1.    luis sakė

      Dabar tai yra dar vienas būdas tai padaryti, tačiau problema yra ne kur dėti failus, o konfigūruoti leidimus ir kontroliuoti skirtingų vartotojų prieigą.

      Galite jį turėti NTFS skaidinyje, teisingai, bet jūs taip pat turite fragmentaciją, lėtesnį nei EXT4 ir mažesnį saugumą, nors jei jums naudinga jį turėti, jis taip pat galioja.

  6.   rainerhg sakė

    Gerai! Geras patarimas, bet vis tiek norėčiau pridėti užduotį pakeisti teises į 775 naujus failus prie kiekvieno prisijungimo ir išspręsti iš kito aplanko perkeltų failų problemą.
    Be to, labai ačiū už pasidalinimą!

  7.   Joaquinas sakė

    Įdomu, ačiū!

  8.   anoniminis sakė

    Aš keliu ką nors, palyginti su kai kurių gnu / linux paskirstymų pagrindine dalijimosi grupe. Kai kurie rajonai sukuria vartotoją su pagrindinės grupės vartotojais ir nenaudoja pagrindinės grupės, prilygstančios vartotojo vardui.
    Skirtumas yra tas, kad naudojant pirminius grupės vartotojus pagal numatytuosius nustatymus viskas yra dalijamasi su grupės vartotojais, kuriems priklausys visi toje distro sistemoje sukurti vartotojai, jei jie yra sukurti su ta pačia grupe kaip ir vartotojo vardas, pagal nutylėjimą nieko nebus būti dalijamasi.

    pavyzdys:
    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos carlos 126 25 m. kovo 2012 d. pastabos.txt

    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos vartotojai 126 25 m. kovo 2012 d. notos.txt

    Nerekomenduoju naudoti pagrindinės grupės vartotojų, geriau kurkite savo pirminę grupę kurdami vartotoją.

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

    -G carlos nurodo naudoti tėvų grupės carlos.
    Galite pakeisti pirminę vartotojo grupę naudodami # usermod -g, tačiau tai nepakeis visų failų ir aplankų, kurie jau yra aplanke / home / carlos, pagrindinės grupės, turėsite pakeisti juos visus.

    Pavyzdys: pakeiskite pirminių grupių vartotojus iš naudotojų į pirminių grupių, tada pakeiskite
    visi vartotojo „carlos“ failų ir aplankų leidimai, kad jie liktų iš „carlos carlos“.

    #groupadd carlos
    # usermod -g carlos vartotojų
    # cd / namai
    # chown -R carlos: carlos carlos

    Kalbant apie bendrinimą, galite sukurti vartotoją, vadinamą bendrinamu su jūsų bendrinama pagrindine grupe. Kad kopijuojant nekiltų problemų dėl leidimo, pirmiausia pakeiskite vartotoją
    naudojant „$ su - shared“, tai, ko norite, bus nukopijuota į / home / shared, tai ir nukopijuotų leidimai taps bendru vartotoju.
    Jei jau yra kopijavimo failų, priklausančių kitiems vartotojams ir pagrindinėms grupėms, turite juos visus pakeisti.

    # cd / namai
    # chown -R shared: bendrinta

    Liko tik kažkas, kas nežinoma, kaip tai padaryti, norint grafiškai nukopijuoti kaip bendrą vartotoją, tai yra, nereikia daryti $ su - shared

  9.   anoniminis sakė

    Tai buvo labai kvailas dalykas, kai kopijuoti grafiškai, hehe, aš naudoju pcmanfm čia „openbox“, bet jūs galite naudoti turimą ar norimą failų tvarkyklę, ji vykdoma tik kaip bendras vartotojas, o ne kaip pagrindinis vartotojas.

    $ su - dalijamasi
    $pcmanfm
    $ delfinas
    mln. USD
    ir tt ir tt

    1.    talskartas sakė

      Aš ką tik ketinau į tai atsakyti. Jei ne, kitas yra crontab, kuris kiekvieną kartą keičia failų savininką naudodamas a
      chown -R compartido:compartido compartido

  10.   Hugo sakė

    Man atrodo, kad komanda „usermod -G thenewgroup theuser“ iš esmės pakeičia vartotojo grupę į „thenewgroup“. Norint įtraukti esamą vartotoją į naują grupę, manau, teisingiausia būtų „usermod -aG elnuevogrupo elusuario“

    Kitas dalykas yra tai, kad čia matau, jog keli žmonės rekomenduoja atlikti „chmod-R 775“, tačiau tai turi įtakos ne tik katalogams, bet ir visiems failams (paverčiant juos vykdomais), o tai kelia nereikalingą riziką. Geriau padaryti kažką panašaus į «rasti / namo / bendro tipo d -print0 | xargs -0 chmod 755 "ir prireikus su failais galite padaryti kažką panašaus, bet naudodami„ -type f “ir suteikdami leidimą 664.

    Galiausiai, vienas iš būdų padaryti kelias paskyras prieigą prie failo ar aplanko, neatsižvelgiant į tai, kas yra savininkas ar grupė, naudojant komandą „setfacl“, esančią „acl“ pakete (jei gerai prisimenu). Jo naudojimas yra gerai paaiškintas vadovo puslapyje.

  11.   Unai martinas sakė

    Turiu tokią problemą. Sukūriau 4 vartotojus (web1, web2, web3, web4) ir noriu sukurti prieigos grupės aplanką žiniatinklio grupės vartotojams. Kai kuriu .htaccess failą, žinau, kad turiu įdėti reikalauti valid-user, bet jei įdėsiu reikalauti valid-user web1 web2 web3 web4, kad jie galėtų pasiekti aplanką naudodami savo slaptažodį, kai bandau pasiekti aplanką prašo manęs kiekvieno vartotojo ir slaptažodžio. Kaip man paprašyti tik to vartotojo, kuris nori įvesti, vartotojo vardo ir slaptažodžio? nes manoma, kad vienas nežino kito slaptažodžio.

  12.   Gustavo F. Paredesas sakė

    Hey.

    4-ajame terminale turėtų būti „bendroji“ daugiskaita:

    sudo usermod -G dalijasi sebastianu

    sudo usermod -G pasidalijo mywoman

    Sveikinimai.

    Gustavo

  13.   Ivanas sakė

    Cheers:

    Mes pereiname iš „Windows Server“ į „CentOs 6“ ir vis dar vykdome adaptaciją. Mano užklausa: Ar „CentOs“ yra grafinė sąsaja, skirta dalytis aplankais ir suteikti vartotojams prieigą keisti, redaguoti ir (arba) ištrinti failus?

    Ačiū už pagalbą.

    1.    Rafaelis sakė

      Taip pat diegiu „centos 6“ ir noriu jį naudoti su „Samba“, kuris leidžia dalytis failais iš „Linux“ ir „Windows“, aš šiek tiek žinau, „Linux“ daug nenaudoju, bet darbe manęs klausė, kaip aš galiu tai padaryti dalytis aplankais, bet grafiniu režimu?

  14.   ricardo sakė

    Sveiki. Prašau, padėkite man! ... Pasirodo, kad tai darydamas savo vartotojui „Linux“ galvoje, dabar aš praradau privilegijas. Aš negaliu paleisti nieko panašaus į sudo. Gaunu tokį pranešimą: „Atsiprašau, vartotojas„ vartotojo vardas “nėra įgaliotas vykdyti„ command_to_run “kaip šakninį failą„ username “.

    Manau, kad kai pakeičiau savo vartotoją į bendrą grupę, aš atėmiau privilegijas, o dabar kaip jas atkurti ???

  15.   Guillermo sakė

    Ei, drauge, yra koks nors būdas padaryti tą patį, bet dalytis failais su kitais žmonėmis interneto LAN tinkle

  16.   Fabianietis sakė

    Tam turite naudoti SAMBA kaip failų serverį. Cheers

  17.   Davidas sakė

    Sveiki. Kai patekau į komandą, sudo chmod g + s dirname man sako, kad failo ar katalogo nėra. Ar žinote, kokia yra problema?

  18.   Javieras Quiroga Almeida sakė

    Kaip sukurti grupę kitoje grupėje?

  19.   Rodrigo Hernanas Ramosas sakė

    Linija:
    sudo usermod -G dalijasi sebastianu

    turėtų būti:
    sudo usermod -a -G dalijasi sebastianu

    pirmuoju būdu pašalinamos likusios vartotojo grupės.
    o jei esi prakaitas, prarandi privilegijas