Posts Tagged ‘unix’

HowTo: Cambiar privilegios a archivos y carpetas en linux.

En general linux administra muy bien los privilegios de archivos y carpetas de acuerdo a los usuarios y grupos pero algunas ocasiones es necesario modificarlos. Por ejemplo, si acabamos de hacer o bajar algun script que queremos ejecutar para que realise una tarea determinada, al momento de querer ejecutarlo podemos encontrarnos con el problema de queno tiene permisos de ejecucion; O imaginen que estan migrando desde otro sistema operativo y estan accediendo a informacion que ya tenian, es muy probable que esta información se encuentre en particiones de tipo fat o ntfs y que no tengamos privilegios para crear, eliminar o modificar archivos o carpetas, incluso puede ser que no podamos leerlas.

Cual quiera que sea la razon, podemos recurrir a algunos comandos muy simples:

Cambiar de Propietario:

     

  • sudo chown <usuario> (archivo o carpeta)
  • sudo chown <usuario> -R <carpeta> (carpeta y todo su contenido)
  •  

Cambiar de Grupo:

     

  • sudo chgrp <grupo> <carpeta> (archivo o carpeta)
  • sudo chgrp <grupo> -R <carpeta> (carpeta y todo su contenido)
  •  

Cambiar de Usuario y Grupo:

Sí queremos cambiar el propietario y el grupo usamos el mismo comando pero en vez de poner únicamente el usuario ponemos “usuario:grupo”. Generalmente queremos cambiar el grupo a nuestro propio grupo (normalmente del mismo nombre que nuestro usuario) así que lo mas típico seria:

     

  • sudo chown usuario:grupo <carpeta> (archivo o carpeta)
  • sudo chown usuario:grupo -R <carpeta> (carpeta y todo su contenido)
  •  

Cambiar Privilegios :

     

  • sudo chmod <permisos> <opciones> <archivo o carpeta>
  • sudo chmod +x foo.sh (dar permisos de ejecución)
  •  

Los permisos se pueden expresar en forma numérica o en forma de letras de la siguiente forma:

Privilegios con Números:

     
      (0) no lectura ni escritura ni ejecución (4) solo lectura (6) escritura y lectura (7) escritura, lectura y ejecución.

      664, 777, 764, etc…

    1. El primer dígito da los privilegios para el propietario.
    2. El segundo dígito da los privilegios para el grupo al que pertenece el propietario.
    3. El tercer dígito para los usuarios fuera del grupo del propietario.

     

Ejemplos:

     

  • sudo chmod 664 foo.sh
  • sudo chmod 777 foo.sh
  • sudo chmod 764 foo.sh
  •  

Privilegios con Literales:

     

  • (-w-r-x) no lectura ni escritura ni ejecución.
  • (-w-x+r) solo lectura.
  • (+w+x+r) escritura y lectura.
  • (+w+x+r) escritura, lectura y ejecución.
  • (u) modificador de usuario (g) modificador de grupo (o) modificador para los "otros".
  •  


Ejemplos:

     

  • sudo chmod ugo+rwx (agregar permiso de todo para todos los usuarios)
  • sudo chmod ugo-xw+r (dar permisos de solo lectura para todos los usuarios)
  • sudo chmod g+r (dar permisos de solo lectura para todos los usuarios del grupo del propietario)
  • sudo chmod o+w (dar permisos de escritura para todos los usuarios)
  • chmod +x (dar permisos de ejecución para todos si se es propietario del archivo)
  • chmod +r (dar permisos de lectura para todos si se es propietario del archivo)
  • chmod +w (dar permisos de escritura para el propietario del archivo)
  •