45 votos

Cómo hacer el archivo de permisos de trabajo?

Puede explicar brevemente los principales conceptos y herramientas de línea de comandos para administrar los permisos del archivo?

41voto

Mike L Puntos 239

Advertencia: Cambiar permisos de archivos y directorios es potencialmente peligroso y puede hacer que su sistema unusuable. Cuando se ejecuta de forma recursiva como root en el camino equivocado podemos llegar a un punto desde donde vamos a tener que volver a instalar Ubuntu. Por lo tanto, es una buena idea para no cambiar los permisos fuera de los directorios HOME, y ejecutar comandos de forma recursiva como la root debe ser evitado siempre que sea posible.

Permisos de archivo

Ubuntu ha heredado el concepto de permisos de Unix cuando los archivos o directorios que hay tres tareas que nos pueden permitir o denegar:

  • r (leer) archivo/directorio puede ser abierto para acceso de lectura.
  • w (escribir) el archivo/directorio se puede abrir para escribir/editar.
  • x (execute)archivo/archivos en el directorio puede ser ejecutada como un programa.

Además, tenemos tres casos a los cuales se concederá un permiso de:

  • u (usuario) el propietario de un archivo se concede a cualquiera de los permisos.
  • g (grupo) grupo pertenece el archivo se concede un permiso.
  • o (otros) todos los demás se le concede un permiso.

Ahora para obtener la combinación de estos ordenados utilizamos un sistema binario donde cada bit se define un permiso. Esta puede ser la mejor muestra en la siguiente Tabla

    Permission | Binary | Octal  | User  | Group | Other |
    ======================================================
      r        |  100   |   4    |       |       |       |
      w        |  010   |   2    |       |       |       |
      x        |  001   |   1    |       |       |       |
    =======================================================
    Number

Ahora bien, si queremos por ejemplo

a) el propietario de un archivo (= usuario) tiene read, writo, y execute el permiso,
b) el grupo del archivo concedido read y execute permisos, y
c) todos los demás sólo debe tener read acceso.

A continuación, el archivo resultante permiso será:

 u   g   o
rwx r-x r--

Para conseguir esto en el octal los números, por ejemplo. para el chmod comando o cuando tenemos que entender un mensaje de error que nos necesita para llenar la tabla de arriba como la de abajo:

    Permission | Binary | Octal  | User  | Group | Other |
    ======================================================
      r        |  100   |   4    |   4   |   4   |   4   |
      w        |  010   |   2    |   2   |   0   |   0   |
      x        |  001   |   1    |   1   |   1   |   0   |
    ======================================================
    Numbers add to                   7       5       4     

Cada permiso número debe ser añadido a la suma de hasta por un usuario (4+2+1=7), grupo (4+0+1=5), y otros (4+0+0=4). El número resultante es:

 u   g   o
 7   5   4

Ahora tenemos dos opciones para cambiar los bits de permiso de con chmod:

chmod u+rwx g+rx o+r filename

o mucho más simple con

chmod 751 filename

Ambos comandos tienen el mismo efecto.

El permiso predeterminado de un archivo recién creado en nuestra casa será 664 (-rw-rw-r--).

Si queremos que los archivos para que sean ejecutables como de los programas que vamos a tener que cambiar este permiso.

  • Tenga en cuenta que nosotros también tenemos que cambiar los permisos del directorio de este ejecutable puede ser en. Sólo si ambos, el archivo y el directorio del ejecutable bit se establece que permitirá ejecutar este archivo como un programa.

  • Cuando se copia un archivo a nuestra casa va a perder es de permisos, que será sustituido por nuestros propios permisos por defecto (a menos que copie con opciones avanzadas como por ejemplo, un archivo de opción).

  • También tenga en cuenta que el archivo puede heredar su permiso de su punto de montaje, resp. opciones de montaje. Esto es importante cuando montaje con formato de Windows unidades que no son compatibles con los permisos de Unix.

Usuarios y Grupos

Pronto nos damos cuenta de que esto era sólo la mitad de la historia. También necesitamos ordenar sus pertenencias. Para ello cada archivo o carpeta tiene definido un propietario y un grupo definido de pertenencia.

Cada vez que creamos un archivo que vamos a ser el propietario de un archivo, y el archivo del grupo también estará con nosotros. Con ls -l podemos ver los permisos, propietario y grupo, como se ve en el siguiente ejemplo de salida:

-rw-rw-r--  1 takkat takkat    4096 Sep 12 20:25 test
  • Sólo se nos permite cambiar los permisos, grupos o la propiedad de un archivo que es la nuestra.

Si no somos el propietario del archivo que vamos a obtener un Permission denied de error. Solo root puede cambiar esto para todos los archivos. Esta es la razón por la que tenemos que utilizar sudo al editar los permisos de los archivos que no son nuestros. Hay dos comandos integrados para hacerlo chown para los usuarios y chgrp para grupos.

Para cambiar un fichero titularidad de alguien a takkat podemos emitir este comando:

sudo chown takkat testfile

Para cambiar un archivo de grupo de a takkat hacemos

sudo chgrp takkat testfile

Leer las páginas de manual de los comandos para obtener más detalles y opciones. Allí también se encuentra este simpático más elaborada guía recomendado para leer más:

También encontrará algunas de las preguntas relacionadas con aquí:

27voto

Tom Puntos 5872

Cada archivo tiene los derechos para tres diferentes categorías:

  • el propietario del archivo,
  • el grupo asociado con el archivo, y
  • a todos los demás.

Derechos, el derecho a leer el archivo, el derecho a escribir en el archivo, o el derecho a ejecutar el archivo, y en el caso de un script o programa.

En la CLI, puede

  • cambiar el propietario con chown, por ejemplo chown guillermooo
  • cambiar el grupo con chgrp, por ejemplo chgrp root
  • cambio de los derechos de los con chmod, por ejemplo chmod u+w filename.ext (Añade la escritura de permisos para el propietario del archivo filename.ext)

Si quieres saber más acerca de cada una de estas herramientas, abra una terminal y escriba man [tool], por ejemplo man chmod.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: