Está en la página 1de 25

SISTEMAS OPERATIVOS DE RED OPEN SOURCE

SEMANA 3
Aspectos básicos y comandos esenciales de
sistemas GNU/Linux

Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni 1
ESTE
utilizarDOCUMENTO
los contenidos paraCONTIENE LAdeSEMANA
fines comerciales 3
ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 3
ÍNDICE
ASPECTOS BÁSICOS Y COMANDOS ESENCIALES DE SISTEMAS GNU/LINUX ..................................... 4
OBJETIVO ESPECÍFICO .................................................................................................................... 4
INTRODUCCIÓN ............................................................................................................................. 4
1 COMANDOS ESENCIALES DE SISTEMAS GNU/LINUX ............................................................... 5
1.1 TIPOS DE ARCHIVO ......................................................................................................... 5
1.2 AYUDAS DEL SISTEMA ..................................................................................................... 6
1.3 MANEJO DE ARCHIVOS Y DIRECTORIOS ........................................................................... 7
2 ENTRADA/SALIDA ESTÁNDAR ............................................................................................... 10
2.1 REDIRECCIONADORES DE ENTRADA, SALIDA Y ERROR ESTÁNDAR ................................. 11
2.2 PIPE .............................................................................................................................. 13
3 USUARIOS Y GRUPOS ........................................................................................................... 14
3.1 ARCHIVOS DE CONFIGURACIÓN .................................................................................... 14
3.1.1 COMANDOS .......................................................................................................... 15
3.2 PRIVILEGIOS DE USUARIOS Y GRUPOS ........................................................................... 16
4 SISTEMA DE PRIVILEGIOS...................................................................................................... 16
4.1 ESQUEMA DE SEGURIDAD MAC .................................................................................... 16
4.2 COMANDO CHOWN ...................................................................................................... 17
4.3 COMANDO CHGRP ........................................................................................................ 18
4.4 COMANDO CHMOD ...................................................................................................... 18
4.5 CAMBIAR PRIVILEGIOS DE FORMA RELATIVA O ABSOLUTA ........................................... 19
4.6 COMANDO UMASK ....................................................................................................... 19
5 SUID, SGID Y STICKY.............................................................................................................. 20
5.1 SUID ............................................................................................................................. 20
5.2 SGID ............................................................................................................................. 21
5.3 STICKY .......................................................................................................................... 21
COMENTARIO FINAL .................................................................................................................... 23
REFERENCIAS ............................................................................................................................... 24

3
ESTE DOCUMENTO CONTIENE LA SEMANA 3
ASPECTOS BÁSICOS Y COMANDOS ESENCIALES DE
SISTEMAS GNU/LINUX

OBJETIVO ESPECÍFICO
Utilizar comandos de GNU/Linux para obtener ayuda del sistema, manejar archivos y
directorios, y crear usuarios y grupos de usuarios.

INTRODUCCIÓN
Los aspectos básicos del sistema operativo GNU/Linux, permitirán conocer los elementos
fundamentales de la plataforma, tales como los comandos esenciales, los tipos de archivo y las
ayudas disponibles en el sistema. Otros elementos de suma importancia en el manejo del sistema
operativo lo constituyen el manejo de las entradas y salidas del sistema, la estructura de
directorios, las operaciones necesarias para la gestión de usuarios y grupos, y el sistema de
privilegios.

Todos estos elementos contribuyen a conformar la base necesaria para el uso futuro del sistema
operativo GNU/Linux como técnico de redes, ya que es una de las herramientas más ampliamente
utilizadas en plataformas de red.

4
ESTE DOCUMENTO CONTIENE LA SEMANA 3
1 COMANDOS ESENCIALES DE SISTEMAS GNU/LINUX
GNU/Linux contempla la existencia de diversos comandos para realizar operaciones desde el shell
del sistema o terminal. Para ello se verá cuáles son los tipos de archivos existentes, las opciones de
ayuda de que dispone el sistema y el correspondiente manejo de archivos y directorios.

1.1 TIPOS DE ARCHIVO


A diferencia de otros sistemas operativos, GNU/Linux no determina el tipo de archivo a partir de
su extensión, sino que utiliza un sistema denominado magic numbers (números mágicos) por el
cual se determina el tipo de archivo, por medio de la ejecución de una serie de tests. Utilizando el
comando file se puede determinar el tipo de archivo. Ahora bien, González-Barahona, Seoane y
Robles (2003), señalan los cinco tipos de archivos en Linux, que se explican a continuación:

Archivo común: es aquel que contiene la información con la que trabaja el usuario en el
equipo. Esta categoría comprende archivos de todo tipo, tales como texto, imágenes,
ejecutables de aplicaciones, entre otros.

Enlace duro o físico: no son realmente un archivo, sino una segunda denominación o
nombre que se le otorga a un archivo. Es útil para localizar un archivo desde su ubicación
actual (la del enlace duro), pero direccionado al archivo en otra ubicación, logrando que
no sea necesario duplicar el archivo cuando requiera ser utilizado por varios usuarios a la
vez.

Enlace simbólico: es utilizado, al igual que el enlace duro, para asignar un segundo nombre
a un archivo, con la diferencia de que si se borra el archivo original, se perderán los datos a
pesar de tener enlaces simbólicos, considerando que, en el caso del enlace duro, se
mantiene la información del archivo hasta que sean eliminados todos los enlaces duros
asociados. Lo anterior es idéntico al acceso directo que se utiliza en el sistema operativo
Windows.

Directorio: Linux lo trata como un archivo y se refiere a un tipo de objeto especial o


carpeta, en la que están contenidos otros archivos o directorios.

Archivo especial: bajo esta categoría se tiene a los dispositivos físicos, tales como los
discos duros, memorias de almacenamiento, impresoras, terminales y demás periféricos, y
son tratados por el sistema operativo como archivos normales u ordinarios.

5
ESTE DOCUMENTO CONTIENE LA SEMANA 3
En GNU/Linux todos los objetos son tratados como archivos del sistema, lo
que simplifica la gestión, ya que el sistema de privilegios y administración
de cada objeto es el mismo, indistintamente de si se trata de un periférico,
una unidad de almacenamiento, archivos de configuración, de
aplicaciones o simplemente documentos de un usuario.

1.2 AYUDAS DEL SISTEMA


Para obtener ayuda en GNU/Linux, existen diversas opciones por medio del uso de comandos, tal
como se detalla a continuación:

man: existe un sistema de manuales disponible en el sistema operativo, que detalla cada uno de
los comandos básicos, así como programas y utilidades. Para usarlo, se debe escribir en la línea de
comando la palabra man seguida del nombre del objeto a consultar (comando, aplicación y
otro), tras lo cual aparece en pantalla la información documentada en la que se podrá navegar
hacia adelante y hacia atrás con las teclas AvPág y RePág, respectivamente. Para salir de la ayuda

Por ejemplo, si se desea conocer información sobre el comando para listar contenidos en
directorios (ls), se podrá solicitar información con la siguiente instrucción:

$ man ls

La cual presentará una salida similar a la que se observa en la siguiente imagen:

6
ESTE DOCUMENTO CONTIENE LA SEMANA 3
Salida del comando man

whatis: también es posible acceder a una breve descripción de un comando a utilizar, por medio
del uso del comando whatis , seguido del objeto a consultar. Para ello bastará con escribir whatis
seguido del nombre del comando a consultar, presentando en pantalla el resumen descriptivo.

help: otra opción disponible en la shell de Linux es el comando help que, al igual que los
anteriores, requiere que se indique el nombre del comando a consultar. En el caso particular de
help, su uso se limita a presentar información de los comandos que pertenezcan al bash de
GNU/Linux. Su uso es similar a los anteriores.

info: finalmente, se cuenta con el comando info , similar en su uso a los anteriores, con la
salvedad que la documentación presentada como salida corresponde al proyecto de GNU/Linux.

1.3 MANEJO DE ARCHIVOS Y DIRECTORIOS


Otra operación necesaria es para visualizar el contenido de un archivo, para lo cual se cuenta son
el comando cat , que mostrará el contenido en la pantalla. Sin embargo, cuando los archivos son
muy extensos se sugiere utilizar el comando more , el cual detiene el despliegue de la
información por cada pantalla, a la espera de presionar la barra espaciadora. Si se desea
suspender la visualización, se detiene con las teclas Ctrl y C de forma simultánea.

Un ejemplo del comando cat se muestra en la siguiente imagen, que presenta en pantalla el
contenido del archivo passwd.

7
ESTE DOCUMENTO CONTIENE LA SEMANA 3
En este caso, dado que el contenido del archivo passwd es muy extenso, no se puede ver en
pantalla todo su contenido, para lo cual se puede usar el comando more , tal como se observa en
la siguiente imagen. La diferencia radica en que la presentación en pantalla se detiene según la
capacidad de líneas a presentar, a la espera de que se presione la barra espaciadora para mostrar
el siguiente contenido.

Otro tipo de comandos muy útiles son los que permiten la búsqueda de cierto patrón en el
contenido de los archivos. Con el comando grep es posible incorporar como segundo parámetro
el nombre del archivo.

8
ESTE DOCUMENTO CONTIENE LA SEMANA 3
Como un ejemplo del uso de este comando, se presenta la siguiente imagen en la que se observa
que se ha filtrado el contenido del archivo passwd, para que muestre en pantalla las coincidencias

Uso del filtro grep

También es posible obtener una cantidad del líneas del principio o fin de un archivo con los
comandos head y tail , respectivamente. Para observar el uso de estos comandos se presentan
las siguientes imágenes, donde para el primer caso se muestran las 10 primeras líneas del
contenido del archivo passwd.

Uso del comando head

De igual manera, a continuación se puede observar que se muestran las 10 últimas líneas del
contenido del archivo passwd.

9
ESTE DOCUMENTO CONTIENE LA SEMANA 3
Uso del comando tail

Finalmente, también es posible comparar el contenido de diferentes archivos, lo cual se puede


realizar con los comandos diff , cmp y comm , que ejecutan diferentes formas y métodos de
comparación en los archivos. Un ejemplo de uso del comando cmp se presenta en la siguiente
imagen, en que se comparan los archivos passwd y passwd2 (creado a partir del primero y con
algunos cambios intencionalmente realizados a modo de presentar este ejemplo).

Uso del comando cmp

Con los mismos dos archivos anteriores, se puede solicitar que sea presentado en pantalla el
contenido de las líneas que difieren entre un archivo y otro, lo cual aparece en la siguiente imagen.

Uso del comando diff

2 ENTRADA/SALIDA ESTÁNDAR
Cuando se introducen comandos en la shell de GNU/Linux, usualmente se utiliza el teclado como
entrada y se visualiza la salida o resultado en la pantalla del computador. Sin embargo, es posible

10
ESTE DOCUMENTO CONTIENE LA SEMANA 3
modificar la situación de tal manera que tanto la entrada como la salida sean redireccionadas a
otras fuentes.

2.1 REDIRECCIONADORES DE ENTRADA, SALIDA Y ERROR ESTÁNDAR


De manera predeterminada, toda instrucción en GNU/Linux cuenta con los canales de entrada, de
salida y de error que se detallan en la siguiente tabla:

Canales existentes en instrucciones Linux

Canal Denominación Destino (predeterminado)

entrada stdin teclado


salida stdout pantalla
error stderr pantalla

La entrada estándar (en inglés, standard input) es el canal por medio del cual un usuario indica a
las aplicaciones o programas la información que debe ser procesada, la cual es representada de
forma predeterminada por el teclado. Por otra parte, la salida estándar (en inglés, standard
output) representa el canal por el que los programas entregan información al usuario, que de
manera predeterminada es la pantalla, tal como se detalla en la tabla anterior.

Para comprender el funcionamiento de estos canales, se utilizarán los comandos echo y wc


(word count). El comando echo imprime por la salida estándar lo que la entrada estándar le
proporciona. Por otra parte, el comando wc sirve para contabilizar tanto líneas como palabras
y/o caracteres que están contenidos en un archivo.

En el siguiente ejemplo se utiliza el comando echo seguido de la palabra hola, la cual constituye
la entrada para el comando y, a su vez, es mostrada en la salida (pantalla).

11
ESTE DOCUMENTO CONTIENE LA SEMANA 3
El tercer y último canal es el de error (en inglés, standard error output), el cual es utilizado para
entregar los posibles errores que se presenten al ejecutar una instrucción. De manera
predeterminada, estos son presentados en la pantalla. Ahora bien, todos los elementos
predeterminados pueden ser cambiados, lo cual se denomina redireccionamiento. De esta
manera, una instrucción puede recibir la información mediante un archivo, así como también la
salida puede ser guardada en un archivo.

Existen dos métodos para redireccionar la salida a un archivo:

La primera, es con el uso del caracter > (mayor), para lo cual tan solo es necesario tener privilegios
de escritura como usuario. Ejemplo:

$ echo hola > prueba.txt

En esta instrucción el resultado de echo hola será el contenido del archivo prueba.txt y se
grabará en la ubicación en la que se encuentre el sistema de archivos. También se puede utilizar la
secuencia >> , la cual agrega la información al final del contenido del archivo en caso de que
exista (de lo contrario, lo crea).

Para redireccionar la entrada se realiza de manera similar, pero utilizando el carácter < ,
tal como se puede apreciar en el siguiente ejemplo:

$ wc l < prueba.txt

El cual mostrará en la salida estándar el resultado de la instrucción wc -l del archivo prueba.txt,


es decir, la cantidad de líneas que contiene el archivo prueba.txt. Esto se puede observar en la
siguiente imagen:

Redireccionamiento de entrada

Finalmente, para redireccionar la salida del canal de error se utiliza el operador 2> o 2>>, según si
se desea crear un nuevo archivo o agregar a uno existente.

12
ESTE DOCUMENTO CONTIENE LA SEMANA 3
2.2 PIPE
La segunda forma de redireccionar los canales, es por medio de tuberías (pipelines). Se crea una
tubería de instrucciones y por cada una va pasando el resultado a la siguiente. Ejemplo:

$ ls -l | sort k9

Con el comando anterior se toma el resultado de ls -l (listado de archivos de la ubicación actual)


y se entrega al comando sort -k9, el que ordenará la información en función de la columna 9
(nombre) y la mostrará en pantalla.

Uso del símbolo | para concatenar comandos

13
ESTE DOCUMENTO CONTIENE LA SEMANA 3
3 USUARIOS Y GRUPOS
GNU/Linux es un sistema operativo multiusuario, lo que significa que múltiples usuarios pueden
hacer uso del sistema de una manera organizada. Para ello, se dispone tanto de herramientas de
entorno gráfico (GUI) como de comandos especiales de consola, que permiten la creación,
modificación y eliminación de usuarios. Dado que es un ambiente en el que coexisten diversos
usuarios, GNU/Linux contempla un sistema seguro de privilegios, en los que se define qué se
permite o no a cada usuario.

Para acceder al sistema operativo es necesario disponer de un usuario identificado, por lo que
cada uno tiene un nombre de usuario (login) y una contraseña (password) creados por el
administrador del sistema (root). Esta información es almacenada en un archivo denominado
passwd, ubicado en el directorio /etc.

Adicionalmente, los usuarios pertenecen a grupos, en los que se otorgan privilegios a un conjunto
de usuarios que tienen afinidad de roles dentro del sistema. Al crear un usuario, este debe
pertenecer al menos a un grupo, denominado grupo primario o principal. Este esquema de grupos
proporciona mayor flexibilidad a la hora de otorgar privilegios a un conjunto de usuarios.

A modo de ejemplo, así se administraría en un colegio:

A la unidad educativa se incorpora un nuevo docente. En este caso, tan solo será necesario
le acceso a determinadas carpetas del sistema, las
que están destinadas para proporcionar información a los docentes del centro educativo. En
el caso de que un usuario pertenezca a más de un grupo, los adicionales serán secundarios. La
información de los g
ubicado en el directorio /etc.

3.1 ARCHIVOS DE CONFIGURACIÓN


Los archivos de configuración requeridos para la gestión de usuarios y grupos, se encuentran en el
directorio /etc. Para el caso de los usuarios, se utiliza el archivo passwd con la información para
cada usuario junto al archivo shadow, en el que se almacena información cifrada del password de
cada usuario, a la que tiene acceso solo el superusuario (root). Para el caso de los grupos, se
cuenta con el archivo groups, que detalla, en este caso, la información de los grupos existentes en
el sistema operativo.

14
ESTE DOCUMENTO CONTIENE LA SEMANA 3
3.1.1 COMANDOS
A continuación, son presentados los comandos que permiten la administración de usuarios:

Comandos para la administración de usuarios

Comando Descripción Sintaxis

adduser Agrega usuarios al sistema. adduser nombre_usuario


usermod Modifica configuración del usermod l nuevo_nombre usuario_anterior
usuario.
userdel Elimina usuarios del sistema. userdel r nombre_usuario
passwd Asigna o cambia password a un Passwd usuario
usuario existente (solicitará 2
veces el password asignado).

Para la gestión de grupos, se cuenta con los siguientes comandos:

Comandos para la administración de grupos

Comando Descripción Sintaxis

groupadd Agrega un grupo al sistema. groupadd nombre_grupo


groupmod Modifica configuración del groupmod n nuevo_nombre grupo_anterior
grupo.
groupdel Elimina grupos del sistema. groupdel r nombre_grupo
gpasswd Administra usuarios en grupos gpasswd a usuario grupo (para agregar)
(ambos existentes previamente). gpasswd d usuario grupo (para eliminar)

Para ampliar la utilización de los comandos presentados en esta


sección, se sugiere descargar el material de administración de
usuarios y grupos, disponible en el siguiente enlace:

https://goo.gl/ZPyvz3

15
ESTE DOCUMENTO CONTIENE LA SEMANA 3
3.2 PRIVILEGIOS DE USUARIOS Y GRUPOS
Cuando un usuario crea un archivo se convierte en su propietario y estará facultado para cambiar
los privilegios del mismo. Adicionalmente, al archivo le es asignado el grupo principal al que
pertenece el usuario. Sin embargo, prevalece la propiedad del usuario sobre la del grupo. El
otorgamiento de permisos a grupos y usuarios es una tarea del superusuario (root), para lo cual
cuenta con un conjunto de comandos específicos.

4 SISTEMA DE PRIVILEGIOS
Tal como se ha mencionado, se requiere de un sistema que otorgue la seguridad suficiente en un
ambiente en el que coexisten múltiples usuarios. Para ello existe un sistema organizado para
registrar los privilegios que se han otorgado tanto a los usuarios como a los grupos existentes.

4.1 ESQUEMA DE SEGURIDAD MAC


El esquema de seguridad MAC es utilizado por el conjunto de sistemas operativos derivados de
Unix, incluyendo Linux y MAC, en el cual todos los archivos y directorios pertenecen a un usuario y
a un grupo primario, de tal manera que cuando un usuario crea uno de ellos, le pertenecerá tanto
a él como al grupo principal al que pertenece. Para visualizar los permisos que están actualmente
otorgados, bastará con solicitar un directorio ampliado con el comando ls -l , el cual mostrará
algo similar a lo que se presenta en la siguiente imagen:

Lista de archivos y directorios del directorio /etc, obtenida con el comando ls -l"

16
ESTE DOCUMENTO CONTIENE LA SEMANA 3
De toda esa información presentada, lo referente a los permisos se presenta al inicio de cada
archivo o directorio, en donde aparecen letras tales como d, r, w, x, así como el símbolo - , que
representan lo siguiente:

r(read): permiso de lectura, es decir, se tiene permiso para visualizar su contenido.

w(write): permiso de escritura, por lo que se otorga autorización para modificar y


borrar.

x(execute): permiso de ejecución, el cual es utilizado para señalar que el contenido del
archivo es para ser ejecutado en Linux, tal como un binario o un script.

Ahora bien, la estructura de los permisos se organiza de tal manera que el primer carácter indica el
tipo de objeto, para lo cual se señala - si es un archivo; d , para indicar que es un directorio o
l , para el caso de corresponder a un enlace. Luego de ello, aparecerán los permisos para lectura,
escritura o ejecución para el usuario propietario (u), luego para el grupo primario al que pertenece
el usuario propietario (g) y, finalmente, para el resto de los usuarios (others). En la imagen anterior
se puede apreciar que la primera línea corresponde a un archivo con permisos de lectura y
escritura para el usuario propietario, y permisos de lectura tanto para el grupo primario como para
los otros usuarios del sistema.

4.2 COMANDO CHOWN


Con el comando chown (que significa change owner ) se puede cambiar el usuario propietario
de un archivo manteniendo los mismos privilegios, con la siguiente sintaxis:

# chown nuevo_usuario /home/prueba

En la sintaxis se asigna como nuevo propietario del archivo prueba, ubicado en el directorio
/home, al nuevo_usuario (el cual debe estar creado).

NOTA: este comando solo puede ser ejecutado por root.

17
ESTE DOCUMENTO CONTIENE LA SEMANA 3
4.3 COMANDO CHGRP
Con el comando chgrp ( change group ) se cambia al grupo propietario por otro, por lo que
requiere dos parámetros: el grupo al que se va a cambiar y el objeto que será cambiado (archivo o
directorio). Este comando puede ser usado por los usuarios pero de forma limitada, dado que un
usuario puede cambiar el grupo de un archivo solo si forma parte del nuevo grupo propietario.

# chgrp nuevo_grupo prueba

En la sintaxis se asigna al archivo prueba el nuevo grupo principal nuevo_grupo.

4.4 COMANDO CHMOD


Para modificar los permisos de archivos y directorios, se usa el comando chmod , seguido de la
letra que indica a quién se modificará los permisos (u, para el usuario; g, para el grupo; o, para los
otros), seguido del símbolo para la operación (+, para otorgar; , para revocar) y de la letra
asociada al permiso (r, w, x). Ejemplo:

$ chmod u+rw nombre_archivo añade permisos de lectura y escritura al usuario


propietario.

$ chmod ug+r nombre_archivo otorga permisos de lectura al usuario propietario y a


su grupo primario.

$ chmod ugo+r nombre_archivo añade permisos de lectura a los 3 grupos.

18
ESTE DOCUMENTO CONTIENE LA SEMANA 3
4.5 CAMBIAR PRIVILEGIOS DE FORMA RELATIVA O ABSOLUTA
Los cambios de privilegios presentados en el punto anterior, se refieren a la forma absoluta. Otra
forma de asignar y eliminar permisos en GNU/Linux es de forma relativa, mediante el sistema
octal, donde a cada conjunto de permisos (propietario, grupo y otros) se le asigna un valor octal
que se determina según la siguiente tabla:

Sistema de permisos en número octal

Permiso a aplicar Valor en binario Número octal a asignar


--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

De acuerdo a lo anterior, si se desea asignar todos los permisos al propietario y lectura a los demás
mediante el sistema octal, se deberá escribir el siguiente comando:

$ chmod 744 nombre_archivo

A continuación se presenta un video en donde se muestra la explicación

https://youtu.be/6AH-ntybJN0

4.6 COMANDO UMASK


Al crear archivos o directorios, de manera predeterminada estos poseen los privilegios en
representación octal 0644 y 0755, respectivamente. Sin embargo, ello puede ser modificado
mediante la utilización de la máscara del usuario. Para ello deberá ser modificado un archivo
ubicado en el directorio /home del usuario, denominado .bashrc, y modificar la línea con el
comando umask (cuyo valor predeterminado es 0022) y asignar el nuevo valor en función del
nuevo esquema de privilegios.

19
ESTE DOCUMENTO CONTIENE LA SEMANA 3
El punto de partida es el siguiente: los archivos tienen asignados permisos en 0666 y los
directorios en 0777. Para establecer el valor del umask se asignan los números a restar a esos
valores iniciales, por lo que si se realiza la operación con el valor predeterminado de umask
(0022), será: 0666 0022, resultando 0644 para los archivos, y para el caso de los directorios, será
0777 0022 = 0755.

Siempre será posible conocer el valor del umask escribiendo esa palabra en la línea de comando
o shell. Adicionalmente, es posible asignar su valor desde el mismo comando seguido del número
a asignar, pero será un cambio temporal, ya que al reiniciarse el sistema se restablecerá al valor
asignado en el archivo de configuración del usuario (archivo .bashrc).

5 SUID, SGID Y STICKY


Existe un conjunto de permisos especiales utilizados en sistemas operativos GNU/Linux que
amplían el uso del sistema de privilegios, tal como se verá a continuación.

5.1 SUID
El bit de SUID o setsuid se refiere a una modalidad especial de permiso existente en Linux, para la
cual se otorga el mismo privilegio del propietario de un archivo a todos los usuarios del sistema
mientras lo ejecuta. Es decir, que si se asigna el bit SUID a un archivo, todo aquel usuario que lo
ejecute dispondrá, hasta que el programa finalice, de un nivel de privilegio total en el sistema
(como si fuese el propietario).

Para activar el bit SUID se le añade 4000 a la representación octal del permiso del archivo, tras lo
cual aparecerá en el lugar de la x de la primera terna de permisos (correspondiente a los del
propietario) una letra s si se ha otorgado el permiso, pero en caso contrario aparecerá la letra
S (mayúscula). Un ejemplo de utilización del bit SUID se presenta en el comando siguiente:

# chmod 4777 prueba.txt Este comando lo activa el bit SUID al archivo


prueba.

Lo anterior se puede visualizar en la siguiente imagen, en la que, previo al comando, se muestran


los privilegios del archivo prueba.txt, se ejecuta el comando para la activación del bit SUID y luego
se visualiza de nuevo cómo quedan los privilegios modificados.

20
ESTE DOCUMENTO CONTIENE LA SEMANA 3
Activación del bit SUID

5.2 SGID
Todo lo que se comentó con respecto al bit SUID es aplicable al bit setgid (SGID), pero a nivel de
grupo del archivo en lugar de propietario, por lo que todo usuario que ejecute un programa con
este permiso asignado, tendrá los privilegios del grupo al que pertenece el archivo. Para su
activación se agrega el número 2000 a la representación octal del permiso del archivo junto a la
activación del permiso de ejecución a la terna de grupo.

5.3 STICKY
Finalmente, existe el bit de permanencia denominado sticky bit, el cual se utiliza para indicar al
sistema operativo que el archivo debe estar en memoria principal el mayor tiempo posible, dado a
que es altamente utilizado. Ello se activa sumando 1000 a la representación octal del archivo junto
al permiso de ejecución en la última terna de permisos, tras lo cual aparecerá una t en la última
posición de permisos. En caso de que se desactive el permiso de ejecución con el bit sitcky
activado se visualizará la letra T (en mayúscula). Ejemplo:

# chmod 1774 prueba

# ls - l

-rwxrwxrwt 1 root other 0 Nov 9 17:51 prueba

Esta opción es activada sobre un directorio, en donde se indica al sistema operativo que, aunque
los permisos normales especifiquen que cualquier usuario pueda crear y eliminar archivos (por
ejemplo, un 777 octal), solo el propietario de cierto archivo y el administrador pueden borrar un
archivo que se encuentre dentro de un directorio con este permiso.

21
ESTE DOCUMENTO CONTIENE LA SEMANA 3
Si en lugar de especificar el valor octal de los permisos, se desea utilizar la forma simbólica
de chmod , +t para activar el bit de permanencia, g+s para activar el de SGID
y u+s para hacer lo mismo con el de SUID; si se desea restablecerlos, se debe utilizar un signo -
en lugar de un + en la línea de órdenes.

22
ESTE DOCUMENTO CONTIENE LA SEMANA 3
COMENTARIO FINAL
En esta semana ha sido abordada una parte de lo que corresponde al funcionamiento de un
sistema operativo GNU/Linux. De igual manera, se detallaron los comandos necesarios para la
gestión de usuarios y grupos, y se revisaron los principales comandos a ser utilizados desde el shell
de Linux junto al sistema de asignación de permisos en Linux.

El dominio de todos estos elementos, permitirá al técnico en administración de redes contar con
los conocimientos necesarios para la gestión de equipos de computación con sistema operativo
GNU/Linux, el cual es ampliamente utilizado como plataforma en las redes actuales.

23
ESTE DOCUMENTO CONTIENE LA SEMANA 3
REFERENCIAS
Baig, R. y Aulí, F. (2003). Sistema operativo GNU/Linux básico. Barcelona: Fundación de la

Universidad Oberta de Cataluña.

González-Barahona, J., Seoane, J. y Robles, G. (2003). Introducción al software libre. Barcelona:

Fundación de la Universidad Oberta de Cataluña.

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2017). Aspectos básicos y comandos esenciales de sistemas GNU/Linux. Sistemas Operativos

de Red Open Source. Semana 3.

24
ESTE DOCUMENTO CONTIENE LA SEMANA 3
25
ESTE DOCUMENTO CONTIENE LA SEMANA 3

También podría gustarte