Tips: Låt en katalog delas mellan flera användare i Linux

terminal

Idag återvänder jag med ett annat tips som jag personligen använder mycket: kunna dela en katalog mellan flera användare på en Linux. Jag sätter dem i en situation, med min fru hemma använder vi båda samma dator med Arch Linux men var och en med sin egen användare. Så vi märkte problemet med de mappar som vi delar som musik eller foton, eftersom var och en hade sina egna filer och duplicerade saker.

Det var då vi tänkte skapa en delad mapp, men det finns problemet med behörigheter. Om mappen är min ser hon den inte, om filen jag skapar den tar hon inte bort den och så vidare. I början var korrigeringen att vi gav 777 behörigheter till dessa filer varje gång vi redigerade något för den andra att komma åt tills vi hittade lösningen, Gruppbehörigheter!

Vad är gruppbehörigheter?

Det är bäst, tilldela den delade katalogen och allt dess innehåll en speciell grupp med läs- och skrivbehörigheter, med vilken alla medlemmar i gruppen kommer att ha tillgång till nämnda katalog. Detta tillåter då att bara genom att lägga till våra användare i nämnda grupp kan vi redan interagera i den katalogen.

Och hur konfigurerar jag det?

Det här är det bästa och jag berättar hur jag gjorde det med min fru. Det första är att skapa den katalogen, som jag till exempel kommer att kalla «delat".

sudo mkdir /home/compartido

Jag skapar det inom / hem och utanför våra konton för att undvika att de övre katalogerna bryr sig om sina egna behörigheter. Nu måste vi skapa gruppen, som vi kommer att sätta «delat»

sudo groupadd compartidos

Och vi tilldelar den här gruppen till den katalog som vi skapade tidigare och vi ändrar också behörigheterna, så att allt vi skapar inuti, oavsett om det är kataloger eller filer, också tillhör den här gruppen.

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

Vi måste också lägga till våra användare i den. Sedan måste vi upprepa detta kommando för var och en:

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

Hittills har vi katalogen «/ hem / delad»Vilket tillhör gruppen«delat«, Med vad alla medlemsanvändare av samma kommer att kunna komma åt och allt som skapas i katalogen, kommer att tillhöra gruppen med vad någon av oss kommer att kunna se dem.

Nu saknas bara ett sista steg, vilket kan vara valfritt, men det är att ändra användarnas uppgift för att säkerställa att varje ny fil som vi skapar kan ändras av de andra medlemmarna i gruppen. Detta påverkar hela användaren, inte bara katalogen, så de måste se om det fungerar för dem eller inte. I mitt fall, eftersom bara min fru och jag använder systemet, stör det oss inte och vi tilldelar oss en umask på 002, vilket innebär att varje skapad fil börjar med 775 behörigheter.

Redigera umask

För att redigera umask måste varje användare redigera .profile- eller .bashrc-filen som finns i användarens hem och ändra värdet på umask med önskat nummer. Om alternativet inte finns, måste vi lägga till det.

Du kan också redigera / etc / profilfilen så att ändringen påverkar alla användare

Så i konsolen lägger vi:

sebastian@multivacs ~> vim .profile

Och vi kommer att se något så här:

vi-profil2

Så vi går till raden som säger umask, vi trycker på bokstaven i för att kunna redigera och vi tar bort # för att ta bort kommentaren. Vi ändrar numret till 002. Om raden inte visas måste de lägga till den.

När du är klar trycker vi på knappen esc för att avsluta redigeringsläget och sedan skriver vi :+q+w. Vad får oss att spara ändringarna och avsluta Vi.

Det kommer att se ut som den här bilden:

vi-profil

Och det är det! Om de stänger sin användarsession och öppnar den igen kommer ändringarna att tas, som den delade katalogen redan kommer att fungera med.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   livlig sade

    Bra tips.

  2.   KZKG ^ Gaara sade

    Genial.

    För några år sedan befann jag mig själv i behovet av att göra detta, det jag inte visste var umask ... jag lade istället en uppgift i crontab 🙂

    Tack för tipset

    1.    thalskart sade

      Ja, crontab är också bra. Vad lade du, för att tilldela innehållet 775 behörigheter?

  3.   rawBasic sade

    Bra tips .. ..sparat vid behov;) ..

  4.   Luis sade

    Ok, du skapar mappen / hem / delad och tilldelar gruppen "delad" till den men

    Till vilken användare tillhör den här mappen? Med andra ord, vem är ägaren? Jag, den andra personen eller rotanvändaren vars konto är inaktiverat eftersom jag använder sudo?

    Å andra sidan har jag följande problem: De filer som jag skapar kan inte tas bort av den andra personen och de filer som den andra skapar kan jag inte ta bort själv.

    Vad gjorde jag för fel?

    1.    thalskart sade

      När du skapar mappen med sudo bör du vara kvar med rotanvändaren som ägare. Du kan också ändra det med chown-kommandot för att tilldela en annan användare.

      Å andra sidan, kontrollera att filerna du skapar gör det med 775 behörigheter (vilket ger umask 002). Om de inte har dessa behörigheter kan det finnas fel inställningar.

      På samma sätt är det värt att klargöra att umask påverkar alla nya filer som skapas i katalogen, men om de flyttar eller kopierar innehåll från en annan plats behålls de ursprungliga behörigheterna och inte de som vi ställer in i katalogen.

      1.    Luis sade

        Hallå! Du har rätt.

        Jag har letat och problemet beror på det sista du säger: När du flyttar en fil från en annan plats till den delade mappen behålls de ursprungliga behörigheterna.

        Finns det en lösning på detta?

        Jag kunde använda pärlor.

      2.    thalskart sade

        I så fall skulle det bästa vara att sätta en crontab som KZKG ^ Gaara sa, där du kan lägga ett kommando för att tilldela gruppen och behörigheter till mappinnehållet varje X gång.
        Det vill säga något så här i crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        För att få allt nytt, gå till den delade gruppen med behörighet 775.

      3.    thalskart sade

        Ignorera * i slutet av varje rad, jag tänkte på något annat när jag uttryckte det 😛

      4.    Luis sade

        Tack kompis.

  5.   ernesto sade

    Mycket bra inlägg, men jag föredrar att ha en separat partition där jag kan lägga allt jag vill dela. Jag har en generös 500 GB disk, där jag använder 100 GB med Linux och en 400 GB partition (ntfs) där all musik, foton osv ... På min dator är vi två användare och var och en kan komma åt partitionen ntfs och sätt och ta bort det vi vill, när vi vill. Om jag inte vill dela någonting har jag några saker i mitt användarnamn. 🙂

    1.    Luis sade

      Det är redan ett annat sätt att göra det, men problemet är inte var filerna ska placeras utan att konfigurera behörigheterna och kontrollera åtkomst för olika användare.

      Du kan ha den på en NTFS-partition, rätt men du har också fragmentering, långsammare än EXT4 och mindre säkerhet, men om det är bra för dig att ha det på det sättet är det lika giltigt.

  6.   rainerhg sade

    Okej! Bra tips, men jag skulle ändå lägga till en uppgift för att ändra behörigheterna till 775 av de nya filerna vid varje inloggning och lösa problemet med filer som flyttats från en annan mapp.
    Tack så mycket för att du delar!

  7.   Joaquin sade

    Intressant, tack!

  8.   anonym sade

    Jag tar upp något angående den primära delningsgruppen för vissa GNU / Linux-distributioner. Vissa distros skapar användaren med de primära gruppanvändarna och använder inte en primär grupp som är lika med användarens namn.
    Skillnaden är att med de primära gruppanvändarna delas allt som standard med de gruppanvändare som alla användare som skapats i den distro tillhör, om de istället skapas med samma grupp som användarens namn, som standard inte ingenting kommer att delas.

    Exempelvis:
    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos carlos 126 mars 25 2012 notes.txt

    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos-användare 126 Mar 25 2012 notes.txt

    Jag rekommenderar inte att du använder de primära gruppanvändarna, bättre att skapa din egen primära grupp när du skapar användaren.

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

    -G carlos indikerar att använda modergruppen carlos.
    Du kan ändra den primära gruppen för en användare med # usermod -g men det kommer inte att ändra den primära gruppen för alla filer och mappar som redan finns i / home / carlos, du måste ändra dem alla.

    Exempel: ändra primära gruppanvändare från användare carlos till primära grupp carlos och ändra sedan
    alla fil- och mappbehörigheter för användaren carlos så att de förblir av carlos carlos.

    #groupadd carlos
    # usermod -g carlos-användare
    # cd / hem
    # chown -R carlos: carlos carlos

    När det gäller delning kan du skapa en användare som heter delad med din delade primära grupp, och så att det inte finns några behörighetsproblem vid kopiering ändrar du först användaren
    med "$ su - shared" så kopieras det du vill ha till / home / shared, med detta och behörigheterna för det som kopieras blir den delade användaren.
    Om det redan finns kopieringsfiler som tillhör andra användare och primära grupper måste du ändra dem alla.

    # cd / hem
    # chown -R delad: delad delad

    Det finns bara något kvar i limbo, som jag inte vet hur man gör för att kopiera grafiskt som den delade användaren, det vill säga utan att behöva göra $ su - shared

  9.   anonym sade

    Det var en väldigt fånig sak att kopiera grafiskt, hehe, jag använder pcmanfm här i openbox, men du kan använda den filhanterare du har eller vill, den körs bara som en delad användare och inte som en rotanvändare.

    $ su - delas
    $pcmanfm
    $ delfin
    $mc
    etc etc

    1.    thalskart sade

      Jag skulle precis svara på det. Om inte, är den andra en crontab som byter ägaren till filerna varje gång med en
      chown -R compartido:compartido compartido

  10.   Hugo sade

    Det verkar för mig att kommandot "usermod -G thenewgroup elusuario" vad det gör i grunden är att ändra användarens grupp till "thenewgroup". För att lägga till en befintlig användare i en ny grupp tror jag att rätt sak skulle vara "usermod -aG elnuevogrupo elusuario"

    En annan sak är att jag ser här att flera personer rekommenderar att man gör en "chmod -R 775" men det påverkar inte bara kataloger utan också alla filer (vilket gör dem körbara), vilket medför en onödig risk. Bättre att göra något som «hitta / hem / delad -typ d -print0 | xargs -0 chmod 755 "och om det behövs med filerna kan du göra något liknande men med" -typ f "och bevilja tillstånd 664.

    Slutligen är ett sätt att skapa flera konton åtkomst till en fil eller mapp oavsett vem ägaren eller gruppen är genom att använda kommandot "setfacl" som finns i acl-paketet (om jag minns rätt). Användningen förklaras väl på manualsidan.

  11.   Unai martin sade

    Jag har följande problem. Jag har skapat fyra användare (web4, web1, web2, web3) och jag vill skapa en åtkomstgruppmapp till användarna av webbgruppen. När jag skapar .htaccess-filen vet jag att jag måste sätta kräver giltig användare, men om jag lägger till kräver giltig användare web4 web1 web2 web3 så att de kan komma åt mappen med sitt lösenord när jag försöker komma åt mappen det ber mig om användaren och lösenordet för var och en. Hur får jag bara användarnamnet och lösenordet för den som vill ange? eftersom det antas att den ena inte känner till den andra.

  12.   Gustavo F. Paredes sade

    Hej.

    Den fjärde terminalen ska ha den "delade" pluralen:

    sudo usermod -G delade sebastian

    sudo usermod -G delade min kvinna

    Hälsningar.

    Gustavo

  13.   Ivan sade

    Skål :

    Vi migrerar från Windows Server till CentOs 6 och vi håller fortfarande på att anpassas. Min fråga: Finns det ett grafiskt gränssnitt i CentOs för att dela mappar och ge användare åtkomst till att ändra, redigera och / eller radera filer? Eller ska jag göra alla ovanstående procedurer.

    Tack för hjälpen.

    1.    Rafael sade

      Jag installerar också en centos 6 och jag vill använda den med samba som gör att jag kan dela filer från linux och windows, jag har redan lärt mig lite, jag använder inte linux mycket, men på jobbet har jag blivit tillfrågad, hur kan jag göra för att dela mappar men i grafiskt läge ??.

  14.   Ricardo sade

    Hej. Snälla hjälp mig! ... Det visar sig att genom att göra detta i min användare i Linux-sinne, förlorade jag nu privilegier. Jag kan inte köra något som sudo. Jag får följande meddelande "Ursäkta mig, användaren" användarnamn "har inte behörighet att utföra" command_to_run "som root i" användarnamn ""

    Jag tror att när jag ändrade min användare till den delade gruppen tog jag bort behörigheterna, och hur återställer jag dem nu ???

  15.   Guillermo sade

    Hej vän finns det något sätt att göra detsamma men dela filer med andra människor på Internet LAN

  16.   Fabian sade

    För detta måste du använda SAMBA som filserver. Skål

  17.   David sade

    Hej. När jag kom till kommandot sudo chmod g + s dirname berättar det för mig att filen eller katalogen inte finns. Vet du vad problemet är?

  18.   Javier Quiroga Almeida sade

    Hur skapar jag en grupp i en annan grupp?

  19.   Rodrigo Hernán Ramos sade

    Linjen:
    sudo usermod -G delade sebastian

    borde vara:
    sudo usermod -a -G delade sebastian

    det första sättet tar bort resten av användarens grupper.
    och om du är svettig förlorar du dina privilegier