Tip: Nechajte adresár zdieľať medzi viacerými používateľmi v systéme Linux

terminál

Dnes sa vraciam s ďalším tipom, ktorý osobne osobne veľmi využívam: mať možnosť mať zdieľaný adresár medzi niekoľkými používateľmi v systéme Linux. Dostal som ich do situácie, keď som s manželkou doma obaja používali rovnaké PC Arch Linux ale každý s vlastným používateľom. Takže sme si všimli problém tých priečinkov, ktoré zdieľame ako hudba alebo fotografie, pretože každý z nich mal svoje vlastné súbory duplikujúce veci.

Vtedy sme si mysleli vytvoriť zdieľaný priečinok, ale vyskytol sa problém s povoleniami. Ak je priečinok môj, nevidí ho, ak je súbor vytvorený mnou, neodstráni ho a podobne. Oprava spočiatku spočívala v tom, že sme týmto súborom udelili 777 povolení zakaždým, keď sme upravovali obsah, ktorý mal ten druhý prístup, až kým nenájdeme riešenie, Skupinové povolenia!

Čo sú to skupinové povolenia?

To je najlepšie, priradí tento zdieľaný adresár a všetok jeho obsah špeciálnej skupine s oprávneniami na čítanie a zápis, s ktorým budú mať všetci členovia skupiny prístup do uvedeného adresára. To potom umožňuje, že jednoduchým pridaním našich používateľov do tejto skupiny už môžeme interagovať v danom adresári.

A ako to nakonfigurujem?

Toto je najlepšia časť a ďalej vám hovorím, ako som to urobil s manželkou. Prvá vec je vytvoriť ten adresár, ktorý napríklad nazvem «zdieľaná".

sudo mkdir /home/compartido

Vytváram to vo vnútri / doma a mimo našich účtov, aby sa zabránilo tomu, že sa horné adresáre budú trápiť s vlastnými povoleniami. Teraz musíme vytvoriť skupinu, ktorú dáme «zdieľaná»

sudo groupadd compartidos

A túto skupinu priradíme k adresáru, ktorý sme vytvorili predtým, a tiež zmeníme oprávnenia, aby do tejto skupiny patrilo aj všetko, čo vnútri tvoríme, či už sú to adresáre alebo súbory.

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

Musíme doň pridať aj našich používateľov. Potom musíme tento príkaz opakovať pre každý z nich:

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

Zatiaľ máme adresár «/ home / shared»Ktorý patrí do skupiny«zdieľaná«, To, k čomu budú mať prístup všetci jej členovia, a všetko, čo sa v adresári vytvorí, bude patriť do skupiny s tým, čo ich bude môcť ktokoľvek z nás vidieť.

Teraz už chýba iba posledný krok, ktorý môže byť voliteľný, ale je to zmena umask používateľov, aby sa zabezpečilo, že každý nový súbor, ktorý vytvoríme, bude modifikovateľný ostatnými členmi skupiny. To ovplyvňuje celého používateľa, nielen adresár, takže musí zistiť, či pre neho funguje alebo nie. V mojom prípade, keďže systém používame iba s manželkou, nám to neprekáža a pridelili sme si umask 002, čo znamená, že každý vytvorený súbor začína 775 oprávneniami.

Úpravy umasku

Ak chcete upraviť umask, musíte v každom používateľovi upraviť súbor .profile alebo .bashrc, ktorý sa nachádza v domácnosti používateľa, a upraviť hodnotu umask o požadované číslo. Ak možnosť neexistuje, musíme ju pridať.

Môžete tiež upraviť súbor / etc / profile, aby sa zmena dotkla všetkých používateľov

Takže do konzoly sme vložili:

sebastian@multivacs ~> vim .profile

A uvidíme niečo také:

vi-profil2

Prejdeme teda k riadku, ktorý hovorí umask, stlačíme písmeno i aby sme ich mohli upravovať a odstránime # na odstránenie komentára. Číslo zmeníme na 002. Ak sa riadok nezobrazí, musia ho pridať.

Po dokončení stlačte kláves Esc opustíte režim úprav a potom napíšeme :+q+w. Čo nás núti uložiť zmeny a opustiť Vi.

Bude to vyzerať takto:

vi-profil

A je to! Ak zatvoria reláciu používateľa a znova ju otvoria, zmeny sa vykonajú, takže zdieľaný adresár bude fungovať.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   živý dijo

    Skvelý tip.

  2.   KZKG ^ Gaara dijo

    Geniálny.

    Pred niekoľkými rokmi som videl potrebu to urobiť sám, ale nevedel som, že je to umask ... Namiesto toho som dal úlohu do crontabu 🙂

    Ďakujem za tip

    1.    thalskart dijo

      Áno, crontab je tiež dobrý. Čo ste dali, aby ste obsahu pridelili 775 povolení?

  3.   rawBasic dijo

    Skvelý tip .. ..v prípade potreby uložený;) ..

  4.   Luis dijo

    Dobre, vytvoríte priečinok / home / shared a priradíte k nemu skupinu „shared“

    Komu používateľovi patrí tento priečinok? To znamená, kto je vlastníkom? Ja, iná osoba alebo používateľ typu root, ktorého účet je deaktivovaný, pretože používam sudo?

    Na druhej strane narazím na nasledujúci problém: Súbory, ktoré vytvorím, nemôže druhá osoba vymazať a súbory, ktoré vytvorí druhá osoba, nemôžem vymazať.

    Čo som urobil zle?

    1.    thalskart dijo

      Pri vytváraní priečinka pomocou sudo by vám mal zostať root ako vlastník. Môžete ich tiež upraviť pomocou príkazu chown a priradiť tak iného používateľa.

      Na druhej strane skontrolujte, či súbory, ktoré vytvoríte, majú oprávnenie 775 (čo dáva umask 002). Ak tieto povolenia nemajú, môže sa jednať o nesprávne nastavenia.

      Rovnako stojí za to objasniť, že umask ovplyvňuje každý nový súbor, ktorý sa vytvorí v adresári, ale ak presunie alebo skopíruje obsah z iného miesta, zachovajú sa pôvodné povolenia, a nie tie, ktoré sme nastavili pre adresár.

      1.    Luis dijo

        Ahoj Máš pravdu.

        Pozeral som sa a problém je spôsobený tou poslednou vecou, ​​ktorú hovoríte: Pri presúvaní súboru z iného umiestnenia do zdieľaného priečinka sa zachovajú pôvodné povolenia.

        Existuje riešenie tohto problému?

        Mohla by som použiť perly.

      2.    thalskart dijo

        V takom prípade by bolo najlepšie umiestniť crontab, ako povedal KZKG ^ Gaara, do ktorého môžete zadať príkaz na priradenie skupiny a povolení k obsahu priečinka zakaždým X.
        To znamená niečo podobné na karte crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        Aby bolo všetko nové, presuňte sa do zdieľanej skupiny s povoleniami 775.

      3.    thalskart dijo

        Ignorujte * na konci každého riadku, keď som to uviedol, myslel som na niečo iné 😛

      4.    Luis dijo

        Ďakujem priateľu.

  5.   Ernesto dijo

    Veľmi dobrý príspevok, ale radšej mám samostatný oddiel, do ktorého môžem vložiť všetko, čo chcem zdieľať. Mám veľkorysý 500 GB disk, na ktorom používam 100 GB v systéme Linux a 400 GB oddiel (ntfs), v ktorom je všetka hudba, fotografie atď. Na mojom počítači sme dvaja používatelia a každý z nich má prístup k oddielu ntfs. a dať a odstrániť to, čo chceme, kedy chceme. Ak nechcem nič zdieľať, nejaké veci mám vo svojom užívateľskom mene. 🙂

    1.    Luis dijo

      Existuje už ďalší spôsob, ako to urobiť, ale problém nie je v tom, kam ukladať súbory, ale v konfigurácii povolení a kontrole prístupu rôznych používateľov.

      Môžete to mať na oddieli NTFS, správne, ale máte aj fragmentáciu, pomalšiu ako EXT4 a menšiu bezpečnosť, aj keď je dobré, aby ste to tak mali, je rovnako platná.

  6.   rainerhg dijo

    Dobre! Dobrý tip, ale aj tak by som pri každom prihlásení pridal úlohu zmeniť oprávnenie na 775 nových súborov a vyriešil by sa problém so súbormi presunutými z iného priečinka.
    Ďakujeme tiež za zdieľanie!

  7.   Joaquin dijo

    Zaujímavé, vďaka!

  8.   anonymný dijo

    Zvyšujem niečo vo vzťahu k primárnej skupine zdieľania niektorých distribúcií gnu / linux. Niektoré distribúcie vytvárajú používateľa s používateľmi primárnej skupiny a nepoužívajú primárnu skupinu, ktorá sa rovná názvu používateľa.
    Rozdiel je v tom, že pri použití používateľov primárnej skupiny sa predvolene všetko zdieľa s používateľmi skupiny, do ktorej budú patriť všetci používatelia vytvorení v danom distro, ak sú namiesto toho vytvorení s rovnakou skupinou ako meno používateľa, v predvolenom nastavení nič. budú zdieľané.

    príklad:
    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos carlos 126 25. marca 2012 notes.txt

    $ ls -l /home/user/*.txt
    -rw-r - r– 1 používateľ Carlos 126 25. marca 2012 notes.txt

    Neodporúčam používať používateľov primárnej skupiny, radšej si pri vytváraní používateľa vytvorte vlastnú primárnu skupinu.

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

    -G carlos označuje použitie rodičovskej skupiny carlos.
    Môžete zmeniť primárnu skupinu používateľov pomocou # usermod -g, ale nezmení sa tým primárna skupina všetkých súborov a priečinkov, ktoré sú už v priečinku / home / carlos, budete musieť zmeniť všetky.

    Príklad: zmeňte používateľov primárnej skupiny z používateľa Carlos na primárnu skupinu Carlos a potom zmeňte nastavenie
    všetky povolenia súborov a priečinkov používateľa carlos, aby zostali z carlos carlos.

    #groupadd carlos
    # usermod -g carlos používateľov
    # cd / domov
    # chown -R carlos: carlos carlos

    Pokiaľ ide o zdieľanie, môžete vytvoriť používateľa s názvom shared with your shared primary group, and so that there are no permission problems when copying, you first change the user
    s "$ su - shared" sa potom to, čo chcete, skopíruje do / home / shared, s týmto a povolenia na to, čo sa kopíruje, sa stane zdieľaným používateľom.
    Ak už existujú súbory na kopírovanie patriace iným používateľom a primárnym skupinám, musíte ich všetky zmeniť.

    # cd / domov
    # chown -R shared: shared shared

    V limbe zostalo len niečo, čo neviem, ako graficky kopírovať ako zdieľaný používateľ, teda bez toho, aby som musel robiť $ su - shared

  9.   anonymný dijo

    Bolo to veľmi hlúpe, že graficky kopírujem, hehe, ja tu používam pcmanfm v openboxe, ale môžete použiť správcu súborov, ktorý máte alebo chcete, je vykonávaný iba ako zdieľaný užívateľ a nie ako root.

    $ su - zdieľané
    $pcmanfm
    $ delfín
    mc
    atď atď

    1.    thalskart dijo

      Práve som sa na to chystal odpovedať. Ak nie, druhou je karta, ktorá vždy mení vlastníka súborov pomocou a
      chown -R compartido:compartido compartido

  10.   Hugo dijo

    Zdá sa mi, že príkaz „usermod -G thenewgroup elusuario“, čo robí, je v podstate zmena skupiny používateľov na „thenewgroup“. Ak si chcete pridať existujúceho používateľa do novej skupiny, myslím si, že správna vec by bola „usermod -aG elnuevogrupo elusuario“

    Ďalšia vec je, že tu vidím, že niekoľko ľudí odporúča urobiť „chmod -R 775“, ale to nemá vplyv iba na adresáre, ale aj na všetky súbory (čo ich robí spustiteľnými), čo predstavuje zbytočné riziko. Lepšie je robiť niečo ako «find / home / shared -type d -print0 | xargs -0 chmod 755 "a v prípade potreby so súbormi môžete urobiť niečo podobné, ale pomocou" -typ f "a udelenia povolenia 664.

    Nakoniec, jedným zo spôsobov, ako umožniť viacerým účtom prístup k súboru alebo priečinku bez ohľadu na to, kto vlastní alebo skupinu, je použitie príkazu „setfacl“, ktorý je v balíku acl (ak si dobre pamätám). Jeho použitie je dobre vysvetlené na manuálnej stránke.

  11.   Unai martin dijo

    Mám nasledujúci problém. Vytvoril som 4 používateľov (web1, web2, web3, web4) a chcem vytvoriť priečinok prístupovej skupiny pre používateľov webovej skupiny. Keď vytvorím súbor .htaccess, viem, že musím dať require valid-user, ale ak uvediem require-user web1 web2 web3 web4, aby mali prístup do priečinka pomocou svojho hesla, pri pokuse o prístup k priečinku pýta odo mňa meno používateľa a heslo každého z nich. Ako môžem zistiť, či je zadané iba používateľské meno a heslo toho, kto chce zadať heslo? pretože jeden má nepoznať heslo druhého.

  12.   Gustavo F. Paredes dijo

    Dobrý deň.

    4. terminál by mal mať „zdieľané“ množné číslo:

    sudo usermod -G zdieľaný sebastian

    sudo usermod -G zdieľaná mywoman

    Zdravím.

    Gustavo

  13.   ivan dijo

    Na zdravie:

    Migrujeme zo systému Windows Server na CentOs 6 a stále sa nachádzame v procese adaptácie. Môj dotaz: Existuje v CentOs grafické rozhranie na zdieľanie priečinkov a poskytovanie prístupu používateľom na úpravu, úpravu a / alebo mazanie súborov? Alebo by som mal urobiť všetok vyššie uvedený postup.

    Vdaka za pomoc.

    1.    rafael dijo

      Inštalujem tiež centos 6 a chcem ho použiť so sambou, ktorá mi umožňuje zdieľať súbory z linuxu a windowsu, viem málo, linux veľmi nepoužívam, ale v práci sa ma pýtali, ako môžem zdieľať priečinky, ale v grafickom režime ??.

  14.   Ricardo dijo

    Ahoj. Prosím, pomôžte mi! ... Ukázalo sa, že keď som to urobil v mojom používateľovi v linuxovej mysli, teraz som stratil privilégiá. Nemôžem spustiť nič ako sudo. Zobrazuje sa mi nasledujúca správa „Prepáčte, používateľ„ username “nie je oprávnený spustiť„ command_to_run “ako root v„ username ““

    Myslím si, že keď som zmenil používateľa na zdieľanú skupinu, odobral som privilégiá a ako ich teraz obnovím ???

  15.   Účet dijo

    Ahoj priateľ, existuje nejaký spôsob, ako urobiť to isté, ale zdieľať súbory s ostatnými ľuďmi v internetovej sieti LAN

  16.   Fabian dijo

    Preto musíte ako súborový server použiť SAMBA. S pozdravom

  17.   David dijo

    Ahoj. Keď som sa dostal k príkazu sudo chmod g + s dirname, povedalo mi to, že súbor alebo adresár neexistuje. Viete v čom je problém?

  18.   Javier Quiroga Almeida dijo

    Ako vytvorím skupinu v inej skupine?

  19.   Rodrigo Hernán Ramos dijo

    Čiara:
    sudo usermod -G zdieľaný sebastian

    by mala byť:
    sudo usermod -a -G zdieľaný sebastian

    prvý spôsob odstráni zvyšok skupín používateľa.
    a ak si spotený, stratíš svoje privilégiá