Š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.
Taigi, konsolėje mes įdėjome:
sebastian@multivacs ~> vim .profile
Ir pamatysime kažką tokio:
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:
Ir viskas! Jei jie uždarys savo vartotojo seansą ir vėl jį atidarys, bus atlikti pakeitimai, su kuriais jau dirbs bendras katalogas.
28 komentarai, palikite savo
Puikus patarimas.
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
Taip, crontab taip pat yra geras. Ką įdėjote, kad priskirtumėte 775 leidimus turiniui?
Puikus patarimas .. .. jei reikia, išsaugotas;) ..
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?
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.
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.
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.
Nepaisykite * kiekvienos eilutės gale, aš tai galvojau apie ką nors kitą else
Aciu, drauge.
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. 🙂
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.
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ą!
Įdomu, ačiū!
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
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
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
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.
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.
Hey.
4-ajame terminale turėtų būti „bendroji“ daugiskaita:
sudo usermod -G dalijasi sebastianu
sudo usermod -G pasidalijo mywoman
Sveikinimai.
Gustavo
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ą.
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?
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 ???
Ei, drauge, yra koks nors būdas padaryti tą patį, bet dalytis failais su kitais žmonėmis interneto LAN tinkle
Tam turite naudoti SAMBA kaip failų serverį. Cheers
Sveiki. Kai patekau į komandą, sudo chmod g + s dirname man sako, kad failo ar katalogo nėra. Ar žinote, kokia yra problema?
Kaip sukurti grupę kitoje grupėje?
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