Tip: Tenir un directori compartit entre diversos usuaris en Linux

Terminal

Avui torno amb un altre tip el qual, en el personal, ús bastant: poder tenir un directori compartit entre diversos usuaris en un Linux. Els poso en situació, amb la meva dona a casa fem servir els dos la mateixa PC amb Arch Linux però cada un amb el seu propi usuari. Llavors, vam notar el problema amb aquelles carpetes que compartim com la música o les fotos, atès que cada un tenia el seu propis arxius, duplicant coses.

Va ser llavors que pensem fer una carpeta compartida, però aquest és el problema dels permisos. Si la carpeta és meva ella no la veu, si el fitxer ho crec jo, ella no ho esborra i així. A l'inici, el pegat era que li donàvem permisos 777 a aquests arxius cada vegada que editàvem alguna cosa perquè l'altre accedís fins que trobem la solució, ¡Els permisos de el grup!

Què són els permisos de el grup?

Això és el millor, assignar a aquest directori compartit ia tot el seu contingut un grup especial amb permisos d'escriptura i lectura, Amb el qual tots els membres de el grup tindran accés a aquest directori. Això permet llavors, que amb només afegir els nostres usuaris a aquest grup ja podem interactuar en aquest directori.

I com ho configurar?

Aquesta és la millor part i procedeixo a comentar com ho vaig fer jo amb la meva dona. El primer és crear aquest directori, que per l'exemple anomenaré «compartit".

sudo mkdir /home/compartido

Ho crec dins de / home i fora de les nostres comptes, per evitar que els directoris superiors molestin amb els seus propis permisos. Ara haurem de crear el grup, a el qual li posarem «compartits»

sudo groupadd compartidos

I li assignem aquest grup a directori que vam crear abans i també li vam canviar els permisos, perquè tot el que creiem dins, ja siguin directoris o arxius també pertanyin a aquest grup.

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

A més, hem d'afegir els nostres usuaris a aquest. Llavors haurem de repetir aquesta comanda per cada un:

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

Fins ara, tenim el directori «/ Home / compartit»El qual pertany a el grup«compartits«, De manera que tots els usuaris membres de la mateixa podran accedir i tot el que es creu en el directori, pertanyerà a el grup amb el que qualsevol de nosaltres pot veure'ls.

Ara només falta un últim pas, que pot ser opcional, però és canviar la umask dels usuaris, per assegurar-nos que cada nou arxiu que creiem, sigui modificable pels altres membres de el grup. Això afecta tot l'usuari, no només a directori, així que tenen a veure si els serveix o no. En el meu cas, com sol la meva dona i jo fem servir el sistema, no ens molesta i ens assignem un umask de 002, el que significa que tot arxiu creat comença amb permisos 775.

Editant el umask

Per editar el umask, a cada usuari cal editar l'arxiu .profile o .bashrc que està dins de l'home de l'usuari i modificar el valor de umask pel nombre desitjat. Si no hi ha l'opció hem de afegir.

També es pot editar el fitxer / etc / profile de manera que el canvi afectarà tots els usuaris

Llavors, a la consola posem:

sebastian@multivacs ~> vim .profile

I veurem una cosa així:

vaig veure-profile2

Llavors, anem fins al línia que diu umask, premem la lletra i per poder editar i eliminem el # per treure el comentari. Li canviem el nombre a 002. Si la línia no apareix, hauran afegir.

Un cop acabat, premem la tecla Esc per sortir de la manera edició i llavors escrivim :+q+w. El que fa que guardem els canvis i sortim de l'Vi.

Les quedarà com en aquesta imatge:

vaig veure-profile

I llest !, si tanquen la sessió d'usuari i la tornen a obrir es prendran els canvis, de manera que ja estarà funcionant el directori compartit.


28 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   ILAV va dir

    Genial el tip.

  2.   KZKG ^ Gaara va dir

    Genial.

    Ja fa alguns anys em vaig veure en la necessitat de fer això mateix, el que no sabia era el de l'umask ... jo en comptes d'això vaig posar una tasca en el crontab 🙂

    Gràcies pel tip

    1.    thalskarth va dir

      Sí, la de l'crontab també és bona. Què li vas posar, que assignés permisos 775 a el contingut?

  3.   rawBasic va dir

    Genial tip .. ..guardado en cas de ser necessari;) ..

  4.   Luis va dir

    Val, crees la carpeta / home / compartit i li assignes el grup «compartit» a la mateixa però

    A quina usuari pertany aquesta carpeta? O sigui Qui és el propietari? Jo, l'altra persona o l'usuari root la compte està desactivada ja que ús suo?

    D'altra banda em trobo amb el següent problema: Els arxius que jo crec NO poden ser esborrats per l'altra persona i els arxius que crea l'altra persona NO els puc esborrar jo.

    Què vaig fer malament?

    1.    thalskarth va dir

      A l'crear la carpeta amb suo, hauria de quedar amb l'usuari root com owner. Igual això ho pots modificar amb la comanda chown per assignar un altre usuari.

      Sobre l'altre, revisa que els arxius que creguis ho facin amb permisos 775 (el que dóna el umask 002). Si no tenen aquests permisos, possiblement hi hagi alguna configuració errònia.

      Igualment, val aclarir que el umask afecta tot arxiu nou que es creu dins d'directori, però si mouen o copien contingut d'altra banda, es mantenen els permisos originals i no els que seteamos a directori.

      1.    Luis va dir

        Ei! Tens raó.

        He estat mirant i el problema el causa això últim que comentes: A l'moure un fitxer des d'una altra ubicació a la carpeta compartida, es mantenen els permisos originals.

        Hi ha solució a això?

        Em vindria de perles.

      2.    thalskarth va dir

        En aquest cas, el millor seria posar un crontab com va dir KZKG ^ Gaara, en el qual podries col·locar una ordre perquè els assigni el grup i permisos a el contingut de la carpeta cada X temps.
        És a dir alguna cosa com això en el crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        Per tal que tot el nou, passi a el grup compartits amb permisos 775.

      3.    thalskarth va dir

        Ignorin el * a al final de cada línia, estava pensant en una altra cosa a l'posar-lo 😛

      4.    Luis va dir

        Gràcies amic.

  5.   ernesto va dir

    Molt bon post, però jo prefereixo tenir una partició a part, en la qual puc posar tot el que vull compartir. Tinc un disc generós de 500 GB, en el qual 100 GB el faig servir per Linux i una partició de 400GB (ntfs) en la qual aquesta tota la música, fotos, etc ... En el meu pc som dos usuaris i cada un podem accedir a la partició ntfs i posar i treure el que vulguem, quan vulguem. Si no vull compartir res, tinc algunes coses en el meu usuari. 🙂

    1.    Luis va dir

      Ja, és una altra forma de fer-ho però el problema no és on col·locar els arxius sinó configurar els permisos i controlar l'accés dels diferents usuaris.

      Pots tenir-lo en una partició NTFS, correcte però també tens fragmentació, més lent que EXT4 i menor seguretat encara que si et ve bé tenir-lo d'aquesta forma és igualment vàlid.

  6.   Rainerhg va dir

    Ok! Bon tip, però jo igual afegiria una tasca perquè canviï els permisos a 775 dels arxius nous en cada inic de sessió, i solucionaria el problema dels arxius moguts des d'una altra carpeta.
    Igualment, moltes gràcies per compartir!

  7.   Joaquin va dir

    Interessant, gràcies!

  8.   anonimo va dir

    Plantejo una mica relatiu a el grup de compartició primari d'algunes distribucions gnu / linux. Algunes distros creen l'usuari amb el grup primari users i no usant un grup primari igual a el nom de l'usuari.
    La diferència és que usant el grup primari users, per defecte es aquesta compartint tot amb el grup users a el qual pertanyeran tots els usuaris creats en aquesta distro, si en canvi es creen amb el mateix grup que el de el nom de l'usuari, per defecte no es compartirà res.

    Exemple:
    $ Ls -l /home/usuario/*.txt
    -RW-r-r- 1 carlos carlos 126 mar 25 2012 notas.txt

    $ Ls -l /home/usuario/*.txt
    -RW-r-r- 1 carlos users 126 mar 25 2012 notas.txt

    No recomano fer servir el grup primari users, millor crear el grup primari propi a l'hora de crear l'usuari.

    # Groupadd carlos
    # Useradd -g-los -G lp, wheel, uucp, àudio, CD-ROM, CDRW, usb, lpadmin, plugdev -m -s / bin / bash carlos

    El -g carlos indica que s'usi el grup primari carlos.
    Es pot canviar el grup primari d 'un usuari amb # usermod -g però això no canviarà el grup primari de tots els fitxers i carpetes que ja estan a / home / carles, caldrà canviar-los a tots.

    Exemple: canvia el grup primari users de l'usuari carlos a el grup primari carlos i després canvia
    tots els permisos d'arxius i carpetes de l'usuari carlos perquè quedin de carlos carlos.

    # Groupadd carlos
    # Usermod -g-los users
    # Cd / home
    # Chown -R carlos: carlos carlos

    Pel que fa a compartir, es pot crear un usuari anomenat compartit amb el seu grup primari compartit, i perquè no hi hagi problemes de permisos a l'copiar, primer es canvia d'usuari
    amb «$ seu - compartit» després es copia el que es vulgui a / home / compartit, amb això ja els permisos del que es copiï passaran a ser de l'usuari compartit.
    Si ja hi ha arxius còpies pertanyents a altres usuaris i grups primaris, cal canviar-los a tots.

    # Cd / home
    # Chown -R compartit: compartit compartit

    Només queda una mica als llimbs, que no es com fer a copiar de forma gràfica com l'usuari compartit o sigui sense haver de fer $ seu - compartit

  9.   anonimo va dir

    Era una cosa molt ximple copiar de forma gràfica, jeje, ús gestor de fitxers pcman aquí a OPENBOX, però es pot fer servir el gestor de fitxers que tinguin o vulguin, total és només executat com a usuari compartit i no com a usuari root.

    $ Seu - compartit
    $ gestor de fitxers pcman
    $ delphin
    $ mc
    etc., etc

    1.    thalskarth va dir

      Just que estava per respondre això. Sinó l'altra és un crontab que li canviï el owner als arxius cada x temps amb un
      chown -R compartido:compartido compartido

  10.   Hugo va dir

    Em sembla que la comanda «usermod -G elnuevogrupo elusuario» el que fa és bàsicament canviar el grup de l'usuari a «elnuevogrupo». Per afegir un usuari existent a un nou grup, crec que el correcte seria «usermod -aG elnuevogrupo elusuario»

    Una altra cosa és que veig aquí que diverses persones recomanen fer un «chmod -R 775» però això no només afecta els directoris, sinó també tots els arxius (tornant-executables), la qual cosa introdueix un risc innecessari. Millor fer alguna cosa com «find / home / compartit -type d -print0 | xargs -0 chmod 755 »i si cal amb els arxius es pot fer una cosa semblant però utilitzant« -type f »i concedint 664.

    Finalment, una manera de fer que diversos comptes tinguin accés a un arxiu o carpeta independentment de qui sigui el propietari o el grup és fent servir la comanda «setfacl» que està en el paquet acl (si no recordo malament). A la pàgina de manual va bé explicat el seu ús.

  11.   Unai Martin va dir

    Jo tinc el següent problema. He creat 4 usuaris (web1, web2, web3, Web4) i vull crear una carpeta grup d'accés als usuaris de el grup web. Quan crec l'arxiu .htaccess sé que he de posar requereix valid-user, però, si poso requereix valid-user web1 web2 web3 Web4 perquè aquests puguin accedir a la carpeta amb la seva clau, quan intento accedir a la carpeta em demana l'usuari i clau de cada un Com faig perquè només em demani l'usuari i clau d'què vulgui entrar? perquè se suposa que un no coneix la contrasenya de l'altre.

  12.   Gustavo F. Parets va dir

    Hola.

    La 4ta terminal hauria de tenir en plural el «compartit»:

    suo usermod -G compartits sebastian

    suo usermod -G compartits mimujer

    Salutacions.

    Gustavo

  13.   Iván va dir

    Salutacions:

    Estem migrant de l'Windows Server a CentOS 6 i encara estem en procés d'adaptació. La meva consulta: Existeix una interfície gràfica en CentOS per compartir carpetes i donar accés als usuaris perquè modifiquin, editen i / o eliminin arxius ?, o he de fer tot el procediment dalt indicat.

    Gràcies per l'ajuda.

    1.    Rafael va dir

      Jo també estic instal·lant un centos 6 i vull fer-lo servir amb samba que em permet compartir arxius de linux i windows, ja em fa una mica, jo no faig servir molt linux, però a la feina que estic m'han demanat, com puc fer per compartir carpetes però de cap manera gràfic ??.

  14.   Ricardo va dir

    Hola. Si us plau ajudeu-! ... Resulta que per estar fent això en el meu usuari a linux mind, ara vaig perdre privilegis. No puc executar res com suo. em surt el següent missatge «Disculpi, l'usuari« nom_usuari »no està autoritzat per a executar« comando_a_ejecutar »com a root en« nom_usuari »»

    Crec que a l'canviar el meu usuari a el grup compartits, li vaig treure privilegis, i ara com faig per els restableixin ???

  15.   Guillermo va dir

    Hey amic hi ha uns quants forma de fer el mateix però compartint arxius amb una altra persones a Internet LAN

  16.   Fabian va dir

    Per això deure utilitzar SAMBA com File Server. Salutacions

  17.   David va dir

    Hola. Quan vaig arribar a l'ordre sudo chmod g + s dirname m'indica que no existeix el fitxer o directori. Saben quin és el problema?

  18.   Javier Quiroga Almeida va dir

    Com puc crear un grup en un altre grup?

  19.   Rodrigo Hernan Ramos va dir

    La línia:
    suo usermod -G compartit sebastian

    hauria de ser:
    suo usermod -a -G compartit sebastian

    de la primera forma lleva la resta dels grups de l'usuari.
    i si sos suo perdes els privilegis