Gustavo Sied > Sin categoría > Propiedades y permisos
Propiedades y permisos
Gustavo
24 junio, 2011
13.14. Propiedades y permisos
|
Al principio de este capítulo ha recibido el siguiente mensaje, cuando intentó cambiarse al directorio login de root:
|
cd /root bash: /root: Permission denied
|
|
Esto es un ejemplo de las características de seguridad de Linux. Linux, como UNIX, es un sistema multiusuario y los permisos para tener acceso a los archivos presentan una solución para proteger la integridad del sistema de cualquier daño.
|
Una manera de tener acceso cuando se le deniega el permiso es ejecutando su a root, como vió anteriormente. Esto es porque quien conoce la contraseña de root tiene acceso completo al sistema.
|
Pero cambiándose al superusuario no siempre es lo más conveniente o recomendado, pues es posible cometer errores y alterar archivos de configuración importantes como superusuario.
|
Todos los archivos y los directorios pertenecen a la persona que los ha creado. Hemos creado el archivo sneakers.txt (vea la Sección 13.9.1) en su directorio login, por ello sneakers.txt le pertenece.
|
Esto quiere decir que podemos especificar quién puede leer o escribir un archivo. Además en el caso de que un archivo sea ejecutable es posible especificar quién tiene el derecho a ejecutarlo.
|
Lectura, escritura, y ejecución son las tres configuraciones principales de permisos. Como cada usuario del sistema está incluído en un grupo, podemos también especificar qué grupos pueden leer, escribir o ejecutar un archivo.
|
Tome como ejemplo el archivo sneakers.txt con el comando ls utilizando la opción -l (consulte la Figura 13-11).
|
Hay mucha información aquí. Con esta opción se visualizan muchos de los detalles. Podemos ver quién puede leer (r) y escribir (w) el archivo, el creador del archivo (sam) y a qué grupo de usuarios pertenece (sam). Recuerde que por defecto, el nombre de su grupo es el mismo que su nombre de login.
|
Figura 13-11. Permisos para sneakers.txt
|
Entre el nombre del grupo y el nombre del archivo hay informaciones relativas al tamaño del archivo, a la fecha y a la hora de creación.
|
La primera columna muestra los permisos actuales; tiene diez espacios. El primer espacio representa el tipo de archivo. Los nueve restantes son, de hecho, tres grupos de permisos de tres categorías de usuarios diferentes.
|
Estos tres grupos se refieren respectivamente al propietario del archivo, al grupo al que pertenece el archivo y «otros», o sea todos los demás usuarios del sistema.
|
- (rw-) (rw-) (r--) 1 sam sam | | | | type owner group others
|
|
El primer elemento, que especifica el tipo de archivo, puede tener uno de los siguientes valores:
|
Después del primer carácter, en cada uno de los tres grupos que siguen es posible especificar uno entre los siguientes valores:
|
Cuando aparece un guión en propietario, grupo u otros, quiere decir que no se ha concedido un permiso en particular. Mire otra vez la primera columna del archivo sneakers.txt e identifique sus permisos.
|
ls -l sneakers.txt -rw-rw-r-- 1 sam sam 150 Mar 19 08:08 sneakers.txt
|
|
El propietario del archivo, (en este caso, sam) tiene los permisos para escribir y leer el archivo. El grupo, sam, tiene los permisos para escribir y leer sneakers.txt. El archivo no es un programa por lo que ni el propietario (owner) ni el group tienen permiso para ejecutarlo.
|
13.14.1. El comando chmod
|
Puede utilizar el comando chmod para cambiar los permisos en sneakers.txt.
|
En el archivo original están presentes los siguientes permisos:
|
-rw-rw-r-- 1 sam sam 150 Mar 19 08:08 sneakers.txt
|
|
Si es el propietario del archivo o está registrado en la cuenta de root, puede cambiar cualquier permiso para el propietario, grupo u otros.
|
Por el momento, el propietario y el grupo pueden leer y escribir el archivo. Cualquiera fuera del grupo, sólo puede leer el archivo (r--).
|
|
Atención |
|
Recuerde que los permisos de los archivos son muy importantes para la seguridad. Cada vez que permite a todo el mundo leer, escribir o ejecutar un archivo, está arriesgando la integridad del sistema. Como regla general, le aconsejamos que sólo otorgue permisos de lectura y escritura a aquellos que realmente los necesiten.
|
|
En el siguiente ejemplo, suponga que quiere conceder a todo el mundo el permiso de escritura en un archivo, de forma que puedan leerlo, escribir en él y grabarlo. Esto quiere decir que tendrá que cambiar la sección «otros» en los permisos de archivos.
|
De un vistazo al archivo primero. En el intérprete de comandos de la shell, escriba:
|
El comando previo visualiza la información de este archivo:
|
-rw-rw-r-- 1 sam sam 150 Mar 19 08:08 sneakers.txt
|
|
El comando o+w le dice al sistema que desea dar a «otros» el permiso para escribir en el archivo sneakers.txt. Para controlar los resultados, puede nuevamente listar los detalles relativos al archivo:
|
-rw-rw-rw- 1 sam sam 150 Mar 19 08:08 sneakers.txt
|
|
Ahora, cualquiera puede leer o escribir el archivo
|
Para quitar los permisos de lectura y escritura del archivo sneakers.txt use el comando chmod.
|
Al escribir go-rw, le está diciendo al sistema que quite los permisos de lectura y escritura para el grupo y para otros del archivo sneakers.txt.
|
El resultado sería similar a:
|
-rw------- 1 sam sam 150 Mar 19 08:08 sneakers.txt
|
|
Piense que estas configuraciones usando chmod, es como un tipo de taquigrafía para cambiar los privilegios de acceso, porque todo lo que debe hacer realmente es recordar unos pocos símbolos y letras para usar con chmod.
|
A continuación tiene una lista de la taquigrafía utilizada y sus correspondencias:
|
u — es el usuario propietario del archivo
|
g — es el grupo al que el usuario pertenece
|
o — otros, el resto del mundo (ni el propietario, ni su grupo)
|
a — todo el mundo (u, g, y o)
|
= — hace que sea el único permiso
|
¿Quiere comprobar sus habilidades de permisos? Suprima todos los permisos de sneakers.txt — para todo el mundo.
|
Ahora vea si puede leer el archivo con el comando cat sneakers.txt, que debería devolver lo siguiente:
|
cat: sneakers.txt: Permission denied
|
|
¡Funciona! al remover todos los permisos, incluyendo los suyos, ha bloqueado el archivo. No obstante, como el archivo le pertenece, siempre puede cambiar sus permisos con el comando siguiente:
|
Use el comando cat sneakers.txt para verificar que usted como propietario del archivo, lo puede leer otra vez.
|
He aquí algunos ejemplos comunes de configuración que se pueden realizar con chmod:
|
Añadiendo la opción -R puede cambiar los permisos para el árbol entero del directorio donde se encuentra.
|
De todas formas puesto que no podemos «ejecutar» un directorio como si fuera una aplicación; cuando añada o elimine los permisos de ejecución para un directorio, estará concediendo (o denegando) los permisos de búsqueda en el interior de este directorio
|
Si no le permite a otros tener permiso de ejecución sobre tigger, no importa quién tenga permiso de lectura o escritura. Nadie podrá accesar el directorio a menos que conozca exactamente el nombre del archivo.
|
para quitarle a todos los permisos de ejecución.
Esto es lo que ocurre cuando intenta de ejecutar cd en tigger:
|
bash: tigger: Permission denied
|
|
Luego, restaure su propio acceso y el del grupo:
|
Ahora, si verifica su trabajo usando ls -l verá que solamente otros tendrán el acceso denegado para el directorio tigger.
|
13.14.2. Cambiar los permisos usando números
|
¿Se acuerda de cuando hablábamos del modo abreviado (taquigráfico) para utilizar chmod? Aquí tiene otra manera de cambiar los permisos; que quizás en principio podrá parecerle algo más compleja.
|
Vuelva a los permisos originales de sneakers.txt:
|
-rw-rw-r-- 1 sam sam 150 Mar 19 08:08 sneakers.txt
|
|
Cada configuración del permiso puede estar representada por un valor numérico:
|
Si se suman estos valores, el resultado se utiliza para especificar los permisos. Por ejemplo, si quiere leer y escribir permisos, tendrá un valor de 6; 4 (leer)+ 2 (escribir)= 6.
|
Para el archivo sneakers.txt, aquí tiene un ejemplo de los permisos codificados en números:
|
- (rw-) (rw-) (r--) | | | 4+2+0 4+2+0 4+0+0
|
|
El total para los usuarios es seis, el total para los grupos es seis y el total para para los demás es cuatro. El código de permisos será 664.
|
Si quiere cambiar el archivo sneakers.txt para que aquellos en su grupo no tengan acceso a escritura, pero si lo puedan leer, quite el acceso eliminando dos (2) de ese grupo de números.
|
Los valores numéricos serán seis, cuatro y cuatro (644).
|
Para llevar a cabo los nuevos valores, escriba:
|
Para controlar los cambios, teclee:
|
El resultado debería ser:
|
-rw-r--r-- 1 sam sam 150 Mar 19 08:08 sneakers.txt
|
|
Ningún usuario, a parte del propietario, puede escribir el archivo (ni el grupo ni otros) sneakers.txt. Para reestablecer los derechos de escritura del grupo en el archivo, puede añadir el valor de w (2) al segundo grupo de permisos.
|
|
Aviso |
|
Los permisos a 666 (cualquiera puede leer o escribir) o 777 (cualquiera puede leer, escribir y ejecutar) dan la posibilidad a todos de leer o escribir un archivo o un directorio. Estos permisos pueden dañar los archivos, por ello utilizarlos no es buena elección.
|
|
Aquí tiene una lista de algunos valores numéricos y de los significados relativos:
|
Aquí tiene un conjunto de valores para los directorios:
|
Posted in: