5. Empirical Results
5.4 Additional Analyses
5.4.3 Asset Securitization
1. chgrp
El grupo predeterminado atribuido a los nuevos archivos es el grupo principal del usuario que lo ha creado, a menos que esté habilitado el permiso SGID en el directorio de bienvenida.
El comando chgrp (change group) permite cambiar este grupo; el usuario puede ceder el archivo a cualquier grupo al que pertenezca. La sintaxis del comando es:
chgrp [-R] <grupo> <archivo ...>
La opción principal -R indica al comando que aplique el cambio de forma recursiva (es decir, a todos los archivos y subdirectorios del directorio pasado como argumento).
A diferencia del administrador, el usuario normal sólo puede cambiar los archivos de los que es propietario.
Por ejemplo:
[alejandro]$ id
uid=506(alejandro) gid=502(venta) grupos=502(venta),503(conta) [alejandro]$ touch archivo
[alejandro]$ ls -l archivo
-rw-r--r-- 1 alejandro venta 0 jun 3 03:58 archivo [alejandro]$ chgrp conta archivo
[alejandro]$ ls -l archivo
-rw-r--r-- 1 alejandro conta 0 jun 3 03:58 archivo
El comando similar chown (change owner) también permite cambiar el propietario de un archivo, pero sólo el administrador cuenta con los permisos necesarios.
2. chmod
El comando chmod permite cambiar los permisos (o "modo") de los archivos. Sólo el propietario del archivo y el administrador del sistema (root) pueden utilizarlo.
La sintaxis general del comando es la siguiente:
chmod [-R] <permisos> <archivo ...>
Como en el comando chgrp, la opción -R indica al comando la aplicación del cambio de forma recursiva.
Hay dos maneras de indicar los permisos de acceso a un archivo en Unix: en notación simbólica y en notación octal.
Notación simbólica
La notación simbólica se basa en los caracteres r (lectura) w (escritura) x (ejecución) para indicar los permisos y u (usuario) g (grupo) o (otros) para simbolizar las entidades afectadas.
En la notación simbólica, el carácter a equivale a ugo y representa las tres entidades. Un + en esta sintaxis indica que hay que activar el permiso, un - indica que este permiso debe quitarse y un = permite definir los tres permisos en una sola etapa para la entidad especificada.
La sintaxis general se parece ahora a:
<entidad(es)>[+-=]<permiso(s)>
Tenemos, por ejemplo:
u+x Agrega (+) el permiso de ejecución (x) para el propietario (u). g-w Suprime (-) el permiso de modificación (w) para el grupo (g).
o-rw Suprime (-) los permisos de lectura (r) y de modificación (w) para los
demás (o).
ug-x Suprime (-) el permiso de ejecución (x) para el propietario (u) y el grupo
(g).
a+r Agrega (+) el permiso de lectura (r) para todas las entidades (a). u=rw Fija (=) los permisos de lectura (r) y de modificación (w) y suprime el
permiso de ejecución (x) para el propietario (u).
Agregar un permiso ya activo -o quitar uno no activo- no provoca ningún error: es una operación nula.
Los demás permisos se activan con la letra s y la entidad u para el SUID, la letra s y la entidad g para el SGID, y la letra t y la entidad o para el bit Sticky; es decir:
u+s: añade (+) el bit SUID (s y u).
g+s: añade (+) el bit SGID (s y g).
o+t: añade (+) el bit SUID (t y o).
Ejemplos del comando chmod con notación simbólica: [alejandro]$ ls -l archivo
-rw-r--r-- 1 alejandro conta 0 jun 3 03:58 archivo [alejandro]$ chmod u+x archivo
[alejandro]$ ls -l archivo
-rwxr--r-- 1 alejandro conta 0 jun 3 03:58 archivo [alejandro]$ chmod go+w archivo
[alejandro]$ ls -l archivo
-rwxrw-rw- 1 alejandro conta 0 jun 3 03:58 archivo [alejandro]$ chmod a-r archivo
[alejandro]$ ls -l archivo
--wx-w--w- 1 alejandro conta 0 jun 3 03:58 archivo [alejandro]$ chmod o=rx archivo
[alejandro]$ ls -l archivo
--wx-w-r-x 1 alejandro conta 0 jun 3 03:58 archivo Notación octal
Esta segunda notación es la codificación en 3 bits de los permisos de cada entidad. Poniendo el bit a 1 cuando el permiso correspondiente está activo, y a 0 cuando no lo está, da por ejemplo 101 para los permisos r-x.
Un número de 3 bits puede codificarse en una sola cifra de base octal; la tabla de conversión siguiente permite relacionar las notaciones:
Repitiendo esto para las tres entidades, los permisos rwxr-xr-- pueden traducirse en notación octal por 754.
Para los permisos SUID, SGID y Sticky, se agrega a este número de base octal una cifra suplementaria a la izquierda, según la relación:
Permisos (simbólico) Notación binaria Notación octal
--- 000 0 --x 001 1 -w- 010 2 -wx 011 3 r-- 100 4 r-x 101 5 rw- 110 6 rwx 111 7
Permisos (simbólico) Notación binaria Notación octal
Esto da, por
ejemplo, 2754 para
rwxr-sr--.
Otra forma rápida de convertir los
permisos de Unix a notación octal consiste en sumar los valores 4, 2 y 1 para cada conjunto de tres permisos cuando están activos:
Ejemplos del comando chmod con la notación octal: [alejandro]$ ls -l archivo
--wx-w-r-x 1 alejandro conta 0 jun 3 03:58 archivo [alejandro]$ chmod 644 archivo
[alejandro]$ ls -l archivo
-rw-r--r-- 1 alejandro conta 0 jun 3 03:58 archivo [alejandro]$ chmod 0744 archivo
[alejandro]$ ls -l archivo
-rwxr--r-- 1 alejandro conta 0 jun 3 03:58 archivo [alejandro]$ chmod 766 archivo
[alejandro]$ ls -l archivo
-rwxrw-rw- 1 alejandro conta 0 jun 3 03:58 archivo
[alejandro]$ chmod 0322 archivo [alejandro]$ ls -l archivo
--wx-w--w- 1 alejandro conta 0 jun 3 03:58 archivo [alejandro]$ chmod 4755 archivo
[alejandro]$ ls -l archivo
-rwsr-xr-x 1 alejandro conta 0 jun 3 03:58 archivo
Las cifras que faltan de la notación octal (en 4 cifras) se reemplazan automáticamente por ceros a la izquierda; así, 755 equivale a 0755.
3. umask
Los permisos de acceso predeterminados de los nuevos archivos se definen por el valor de una máscara que se aplica al conjunto de los permisos estándar.
El valor habitual de esta máscara para los usuarios normales es 002; ello significa que se sustrae bit a bit los permisos de la máscara ---w- (en notación simbólica) al conjunto de permisos fundamentales rwxrwxrwx (o 777 en octal).
En el caso de archivos normales, los permisos de ejecución x nunca se activan de modo predeterminado y, por lo tanto, también se sustraen:
--t 001 1 -s- 010 2 -st 011 3 s-- 100 4 s-t 101 5 ss- 110 6 sst 111 7 Archivo Directorio conjunto de permisos rwxrwxrwx rwxrwxrwx
La máscar a del admini strador generalmente es 022; root otorga por tanto menos confianza a su grupo que un usuario normal.
El valor de la máscara se muestra mediante el comando umask: [linus]$ umask
0002
[linus]$ umask -S u=rwx,g=rwx,o=rx
[linus]$ touch archivo1 [linus]$ mkdir dir1 [linus]$ ls -l total 4
-rw-rw-r-- 1 linus curso 0 jun 3 04:55 archivo1 drwxrwxr-x 2 linus curso 4096 jun 3 04:55 dir1/ [linus]$ umask 0022
[linus]$ touch archivo2 [linus]$ mkdir dir2 [linus]$ ls -l
total 8
-rw-rw-r-- 1 linus curso 0 jun 3 04:55 archivo1 -rw-r--r-- 1 linus curso 0 jun 3 04:55 archivo2 drwxrwxr-x 2 linus curso 4096 jun 3 04:55 dir1/ drwxr-xr-x 2 linus curso 4096 jun 3 04:55 dir2/ [linus]$ umask 1234
-bash: umask: 1234: octal number out of range [linus]$ umask 6
[linus]$ umask 0006
Por evidentes razones de seguridad, no es posible activar de modo predeterminado los permisos de acceso extendidos (SUID, SGID y sticky bit) al crear archivos.
Este comando está inscrito en el archivo /etc/profile o /etc/bashrc para que se ejecute con cada nuevo shell. El usuario puede sobrecargar el valor definido por el
administrador en su propio archivo de configuración $HOME/.bash_profile.
4. Administradores de archivos
Todo administrador de archivos en Linux debe ser capaz de presentar los permisos de acceso asociados a los archivos y permitir cambiarlos.
Si se han entendido bien los conceptos de este capítulo, se comprenderán sin problemas las opciones de las interfaces de los administradores de archivos.
En Konqueror, por ejemplo: fundamentales
máscara 002 ---w- ---w-
permisos predeterminados de los archivos
rw-rw-r-- (supresión de los
Introducción
Un proceso es un programa o un comando en curso de ejecución en un sistema. Linux puede ejecutar varios procesos al mismo tiempo y es posible iniciar varias instancias de un mismo programa simultáneamente.
El término "tarea" equivale al término "proceso". Por ello se califica a Linux de sistema multitarea.
Un proceso demonio es un proceso que se ejecuta permanentemente en el sistema; su código se repite hasta el infinito para esperar y estar a punto cuando un usuario solicite el servicio al que está vinculado. Los nombres de los demonios terminan generalmente en d; encontramos por ejemplo los demonios crond (planificación de tareas), httpd (servidor web Apache) y syslogd (registro de mensajes) en un sistema Linux.