Tip: Mějte adresář sdílený mezi více uživateli v systému Linux

terminál

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.

Můžete také upravit soubor / etc / profile, aby se změna dotkla všech uživatelů

Takže do konzoly vložíme:

sebastian@multivacs ~> vim .profile

A uvidíme něco takového:

vi-profil2

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:

vi-profil

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.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   živý řekl

    Skvělý tip.

  2.   KZKG ^ Gaara řekl

    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

    1.    thalskart řekl

      Ano, crontab je také dobrý. Co jste vložili, abyste přiřadili obsahu 775 oprávnění?

  3.   rawBasic řekl

    Skvělý tip .. ..v případě potřeby uložen;) ..

  4.   Luis řekl

    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ě?

    1.    thalskart řekl

      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.

      1.    Luis řekl

        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.

      2.    thalskart řekl

        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.

      3.    thalskart řekl

        Ignorujte * na konci každého řádku, myslel jsem na něco jiného, ​​když jsem to dal 😛

      4.    Luis řekl

        Děkuji příteli.

  5.   Ernesto řekl

    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. 🙂

    1.    Luis řekl

      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é.

  6.   rainerhg řekl

    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í!

  7.   Joaquin řekl

    Zajímavé, díky!

  8.   anonymní řekl

    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é

  9.   anonymní řekl

    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

    1.    thalskart řekl

      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

  10.   Hugo řekl

    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.

  11.   Unai martine řekl

    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.

  12.   Gustavo F. Paredes řekl

    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

  13.   Ivan řekl

    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

    1.    Rafael řekl

      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 ??.

  14.   Ricardo řekl

    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 ???

  15.   Guillermo řekl

    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

  16.   Fabian řekl

    K tomu musíte použít SAMBA jako souborový server. Na zdraví

  17.   David řekl

    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?

  18.   Javier Quiroga Almeida řekl

    Jak vytvořím skupinu v jiné skupině?

  19.   Rodrigo Hernán Ramos řekl

    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