Los permisos tienen la función de darnos distintas posibilidades como: Lectura, Escritura o Ejecución.
Cuando obtienes información sobre un fichero/directorio con el comando ls -la, existen diferentes campos que te dicen que clase de permisos el fichero/directorio tiene.
er@localhost]# ls -la
-rwxr-x--- 1 pepito depart1 4348 Nov 24 16:19 test
En la primera columna se pueden ver una serie de letras y guiones -rwxr-x---,
estas letras nos dicen quien en el sistema, y que clases de permisos tiene el fichero test.
Estas letras están agrupadas en tres grupos con tres posiciones cada uno, más una primera posición que nos dice de que clase de archivo se trata (los mas normales (d) directorios, o (-) archivos de datos). En nuestro ejemplo la primera posición es (-) con lo cual el archivo test, es un archivo de datos (binario/ejecutable en este ejemplo).
El primer grupo de tres (rwx en nuestro caso) nos dice que clase de permisos tiene el dueño del fichero (u)(user/owner)
El segundo grupo de tres (r-x en nuestro caso) nos dice que clase de permisos tiene el grupo del fichero (g)(group).
Y el último grupo de tres (--- en nuestro caso) nos dice que clase de permisos tienen todos los demás usuarios del sistema sobre este
fichero (o)(others).
Para referirnos a todos se pone 'a'.
r :significa permiso para leer
w :significa permiso para escribir
x :significa permiso para ejecutar
¿Como cambiar los permisos/dueño/grupo de un fichero/directorio?
Para cambiar el dueño del fichero se utiliza el comando : chown usuario fichero
Para cambiar el grupo del fichero se utiliza el comando: chgrp grupo fichero
Para cambiar los permisos se utiliza el comando: chmod permisos fichero
EJERCICIO: Vamos a crear 5 ficheros dentro de una carpeta (la que queramos: he creado una carpeta en el escritorio: mkdir usergroups):
mkdir ejemplo1
mkdir ejemplo2
mkdir ejemplo3
mkdir ejemplo4
mkdir ejemplo5
______________________________
un directorio y 2 ficheros (p1 bit sticky bit, sólo lectura todos) (p2 usuarios y grupos, lectura y escritura)
chmod a=rt p1.ori
ó
chmod 444 directorio1/p1.ori
chmod a+t directorio1/p1.ori
chmod 660 directorio1/p2.ori
ó
chmod ug=rw directorio1/p2.ori
______________________________
fichero propietario root, permisos sólo de ejecución para root.
chown root:root ejemplo2
chmod 100 ejemplo2
ó
chmod u=x ejemplo2
______________________________
directorio propietario, usuario local (p3 suplantación id, todos permisos) (p4 cambiar propietario a root)
cd ejemplo3
touch p3.ori
chmod 777 p3.ori
chmod a+s p3.ori
ó
chmod a+rwxs p3.ori
touch p4.ori
chown root p4.ori
______________________________
directorio (p5 go, lectura y ejecución) (p6 cambio propietario a usuario local, sticky bit) (p7 permiso lectura, escritura, ejecución para otros)
touch p5.ori
chmod 055 p5.ori
ó
chmod go=rx p5.ori
touch p6.ori
chown root:root p6.ori
chmod a+t p6.ori
touch p7.ori
chmod 007 p7.ori
ó
chmod o=rwx p7.ori
______________________________
lectura, ejecución y escritura sólo para usuario, lectura y ejecución para grupo y para otros sólo lectura.
chmod 754 p7.ori
ó
chmod ugo+r p7.ori
chmod ug+x p7.ori
chmod u+w p7.ori
ó
chmod 777 p7.ori
chmod g-w p7.ori
chmod o-wx p7.ori
Ejemplos:
- chmod +t /home # agrega permisos de sticky bit al directorio home
- chmod g+s /home/grupo # agrega el setgid al grupo
- chmod gu+s /home /grupo # agrega el setuid y el setgid al usuario y al grupo respectivamente
- chmod ugo+rwx test (da permisos rwx a todos, user,group,others)
- chmod ugo-x test (quita permiso x (ejecucion) a todos, user,group,others)
- chmod o-rwx test (quita permisos rwx a others)
- chmod u=rwx,g=rx test (da permisos rwx a user, rx a group y ninguno a others)
No hay comentarios:
Publicar un comentario