Tips: Få en katalog delt mellom flere brukere i Linux

terminal

I dag kommer jeg tilbake med et annet tips som personlig bruker jeg mye: kunne ha en delt katalog mellom flere brukere på en Linux. Jeg setter dem i en situasjon, med kona hjemme vi begge bruker samme PC med Arch Linux men hver med sin egen bruker. Så vi la merke til problemet med de mappene vi deler som musikk eller bilder, siden hver hadde sine egne filer og dupliserte ting.

Det var da vi trodde lage en delt mappe, men det er problemet med tillatelser. Hvis mappen er min, ser hun den ikke, hvis filen jeg oppretter den, sletter hun den ikke og så videre. I begynnelsen var lappen at vi ga 777 tillatelser til disse filene hver gang vi redigerte noe for den andre å få tilgang til vi fant løsningen, Gruppetillatelser!

Hva er gruppetillatelser?

Det er det beste, tilordne den delte katalogen og alt innholdet til en spesiell gruppe med lese- og skrivetillatelser, som alle medlemmer av gruppen vil ha tilgang til katalogen. Dette tillater da at ved å bare legge brukerne til gruppen, kan vi allerede samhandle i den katalogen.

Og hvordan konfigurerer jeg det?

Dette er den beste delen, og jeg fortsetter å fortelle deg hvordan jeg gjorde det med min kone. Det første er å lage den katalogen, som jeg for eksempel vil kalle «delt".

sudo mkdir /home/compartido

Jeg lager den inne / hjemme og utenfor kontoene våre, for å unngå at de øvre katalogene bry seg med sine egne tillatelser. Nå må vi opprette gruppen, som vi vil sette «delt»

sudo groupadd compartidos

Og vi tilordner denne gruppen til katalogen vi opprettet før, og vi endrer også tillatelsene, slik at alt vi lager inni, enten det er kataloger eller filer, også tilhører denne gruppen.

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

Vi må også legge til brukerne våre. Så må vi gjenta denne kommandoen for hver enkelt:

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

Så langt har vi katalogen «/ hjem / delt»Som tilhører gruppen«delt«, Med det alle medlemsbrukerne av det samme vil ha tilgang til og alt som er opprettet i katalogen, vil tilhøre gruppen med det noen av oss vil kunne se dem.

Nå trenger vi bare ett siste trinn, som kan være valgfritt, men det er å endre brukeroppgaven for å sikre at hver nye fil som vi oppretter, kan endres av de andre medlemmene i gruppen. Dette påvirker hele brukeren, ikke bare katalogen, så de må se om det fungerer for dem eller ikke. I mitt tilfelle, siden bare min kone og jeg bruker systemet, bryr det oss ikke, og vi tilordner oss en umask på 002, noe som betyr at hver fil som opprettes, starter med 775 tillatelser.

Redigering av umask

For å redigere umask, må hver bruker redigere .profile- eller .bashrc-filen som er inne i brukerens hjem og endre verdien på umask med ønsket nummer. Hvis alternativet ikke er der, må vi legge det til.

Du kan også redigere / etc / profilfilen slik at endringen vil påvirke alle brukere

Så i konsollen legger vi:

sebastian@multivacs ~> vim .profile

Og vi får se noe slikt:

vi-profil2

Så vi går til linjen som sier umask, vi trykker på brevet i for å kunne redigere, og vi fjerner # for å fjerne kommentaren. Vi endrer tallet til 002. Hvis linjen ikke vises, må de legge den til.

Når du er ferdig, trykker vi på tasten Esc for å avslutte redigeringsmodus og så skriver vi :+q+w. Hva får oss til å lagre endringene og avslutte Vi.

Det vil se ut som dette bildet:

vi-profil

Og det er det! Hvis de lukker brukersesjonen og åpner den på nytt, vil endringene bli tatt, som den delte katalogen allerede vil fungere med.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   livlig sa

    Flott tips.

  2.   KZKG ^ Gaara sa

    Stor.

    For noen år siden fant jeg meg selv i behovet for å gjøre dette, det jeg ikke visste var umask ... Jeg la i stedet en oppgave i crontab 🙂

    Takk for tipset

    1.    thalskart sa

      Ja, crontab er også bra. Hva la du for å tildele 775 tillatelser til innholdet?

  3.   rawBasic sa

    Flott tips .. .. lagret om nødvendig;) ..

  4.   Luis sa

    Ok, du oppretter mappen / hjem / delt og tilordner gruppen "delt" til den men

    Til hvilken bruker tilhører denne mappen? Det vil si hvem er eieren? Meg, den andre personen eller rotbrukeren hvis konto er deaktivert siden jeg bruker sudo?

    På den annen side finner jeg meg selv med følgende problem: Filene som jeg oppretter kan ikke slettes av den andre personen, og filene som den andre personen lager, kan jeg ikke slette selv.

    Hva gjorde jeg galt?

    1.    thalskart sa

      Når du oppretter mappen med sudo, bør du sitte igjen med root som eier. Du kan også endre det med kommandoen chown for å tilordne en annen bruker.

      På den andre siden, sjekk at filene du oppretter gjør det med 775 tillatelser (som gir umask 002). Hvis de ikke har disse tillatelsene, kan det være feil konfigurasjon.

      På samme måte er det verdt å avklare at umask påvirker alle nye filer som blir opprettet i katalogen, men hvis de flytter eller kopierer innhold fra et annet sted, opprettholdes de opprinnelige tillatelsene og ikke de vi setter til katalogen.

      1.    Luis sa

        Hei! Du har rett.

        Jeg har sett og problemet skyldes det siste du sa: Når du flytter en fil fra et annet sted til den delte mappen, opprettholdes de opprinnelige tillatelsene.

        Er det en løsning på dette?

        Jeg kunne bruke perler.

      2.    thalskart sa

        I så fall vil det beste være å sette en crontab som KZKG ^ Gaara sa, der du kan sette en kommando for å tilordne gruppen og tillatelser til mappeinnholdet hver X gang.
        Det vil si noe som dette i crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        For å få alt nytt, flytt til Delt gruppe med tillatelser 775.

      3.    thalskart sa

        Ignorer * på slutten av hver linje, jeg tenkte på noe annet da jeg la det ut 😛

      4.    Luis sa

        Takk venn.

  5.   ernesto sa

    Veldig bra innlegg, men jeg foretrekker å ha en egen partisjon der jeg kan legge alt jeg vil dele. Jeg har en sjenerøs 500 GB disk, der jeg bruker 100 GB med Linux og en 400 GB partisjon (ntfs) der alt musikk, bilder osv ... På PCen min er vi to brukere, og hver og en har tilgang til partisjonen ntfs og sett og fjern det vi vil, når vi vil. Hvis jeg ikke vil dele noe, har jeg noen ting i brukernavnet mitt. 🙂

    1.    Luis sa

      Allerede er det en annen måte å gjøre det på, men problemet er ikke hvor filene skal plasseres, men å konfigurere tillatelsene og kontrollere tilgangen til de forskjellige brukerne.

      Du kan ha den på en NTFS-partisjon, riktig, men du har også fragmentering, langsommere enn EXT4 og mindre sikkerhet, men hvis det er bra for deg å ha det på den måten, er det like gyldig.

  6.   rainerhg sa

    Greit! Godt tips, men jeg vil fortsatt legge til en oppgave for å endre tillatelsene til 775 av de nye filene ved hver pålogging, og løse problemet med filer som er flyttet fra en annen mappe.
    Også, tusen takk for at du delte!

  7.   Joaquin sa

    Interessant, takk!

  8.   anonimo sa

    Jeg hever noe i forhold til den primære delingsgruppen til noen GNU / Linux-distribusjoner. Noen distroer oppretter brukeren med de primære gruppebrukerne og bruker ikke en primærgruppe som er lik brukerens navn.
    Forskjellen er at ved å bruke de primære gruppebrukerne deles alt som standard med gruppebrukerne som alle brukerne opprettet i den distroen vil tilhøre, hvis de i stedet er opprettet med samme gruppe som brukerens navn, som standard ikke noe vil bli delt.

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

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

    Jeg anbefaler ikke å bruke de primære gruppebrukerne, bedre å opprette din egen primære gruppe når du oppretter brukeren.

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

    -G carlos indikerer å bruke foreldregruppen carlos.
    Du kan endre primærgruppen til en bruker med # usermod -g, men det vil ikke endre primærgruppen til alle filene og mappene som allerede er i / home / carlos, du må endre dem alle.

    Eksempel: endre primærgruppen brukere fra bruker carlos til primær gruppe carlos og deretter endre
    alle fil- og mappetillatelsene til brukeren carlos slik at de forblir av carlos carlos.

    #groupadd carlos
    # usermod -g carlos brukere
    # cd / hjem
    # chown -R carlos: carlos carlos

    Når det gjelder deling, kan du opprette en bruker som heter delt med din delte primære gruppe, og slik at det ikke er tillatelsesproblemer når du kopierer, endrer du først brukeren
    med "$ su - delt" blir det du vil kopiert til / hjem / delt, med dette blir tillatelsene til det som kopieres til den delte brukeren.
    Hvis det allerede er kopifiler som tilhører andre brukere og primære grupper, må du endre dem alle.

    # cd / hjem
    # chown -R delt: delt delt

    Det er bare noe igjen i limbo, som jeg ikke vet hvordan jeg skal gjøre for å kopiere grafisk som den delte brukeren, det vil si uten å måtte gjøre $ su - delt

  9.   anonimo sa

    Det var veldig dumt å kopiere grafisk, hehe, jeg bruker pcmanfm her i openbox, men du kan bruke filbehandleren du har eller vil, den blir bare utført som en delt bruker og ikke som en rotbruker.

    $ su - delt
    $pcmanfm
    $ delfin
    $mc
    etc etc

    1.    thalskart sa

      Jeg var akkurat i ferd med å svare på det. Hvis ikke, er den andre en crontab som skifter eier av filene hver gang med en
      chown -R compartido:compartido compartido

  10.   Hugo sa

    Det ser ut til at kommandoen "usermod -G thenewgroup elusuario" hva den gjør, i utgangspunktet er å endre brukerens gruppe til "thenewgroup". For å legge til en eksisterende bruker i en ny gruppe, tror jeg at den rette tingen å gjøre ville være "usermod -aG elnuevogrupo elusuario"

    En annen ting er at jeg ser her at flere anbefaler å gjøre en "chmod -R 775", men som ikke bare påvirker kataloger, men også alle filer (gjør dem kjørbare), noe som medfører en unødvendig risiko. Bedre å gjøre noe sånt som «finn / hjem / delt -type d -print0 | xargs -0 chmod 755 "og om nødvendig med filene kan du gjøre noe lignende, men å bruke" -type f "og gi tillatelse 664.

    Til slutt er en måte å lage flere kontoer tilgang til en fil eller mappe uavhengig av hvem eieren eller gruppen er ved å bruke kommandoen "setfacl" som er i acl-pakken (hvis jeg ikke husker riktig). Bruken av den er godt forklart på manualsiden.

  11.   Unai martin sa

    Jeg har følgende problem. Jeg har opprettet 4 brukere (web1, web2, web3, web4) og jeg vil opprette en tilgangsgruppemappe til brukerne av webgruppen. Når jeg oppretter .htaccess-filen vet jeg at jeg må sette krever gyldig bruker, men hvis jeg setter krever gyldig bruker web1 web2 web3 web4 slik at de kan få tilgang til mappen med passordet sitt, når jeg prøver å få tilgang til mappen den ber meg om brukeren og passordet til hver enkelt. Hvordan blir jeg bare bedt om brukernavnet og passordet til den som vil skrive inn? fordi det antas at den ene ikke vet passordet til den andre.

  12.   Gustavo F. Paredes sa

    Hei.

    Den fjerde terminalen skal ha "delt" flertall:

    sudo usermod -G delt sebastian

    sudo usermod -G delte min kvinne

    Hilsener.

    Gustavo

  13.   Ivan sa

    Hilsen:

    Vi migrerer fra Windows Server til CentOs 6, og vi er fortsatt i ferd med å tilpasse oss. Spørsmålet mitt: Er det et grafisk grensesnitt i CentOs for å dele mapper og gi tilgang til brukere for å endre, redigere og / eller slette filer?, Eller skal jeg gjøre alle fremgangsmåtene ovenfor.

    Takk for hjelpen.

    1.    Rafael sa

      Jeg installerer også en centos 6 og jeg vil bruke den med samba som lar meg dele filer fra linux og windows, jeg vet litt, jeg bruker ikke linux mye, men på jobben har jeg blitt spurt, hvordan kan jeg gjøre å dele mapper, men i grafisk modus ??.

  14.   Ricardo sa

    Hei. Hjelp meg! ... Det viser seg at ved å gjøre dette i min Linux-bruker, mistet jeg nå privilegiene. Jeg kan ikke kjøre noe sånt som sudo. Jeg får følgende melding "Unnskyld, brukeren" brukernavn "er ikke autorisert til å utføre" command_to_run "som rot i" brukernavn ""

    Jeg tror at da jeg endret brukeren min til den delte gruppen, tok jeg bort privilegiene, og nå hvordan gjenoppretter jeg dem ???

  15.   Bill sa

    Hei venn er det noen måte å gjøre det samme, men å dele filer med andre mennesker på internett-LAN

  16.   Fabian sa

    For dette må du bruke SAMBA som filserver. hilsen

  17.   David sa

    Hei. Da jeg kom til kommandoen sudo chmod g + s dirname, forteller den meg at filen eller katalogen ikke eksisterer. Vet du hva problemet er?

  18.   Javier Quiroga Almeida sa

    Hvordan oppretter jeg en gruppe i en annen gruppe?

  19.   Rodrigo Hernán Ramos sa

    Køen:
    sudo usermod -G delt sebastian

    bør være:
    sudo usermod -a -G delt sebastian

    den første måten fjerner resten av brukerens grupper.
    og hvis du er svett, mister du privilegiene dine