Fundamentos de BASH - Comandos de administración

10 - Comandos de administración

[editar]
Monografía creado por David F. Madrid. Extraido de: http://www.nautopia.net/archives/es/linux_administracion/fundamentos_de_bash/introduccion.php
11 de Octubre de 2005
Estos comandos también se encuentran en todas las distribuciones con alguna modificación y se localizan en /sbin y /bin y gestionan el sistema de ficheros y sus permisos, grupos y usuarios y los procesos.

ps

Muestra información de los procesos en ejecución como su número de proceso ( PID , process ID ) que obtiene del sistema de archivos virtual /proc. Algunas opciones interesantes :

a : muestra todos los procesos en ejecución
f : muestra los procesos en estructura de arból para poder diferenciar los subprocesos lanzados . Incluye la línea de consola con la que se ha invocado el comando
w : salida ampliada
x : muestra también las consolas de control
X : muestra registros del procesador de cada proceso , incluyendo los registros de la pila ESP y EBP y el registro de instrucción del programa IEP
C NombreProceso : muestra sólo los nombres de proceso que coincidan con NombreProceso
G NombreGrupo : muestra sólo los nombres de proceso que pertenezcan a NombreGrupo
U NombreUsuario : muestra sólo los nombres de proceso que corran como NombreUsuario
Ej :

# ps awxf


top

Muestra procesos del sistema e información sobre estos en tiempo real como el consumo de CPU y memoria , el PID , la prioridad o el estado actual del proceso que obtiene del sistema de archivos virtual /proc.

kill [ opciones ] pid

Manda la señal especificada con el modificador -s al proceso especificado por pid. Sin argumentos se utiliza para matar el proceso especificado y es utilizado habitualmente para matar procesos que se han quedado bloqueados, siendo necesario matar el proceso del que cuelga el pid indicado y que obtenemos al ejecutar el comando ps en vista de arból(# ps awxf)

useradd [ -D ] [ opciones ] nombreusuario

Anañe un usuario al sistema con las características específicadas y las predefinidas del sistema. El usuario se añadirá a /etc/passwd (y /etc/shadow si usamos la suite shadow). Algunas opciones interesantes:

-D : lista los valores predefinidos del sistema para la creación del sistema. Junto con los argumentos bfegs permite cambiar los valorespredeterminados del sistema
g : ID del grupo al que pertenecerá el usuario(debe existir en /etc/groups)
u : ID del usuario en el sistema(no debe ser repetido en /etc/passwd)
d : directorio personal del usuario(por defecto /home/nombredeusuario)
s : intérprete de comandos que usará por el usuario
p : contraseña del usuario
Ej:

# useradd -g 105 -u 105 -d /usr/local/mail mail


groupadd [ -g idgrupo ] nombregrupo

Añade un nuevo grupo de usarios al sistema con el siguiente id de grupo disponible en /etc/groups o con el indicado con la opción g.

Ej:

# groupadd -g 105 mail


chmod modo ruta

Linux sigue el standard POSIX para los permisos y este comando establece los permisos de un archivo o carpeta marcado por ruta. En Linux los archivos tiene un propietario, que normalmente es el creador y el que puede cambiar los permisos. Para establecer permisos podemos asignar modos de acceso al propietario del archivo, al grupo al que pertenece el propietario y al resto de usuarios mediante números octales. Este método no permite modificar los permisos actuales del archivo pero es adecuado para archivos nuevos o con permisos fácilmente definibles. Vamos a crear un archivo y a ver sus permisos.

Ej:

# touch probando
# ls -l probando
rw-r--r-- 1 electro users 0 Mar 30 18:32 probando

Como vemos el archivo recien creado tiene como propietario a electro que tiene permisos de lectura y escritura(rw o 6 en octal), los usuarios pertenecientes al mismo grupo que el propietario,que es lo que viene después sólo tiene permisos de lectura(r o 4 en octal), al igual que el resto de usuarios del sistema(r,otro cuatro en octal). Por lo tanto el archivo está en modo de acceso 644. Para modificar el archivo de modo que sólo nosotros(y bueno root claro que siempre se puede convertir en el propietario) podamos leerlo y escribirlo haríamos:

Ej:

# chmod 600 probando
# ls -l probando
rw
1 electro users 0 Mar 30 18:32 probando

La representación octal de cada modo de acceso para el propietario, grupo y el resto queda representada con esta tabla:

|| Modo de acceso || Octal ||
||
|| ||
|| --x || 1 ||
|| -w- || 2 ||
|| -wx || 3 ||
|| r-- || 4 ||
|| r-x || 5 ||
|| rw- || 6 ||
|| rwx || 7 ||


A parte de estas tres diferenciaciones en el control de acceso se pueden establecer otras tres opciones que afectan a los programas ejecutables y cuyas representaciones octales son las siguientes:

1000 Graba la imagen del ejecutable en la memoria de intercambia para acelerar su ejecución(aparece en la salida del comando ls-l una t de Text en vez de la x de execution). Sobre directorios permite que los ficheros creados en él no puedan ser borrados.
2000 El programa se ejecutará con los privilegios del grupo al que pertenece el creador del archivo(en vez de una x aparece una s de Set-GID en los permisos del grupo )
4000 El programa se ejecutará con los privilegios del creador del archivo independientemente del usuario que lo ejecute(en vez de una x aparece una s de Set-UID en los permisos del propietario Scripts o programas vulnerables que corren como root con este bit activado son una de las principales fuentes de problemas que podemos tener a la hora de un intento de intrusión local

Para los que no os defendais con el octal os dejo una tabla con algunos de los más comunes:

|| Modo de acceso || Octal ||
|| rw-r--r-- || 644 ||
|| rw--rw--rw || 666 ||
|| rwx
|| 700 || || rwx-r--r-- || 744 ||
|| rwx-rw-rw || 766 ||
|| rwxr-xr-x || 755 ||
|| rwSr--r-- || 4664 ||
|| rwxr-S-r-T || 3744 ||


Otra forma de especificar modos de acceso con chmod es mediante nombres simbólicos. Con ellos podemos modificar las propiedades del archivo o directorio sin machacar la anterior. Los modificadores que podemos usar son:

u : el propietario del archivo
g : los otros usuarios del grupo del propietario
o : el resto de usuarios
a : todos.Equivale al modificador ugo
+ : añade los permisos especificados a los actuales del archivo
: elimina los permisos especificados del archivo
= : establece los permisos especificados en el archivo
Los permisos se denotan con las letras rwstx

Ej:

# chmod a= probando
# ls -l probando
1 electro users 0 Mar 30 18:32 probando
# chmod go=rws,u+rwx probando
# ls -l probando
rwxrwSrw- 1 electro users 0 Mar 30 18:32 probando*

Como identificador, puede aparecer como primera letra d(directorio), l(enlace), s(socket unix), c(dispositivo de bloque) o nada(archivo regular).
Una configuración multiusuario segura debe incluir una buena política de control de acceso a los archivos y recursos del sistema a los usuarios. Las distribuciones ya instalan una por defecto que proteger los archivos de configuración del sistema y de los demonios para evitar cualquier estropicio pero una buena práctica de seguridad es examinar los scripts o programas que se instalen y corran como root con el bit Set-UID activado y eliminarlos si no son necesarios.
hostname [ opcion ]

Establece un lista el nombre del sistema configurando el archivo /etc/hosts. Es importante definir uno correcto cuya ip se pueda resolver en nuestro dominio local(127.0.0.1,192.168.1.1 depende de si estamos en red con algo), si no el sistema irá muy lento al no resolverse las peticiones DNS de los demonios. Algunas opciones de hostname son:

-f : nombre de máquina largo(nombre+nombre de dominio)
i : direcciones IP de la máquina
d : nombre de dominio
chown usuario[:grupo] archivo

Cambia el propietario y el grupo del archivo a los especificados. Sólo root puede cambiar de propietario o de grupo un archivo

Ej:

# su root
Password:
# chown root:root probando
# ls -l probando
rwxrwSrw- 1 root root 0 Mar 30 18:32 probando*

chroot nuevaraiz comando

Un comando muy importante en la seguridad del sistema. Ejecuta el comando seleccionado de forma que para ese proceso la raíz del sistema es la nueva raíz especificada. Esto es útil para hacer correr demonios de una forma más segura, de tal forma que si se compromete el demonio el atacante no pueda acceder o desconfigurar ninguna otra parte del sistema. Merece una capítulo a parte que sin duda haremos.

Ej:

# chroot /usr/local/ /bin/sh


df [opciones]

Muestra información sobre los sistema de ficheros montados en las diferentes particiones de nuestro sistema. Alguna opciones interesantes son:

-i : muestra el uso de inodes en vez de KB
h : muestra la información en un formato más legible
T : muestra también el tipo de sistema de archivos
Ej:

# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/hda6 ext3 942M 658M 235M 74% /
/dev/hda7 reiserfs 2.7G 2.2G 595M 79% /home
/dev/hda9 ext3 1.9G 1.7G 154M 92% /usr
/dev/hda8 vfat 117M 53M 63M 46% /win


fsck [opcion] dispositivo

Este comando es una interfaz para los distintos fsck asociados a los distinos tipos de sistema de ficheros(fsck.ext3, fsck.reiserfs, etc). Con él podemos comprobar que nuestro sistema de ficheros no contiene bloques defectuosos, aunque nunca se debe hacer sobre un sistema de ficheros ya montado ya que puede ocasionar la pérdida de datos. Es una comprobación que suele hacer el sistema operativo cada cierto tiempo al arrancar éste. Algunas opciones de fsck son:

-v : salida del comando detallada
c : comprobar bloques defectuosos
f : forzar la comprobación aunque el sistema de ficheros esté marcado como sano
p : reparación automática
mkfs [opciones] [ -t tipo] dispositivo

Este comando es una interfaz para formatear un dispositivo o partición con los diferentes tipos de sistema de ficheros.

Ej:

# mkfs -t ext3 /dev/hda6
[editar]

9 opiniones

Abastos.

Genial.
Una otra opción.

Excusame por mi terrible español…

pero hay otra opción para aprender bash. En www.julioneves.com a eleja los links “conversa de bar”. Allí encontrarás un libro entero de shell scripting (254 páginas en el formato a4) traducido por la comunity.
Linux.

Mas comandos o todos de linux en donde la puedo encontrar

este recurso es muy vacamo y educatvo.
Muy buenos.

Es muy bueno para nosotros los que buscamoenla red informacion.
Variables entorno linux.

Por fis haber si aguen me pasa un resume de variables de entoernoa a linux.
1 2 | siguiente >

Monografías relacionados con 'Fundamentos de BASH'

No conocerás lo que es Linux hasta que no conozcas la consola. La consola es... Más »
La cocina española es rica en salsas sobre la base de cebollas, tomates ajíes; cazuelas... Más »
Una shell es un programa encargado de hacer de interfaz entre el usuario y el... Más »

Autor y licencia de 'Fundamentos de BASH'

This article is licensed under a Creative Commons License
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.