Danes se vračam z drugim namigom, ki ga osebno veliko uporabljam: imeti lahko imenik v skupni rabi med več uporabniki v Linuxu. Pripeljal sem jih v situacijo, saj z ženo doma oba uporabljava isti računalnik Arch Linux ampak vsak s svojim uporabnikom. Torej smo opazili težavo pri tistih mapah, ki jih delimo kot glasba ali fotografije, saj je vsaka imela svoje datoteke, ki so podvajale stvari.
Takrat smo razmišljali naredite mapo v skupni rabi, vendar obstaja težava z dovoljenji. Če je mapa moja, je ne vidi, če jo ustvarim, je ne izbriše in tako naprej. Na začetku je bil popravek ta, da smo 777 dovoljevali tem datotekam vsakič, ko smo uredili nekaj, do česar je imel dostop drugi, dokler nismo našli rešitve, Skupinska dovoljenja!
Kaj so skupinska dovoljenja?
To je najboljše, temu skupnemu imeniku in vsej njegovi vsebini dodelite posebno skupino z dovoljenji za branje in pisanje, s katerim bodo imeli vsi člani skupine dostop do omenjenega imenika. To nato omogoča, da lahko z dodajanjem uporabnikov v omenjeno skupino že sodelujemo v tem imeniku.
In kako ga nastavim?
To je najboljši del in v nadaljevanju vam povem, kako sem to naredil s svojo ženo. Prva stvar je ustvariti tisti imenik, ki ga bom na primer poklical «v skupni rabi".
sudo mkdir /home/compartido
Ustvarim ga znotraj / doma in zunaj naših računov, da se izognem temu, da bi se zgornji imeniki obremenjevali s svojimi dovoljenji. Zdaj moramo ustvariti skupino, ki jo bomo postavili «deljeno»
sudo groupadd compartidos
In to skupino dodelimo v imenik, ki smo ga prej ustvarili, in spremenimo tudi dovoljenja, tako da v to skupino spada tudi vse, kar ustvarimo znotraj, ne glede na to, ali gre za imenike ali datoteke.
sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname
K temu moramo dodati tudi svoje uporabnike. Nato moramo ponoviti ta ukaz za vsakega:
sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer
Zaenkrat imamo imenik «/ domov / v skupni rabi»Kateri spada v skupino«deljeno«, S tem, do česar bodo lahko pristopili vsi člani istega uporabnika in vse, kar je ustvarjeno v imeniku, bo pripadlo skupini, s čimer jih bo lahko videl kdo od nas.
Zdaj manjka samo še zadnji korak, ki je morda neobvezen, vendar je sprememba umaske uporabnikov, da se zagotovi, da lahko vsako novo datoteko, ki jo ustvarimo, spreminjajo drugi člani skupine. To vpliva na celotnega uporabnika, ne samo na imenik, zato morajo preveriti, ali jim deluje ali ne. V mojem primeru, ker sistem uporabljava samo moja žena in nas ne moti, si določimo umasko 002, kar pomeni, da se vsaka ustvarjena datoteka začne s 775 dovoljenji.
Urejanje umaske
Če želite urediti umask, mora vsak uporabnik urediti datoteko .profile ali .bashrc, ki je v uporabnikovem domu, in spremeniti vrednost umask za želeno številko. Če možnosti ni, jo moramo dodati.
Torej, v konzolo smo postavili:
sebastian@multivacs ~> vim .profile
In videli bomo nekaj takega:
Torej, gremo na vrstico, ki pravi umask, pritisnemo pismo i če želite urediti in odstraniti #, da odstranite komentar. Številko spremenimo na 002. Če se vrstica ne prikaže, jo morajo dodati.
Ko končamo, pritisnemo tipko Esc za izhod iz načina urejanja in nato pišemo :+q+w. Zaradi česar shranimo spremembe in zapustimo Vi.
Videti bo takole na tej sliki:
In to je to! Če zaprejo svojo uporabniško sejo in jo znova odprejo, bodo sprejete spremembe, s katerimi bo imenik v skupni rabi že deloval.
Super nasvet.
Genialni.
Pred nekaj leti sem videl, da moram to storiti sam, česar pa nisem vedel, je umask ... Namesto tega sem dal nalogo v crontab 🙂
Hvala za nasvet
Da, tudi crontab je dober. Kaj ste postavili, če želite vsebini dodeliti 775 dovoljenj?
Odličen namig .. ..po potrebi shranjen;) ..
Ok, ustvarite mapo / dom / v skupni rabi in ji dodelite skupino "v skupni rabi"
Komu uporabniku pripada ta mapa? Se pravi, kdo je lastnik? Jaz, druga oseba ali korenski uporabnik, katerega račun je onemogočen, ker uporabljam sudo?
Po drugi strani imam naslednjo težavo: datotek, ki jih ustvarim, druga oseba ne more izbrisati in datotek, ki jih ustvari druga oseba, ne morem izbrisati sam.
Kaj sem naredil narobe?
Ko ustvarjate mapo s sudo, vam mora biti lastnik korenski uporabnik. To lahko spremenite tudi z ukazom chown, če želite dodeliti drugega uporabnika.
Po drugi strani preverite, ali datoteke, ki jih ustvarite, to počnejo z dovoljenji 775 (kar daje umask 002). Če nimajo teh dovoljenj, je morda prišlo do napačne konfiguracije.
Prav tako je vredno pojasniti, da umask vpliva na vsako novo datoteko, ki je ustvarjena v imeniku, če pa premaknejo ali kopirajo vsebino z drugega mesta, se ohranijo prvotna dovoljenja in ne dovoljenja, ki smo jih nastavili v imenik.
zdravo Prav imaš.
Iskal sem in težavo povzroča zadnje, kar ste rekli: Ko datoteko premaknete z drugega mesta v mapo v skupni rabi, se ohranijo prvotna dovoljenja.
Ali obstaja rešitev za to?
Lahko bi uporabil bisere.
V tem primeru bi bilo najbolje, če bi postavili crontab, kot je rekel KZKG ^ Gaara, v katerem bi lahko vsakič X postavili ukaz za dodelitev skupine in dovoljenj vsebini mape.
To pomeni nekaj takega v crontabu:
sudo chgrp -R compartidos /home/compartido/*
chmod -R 775 /home/compartido/*
Če želite vse novo, se premaknite v skupno skupino z dovoljenji 775.
Prezri * na koncu vsake vrstice, ko sem ga postavil, sem razmišljal o čem drugem 😛
Hvala prijatelj.
Zelo dobra objava, vendar imam raje ločeno particijo, v katero lahko vstavim vse, kar želim deliti. Imam velikodušen 500 GB diska, v katerem uporabljam 100 GB z Linuxom in 400 GB particije (ntfs), v kateri je vsa glasba, fotografije itd. Na mojem računalniku smo dva uporabnika in vsak lahko dostopa do particije ntfs in dajte in odstranite, kar hočemo, kadar želimo. Če ne želim deliti ničesar, imam nekaj uporabniškega imena. 🙂
Že zdaj je to še en način, vendar težava ni v tem, kam shraniti datoteke, temveč v konfiguraciji dovoljenj in nadzoru dostopa različnih uporabnikov.
Lahko ga imate na particiji NTFS, pravilno, vendar imate tudi razdrobljenost, počasnejšo od EXT4 in manj varnosti, čeprav je tudi za vas dobro, da je enako veljavna.
V redu! Dober nasvet, vendar bi vseeno dodal nalogo za spremembo dovoljenj na 775 novih datotek ob vsakem začetku seje, kar bi rešilo težavo z datotekami, premaknjenimi iz druge mape.
Najlepša hvala tudi za delitev!
Zanimivo, hvala!
Zanima me nekaj o primarni skupni rabi nekaterih distribucij gnu / linux. Nekateri distributerji ustvarijo uporabnika s primarno skupino uporabnikov in ne uporabljajo primarne skupine, ki je enaka imenu uporabnika.
Razlika je v tem, da se pri uporabnikih primarne skupine privzeto vse deli z uporabniki skupine, ki jim bodo pripadali vsi uporabniki, ustvarjeni v tem distro, če so namesto tega ustvarjeni z isto skupino kot uporabniško ime, privzeto ne nič se ne bo delilo.
Primer:
$ ls -l /home/user/*.txt
-rw-r - r– 1 carlos carlos 126 25. marec 2012 note.txt
$ ls -l /home/user/*.txt
-rw-r - r– 1 uporabnik carlosa 126 25. marec 2012 notes.txt
Ne priporočam uporabe primarne skupine uporabnikov, bolje je, da ustvarite svojo primarno skupino pri ustvarjanju uporabnika.
#groupadd carlos
# useradd -g carlos -G lp, kolo, uucp, avdio, cdrom, cdrw, usb, lpadmin, plugdev -m -s / bin / bash carlos
-G carlos označuje uporabo nadrejene skupine carlos.
Primarno skupino uporabnika lahko spremenite z # usermod -g, vendar to ne bo spremenilo primarne skupine vseh datotek in map, ki so že v / home / carlos, vse pa boste morali spremeniti.
Primer: spremenite uporabnike primarne skupine iz uporabnika carlos v primarno skupino carlos in nato spremenite
vsa dovoljenja za datoteke in mape uporabnika carlos, tako da ostanejo od carlos carlos.
#groupadd carlos
# usermod -g carlos uporabniki
# cd / home
# chown -R carlos: carlos carlos
Glede skupne rabe lahko ustvarite uporabnika, ki se imenuje v skupni rabi s primarno skupino v skupni rabi, in da pri kopiranju ne bo težav z dovoljenjem, najprej spremenite uporabnika
s "$ su - shared", potem kar želite kopirati v / home / shared, s tem bodo dovoljenja kopiranega postala uporabnik v skupni rabi.
Če že obstajajo datoteke za kopiranje, ki pripadajo drugim uporabnikom in primarnim skupinam, jih morate vse spremeniti.
# cd / home
# chown -R v skupni rabi: v skupni rabi
V limbu je ostalo le nekaj, česar ne vem, kako grafično kopirati kot uporabnik v skupni rabi, torej brez potrebe po $ su - shared
Zelo neumno je bilo kopirati grafično, hehe, tukaj v odprti škatli uporabljam pcmanfm, vendar lahko uporabite upravitelja datotek, ki ga imate ali želite, izvaja se le kot uporabnik v skupni rabi in ne kot korenski uporabnik.
$ su - v skupni rabi
$pcmanfm
$ delfin
$mc
etc etc
Kmalu sem hotel odgovoriti na to. V nasprotnem primeru je drugi crontab, ki lastnika datotek vsakič x spremeni z
chown -R compartido:compartido compartido
Zdi se mi, da ukaz "usermod -G thenewgroup elusuario" v bistvu spremeni uporabniško skupino v "thenewgroup". Če bi obstoječega uporabnika dodali v novo skupino, mislim, da bi bila pravilna stvar "usermod -aG elnuevogrupo elusuario"
Druga stvar je, da tukaj vidim, da več ljudi priporoča "chmod -R 775", vendar to ne vpliva samo na imenike, temveč tudi na vse datoteke (zaradi česar so izvršljive), kar predstavlja nepotrebno tveganje. Bolje naredite nekaj takega, kot je »najdi / doma / v skupni rabi -tip d -print0 | xargs -0 chmod 755 "in po potrebi z datotekami lahko naredite nekaj podobnega, vendar z uporabo" -type f "in odobritvijo dovoljenja 664.
Nazadnje, en način, da več računov omogoči dostop do datoteke ali mape, ne glede na to, kdo je lastnik ali skupina, je z ukazom "setfacl", ki je v paketu acl (če se dobro spomnim). Njegova uporaba je dobro pojasnjena na strani z navodili.
Imam naslednjo težavo. Ustvaril sem 4 uporabnike (web1, web2, web3, web4) in želim ustvariti mapo dostopne skupine za uporabnike spletne skupine. Ko ustvarim datoteko .htaccess, vem, da moram vstaviti Zahtevaj veljavnega uporabnika, če pa postavim Zahtevaj veljavnega uporabnika Web1 Web2 Web3 Web4, da lahko dostopajo do mape s svojim geslom, ko poskušam dostopati do mape me vpraša za uporabnika in geslo za vsakega. Kako naj dobim samo vprašanje za uporabniško ime in geslo tistega, ki želi vstopiti? ker se domneva, da eden ne pozna gesla drugega.
Hej.
Četrti terminal bi moral imeti "skupno" množino:
sudo usermod -G je delil sebastiana
sudo usermod -G je delil mojo žensko
Lep pozdrav.
Gustavo
Na zdravje :
Prehajamo z Windows Server na CentOs 6 in še vedno smo v postopku prilagajanja. Moja poizvedba: Ali je v CentOsu na voljo grafični vmesnik za skupno rabo map in omogočanje dostopa uporabnikom do spreminjanja, urejanja in / ali brisanja datotek?, Ali naj naredim vse zgornje postopke.
Hvala za pomoč.
Prav tako nameščam centos 6 in ga želim uporabljati s sambo, ki mi omogoča skupno rabo datotek iz linuxa in Windows, vem malo, linuxa ne uporabljam veliko, toda pri delu so me vprašali, kako lahko za skupno rabo map, vendar v grafičnem načinu ??.
Živjo. Prosim, pomagajte mi! ... Izkazalo se je, da sem s tem, ko sem to storil v mislih uporabnika Linux, izgubil privilegije. Ne morem teči ničesar podobnega sudu. Prejel sem naslednje sporočilo "Oprostite, uporabnik" username "ni pooblaščen za izvajanje" command_to_run "kot root v" username ""
Mislim, da ko sem uporabnika spremenil v skupno skupino, sem odstranil privilegije in kako jih lahko ponovno vzpostavim ???
Hej, prijatelj, ali obstaja kakšen način, da se stori enako, ampak da se datoteke delijo z drugimi v internetu
Za to morate SAMBA uporabiti kot datotečni strežnik. Na zdravje
Živjo. Ko sem prišel do ukaza sudo chmod g + s dirname, mi pove, da datoteka ali imenik ne obstaja. Ali veste, v čem je težava?
Kako ustvarim skupino v drugi skupini?
Linija:
sudo usermod -G je delil sebastiana
moral bi biti:
sudo usermod -a -G je delil sebastian
prvi način odstrani preostale uporabniške skupine.
in če ste prepoteni, izgubite svoje privilegije