Dnes se vracím s dalším tipem, který osobně hodně používám: mít možnost mít sdílený adresář mezi několika uživateli na Linuxu. Dostal jsem je do situace, s manželkou doma oba používáme stejný počítač Arch Linux ale každý s vlastním uživatelem. Takže jsme si všimli problému s těmi složkami, které sdílíme, jako je hudba nebo fotografie, protože každý z nich měl své vlastní soubory, duplikující věci.
Tehdy jsme si mysleli vytvořit sdílenou složku, ale je tu problém oprávnění. Pokud je moje složka, nevidí ji, pokud soubor, který vytvořím, ji neodstraní a tak dále. Na začátku oprava spočívala v tom, že jsme těmto souborům dali oprávnění 777 pokaždé, když jsme upravili něco, aby ten druhý měl přístup, dokud nenalezneme řešení, Skupinová oprávnění!
Co jsou oprávnění skupiny?
To je nejlepší, přiřadit tomuto sdílenému adresáři a veškerému jeho obsahu speciální skupinu s oprávněním ke čtení a zápisu, pomocí kterého budou mít všichni členové skupiny přístup do uvedeného adresáře. To pak umožňuje, že pouhým přidáním našich uživatelů do uvedené skupiny již můžeme v tomto adresáři interagovat.
A jak to nakonfiguruji?
To je ta nejlepší část a já vám dále povím, jak jsem to udělal se svou ženou. První věcí je vytvořit ten adresář, který pro příklad zavolám «sdílené".
sudo mkdir /home/compartido
Vytvářím to uvnitř / doma a mimo naše účty, aby se zabránilo tomu, že se horní adresáře obtěžují s vlastními oprávněními. Nyní musíme vytvořit skupinu, kterou dáme «sdílené»
sudo groupadd compartidos
A tuto skupinu přiřadíme adresáři, který jsme vytvořili dříve, a také změníme oprávnění, takže do této skupiny patří také vše, co uvnitř vytvoříme, ať už jde o adresáře nebo soubory.
sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname
Také do toho musíme přidat naše uživatele. Pak budeme muset tento příkaz opakovat pro každou z nich:
sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer
Zatím máme adresář «/ home / shared»Který patří do skupiny«sdílené«, S tím, k čemu budou mít všichni jeho členové přístup a vše, co je vytvořeno v adresáři, bude patřit do skupiny s tím, co je bude moci kdokoli z nás vidět.
Nyní potřebujeme pouze jeden poslední krok, který může být volitelný, ale je změnit umask uživatelů, abychom zajistili, že každý nový soubor, který vytvoříme, bude modifikovatelný ostatními členy skupiny. To ovlivní celého uživatele, nejen adresář, takže musí zjistit, zda pro něj funguje nebo ne. V mém případě, protože systém používáme pouze s manželkou, nás to netrápí a přidělili jsme si umask 002, což znamená, že každý vytvořený soubor začíná 775 oprávněními.
Úpravy umask
Chcete-li upravit umask, musí každý uživatel upravit soubor .profile nebo .bashrc, který je v domovském prostoru uživatele, a upravit hodnotu umask o požadované číslo. Pokud tato možnost neexistuje, musíme ji přidat.
Takže do konzoly vložíme:
sebastian@multivacs ~> vim .profile
A uvidíme něco takového:
Takže přejdeme k řádku, který říká umask, stiskneme písmeno i abychom mohli upravovat a odstraníme # pro odebrání komentáře. Změníme číslo na 002. Pokud se řádek nezobrazí, musí jej přidat.
Po dokončení stiskněte klávesu Esc opustit režim úprav a pak píšeme :+q+w. Co nás nutí uložit změny a opustit Vi.
Bude to vypadat takto:
A je to! Pokud zavřou relaci uživatele a znovu ji otevřou, budou provedeny změny, se kterými sdílený adresář již bude pracovat.
Skvělý tip.
Skvělé.
Před několika lety jsem viděl potřebu to udělat sám, ale nevěděl jsem, že je to umask ... Místo toho jsem dal úkol do crontabu 🙂
Děkuji za tip
Ano, crontab je také dobrý. Co jste vložili, abyste přiřadili obsahu 775 oprávnění?
Skvělý tip .. ..v případě potřeby uložen;) ..
Dobře, vytvoříte složku / home / shared a přiřadíte jí skupinu „shared“, ale
K jakému uživateli tato složka patří? Jinými slovy, kdo je vlastníkem? Já, druhá osoba nebo uživatel root, jehož účet je deaktivován, protože používám sudo?
Na druhou stranu se potýkám s následujícím problémem: Soubory, které vytvořím, nemohou být druhou osobou odstraněny a soubory, které druhá osoba vytváří, nemohu odstranit sám.
Co jsem udělal špatně?
Při vytváření složky pomocí sudo by vám měl zůstat root jako vlastník. Můžete to také upravit pomocí příkazu chown a přiřadit jiného uživatele.
Na druhé straně zkontrolujte, zda soubory, které vytvoříte, mají oprávnění 775 (což dává umask 002). Pokud tato oprávnění nemají, může dojít k nesprávné konfiguraci.
Podobně stojí za to objasnit, že umask ovlivňuje každý nový soubor, který je vytvořen v adresáři, ale pokud přesouvá nebo kopíruje obsah z jiného místa, jsou zachována původní oprávnění a ne ta, která jsme nastavili do adresáře.
Ahoj! Máš pravdu.
Díval jsem se a problém je způsoben poslední věcí, kterou říkáte: Při přesunutí souboru z jiného umístění do sdílené složky jsou zachována původní oprávnění.
Existuje řešení tohoto problému?
Mohl bych použít perly.
V takovém případě by bylo nejlepší umístit crontab, jak řekl KZKG ^ Gaara, do kterého můžete pokaždé X dát příkaz k přiřazení skupiny a oprávnění k obsahu složky.
To znamená v crontabu něco takového:
sudo chgrp -R compartidos /home/compartido/*
chmod -R 775 /home/compartido/*
Aby bylo vše nové, přejděte do sdílené skupiny s oprávněními 775.
Ignorujte * na konci každého řádku, myslel jsem na něco jiného, když jsem to dal 😛
Děkuji příteli.
Velmi dobrý příspěvek, ale dávám přednost samostatnému oddílu, do kterého můžu dát vše, co chci sdílet. Mám velkorysý 500 GB disk, na kterém používám 100 GB s Linuxem a 400 GB oddíl (ntfs), ve kterém je veškerá hudba, fotografie atd ... Na mém počítači jsme dva uživatelé a každý z nich má přístup k oddílu ntfs a dát a odstranit, co chceme, kdykoli chceme. Pokud nechci nic sdílet, mám ve svém uživatelském jménu nějaké věci. 🙂
Již se jedná o jiný způsob, jak to udělat, ale problém není v tom, kam umístit soubory, ale v konfiguraci oprávnění a řízení přístupu různých uživatelů.
Můžete to mít na oddílu NTFS, správně, ale také máte fragmentaci, pomalejší než EXT4 a menší zabezpečení, i když je dobré, abyste to tak měli, je to stejně platné.
Dobře! Dobrý tip, ale i tak bych přidal úkol změnit oprávnění na 775 nových souborů při každém začátku relace a vyřešil by se problém se soubory přesunutými z jiné složky.
Také děkuji za sdílení!
Zajímavé, díky!
Zvyšuji něco ohledně primární skupiny sdílení některých distribucí gnu / linux. Některá distribuce vytvářejí uživatele s uživateli primární skupiny a nepoužívají primární skupinu rovnou jménu uživatele.
Rozdíl spočívá v tom, že při použití uživatelů primární skupiny je ve výchozím nastavení vše sdíleno s uživateli skupiny, ke kterým budou patřit všichni uživatelé vytvoření v této distribuci, pokud jsou místo toho vytvořeni se stejnou skupinou jako jméno uživatele, ve nic nebude sdíleno.
příklad:
$ ls -l /home/user/*.txt
-rw-r - r– 1 carlos carlos 126 25. března 2012 notes.txt
$ ls -l /home/user/*.txt
-rw-r - r– 1 uživatel carlos 126 25. března 2012 notes.txt
Nedoporučuji používat uživatele primární skupiny, raději si při vytváření uživatele vytvořte vlastní primární skupinu.
#groupadd carlos
# useradd -g carlos -G lp, wheel, uucp, audio, cdrom, cdrw, usb, lpadmin, plugdev -m -s / bin / bash carlos
Symbol -g carlos označuje použití nadřazené skupiny carlos.
Můžete změnit primární skupinu uživatele pomocí # usermod -g, ale to nezmění primární skupinu všech souborů a složek, které jsou již v / home / carlos, budete je muset změnit všechny.
Příklad: změňte uživatele primární skupiny z uživatele Carlos na Carlos primární skupiny a poté změňte
všechna oprávnění souborů a složek uživatele carlos tak, aby zůstala z carlos carlos.
#groupadd carlos
# usermod -g carlos uživatelů
# cd / home
# chown -R carlos: carlos carlos
Pokud jde o sdílení, můžete vytvořit uživatele s názvem shared s vaší sdílenou primární skupinou, a aby při kopírování nedošlo k žádným problémům s oprávněními, musíte nejprve změnit uživatele
s "$ su - shared" se zkopíruje to, co chcete, do / home / shared, s tímto a oprávněními k tomu, co se zkopíruje, se stane sdíleným uživatelem.
Pokud již existují kopie souborů patřících jiným uživatelům a primárním skupinám, musíte je všechny změnit.
# cd / home
# chown -R shared: shared shared
V limbu zbývá jen něco, co nevím, jak graficky kopírovat jako sdílený uživatel, tedy bez nutnosti dělat $ su - sdílené
Byla to velmi hloupá věc graficky kopírovat, hehe, používám zde pcmanfm v openboxu, ale můžete použít správce souborů, který máte nebo chcete, je spuštěn pouze jako sdílený uživatel a ne jako uživatel root.
$ su - sdílené
$pcmanfm
$ delfín
mc
atd atd
Právě jsem se chystal na to odpovědět. Pokud ne, druhá je crontab, která mění vlastníka souborů pokaždé x pomocí a
chown -R compartido:compartido compartido
Zdá se mi, že příkaz „usermod -G thenewgroup elusuario“, co dělá, je v zásadě změnit skupinu uživatele na „thenewgroup“. Chcete-li přidat existujícího uživatele do nové skupiny, myslím, že správná věc by byla „usermod -aG elnuevogrupo elusuario“
Další věc je, že zde vidím, že několik lidí doporučuje udělat „chmod -R 775“, ale to se netýká pouze adresářů, ale také všech souborů (což je dělá spustitelnými), což přináší zbytečné riziko. Lepší je udělat něco jako «find / home / shared -type d -print0 | xargs -0 chmod 755 "a v případě potřeby se soubory můžete udělat něco podobného, ale pomocí" -type f "a udělení povolení 664.
A konečně, jedním ze způsobů, jak zajistit, aby více účtů mělo přístup k souboru nebo složce bez ohledu na to, kdo je vlastníkem nebo skupinou, je použití příkazu „setfacl“, který je v balíčku ACL (pokud si dobře pamatuji). Jeho použití je dobře vysvětleno na manuální stránce.
Mám následující problém. Vytvořil jsem 4 uživatele (web1, web2, web3, web4) a chci vytvořit složku přístupové skupiny pro uživatele webové skupiny. Když vytvořím soubor .htaccess, vím, že musím dát require valid-user, ale když jsem dal require valid-user web1 web2 web3 web4, aby měli přístup ke složce pomocí svého hesla, když se pokusím o přístup ke složce zeptá se mě na uživatele a heslo každého z nich. Jak dostanu pouze dotaz na uživatelské jméno a heslo toho, kdo chce zadat? protože se předpokládá, že jeden nezná heslo druhého.
Dobrý den.
4. terminál by měl mít „sdílené“ množné číslo:
sudo usermod -G sdílený sebastian
sudo usermod -G sdílená mywoman
Zdravím.
Gustavo
Na zdraví:
Migrujeme ze systému Windows Server na CentOs 6 a stále jsme v procesu adaptace. Můj dotaz: Existuje v CentOs grafické rozhraní pro sdílení složek a umožnění přístupu uživatelů k úpravám, úpravám a / nebo mazání souborů? Nebo bych měl udělat výše uvedený postup.
Děkujeme za pomoc
Také instaluji centos 6 a chci ho použít se sambou, která mi umožňuje sdílet soubory z linuxu a windows, trochu vím, linux moc nepoužívám, ale v práci jsem byl dotázán, jak mohu sdílet složky, ale v grafickém režimu ??.
Ahoj. Prosím, pomozte mi! ... Ukázalo se, že když jsem to udělal v mém uživateli v linuxové mysli, teď jsem ztratil oprávnění. Nemohu spustit nic jako sudo. Zobrazuje se mi následující zpráva „Promiňte, uživatel„ username “není oprávněn spustit„ command_to_run “jako root v„ username ““
Myslím, že když jsem změnil uživatele na sdílenou skupinu, vzal jsem oprávnění a teď, jak je obnovím ???
Ahoj příteli, existuje nějaký způsob, jak udělat totéž, ale sdílet soubory s jinými lidmi v internetové síti LAN
K tomu musíte použít SAMBA jako souborový server. Na zdraví
Ahoj. Když jsem se dostal k příkazu sudo chmod g + s dirname, říká mi, že soubor nebo adresář neexistuje. Víte, v čem je problém?
Jak vytvořím skupinu v jiné skupině?
Linie:
sudo usermod -G sdílený sebastian
mělo by:
sudo usermod -a -G sdílený sebastian
první způsob odstraní zbytek skupin uživatele.
a pokud jste zpocený, ztratíte svá privilegia