lunes, 27 de mayo de 2013

Diplomado Administración, Configuración y Seguridad de Servidores Linux - Sesión 2

Tags

Manejo de Comandos de Consola / Centos 6.4

  Donde:
root, es el nombre del usuario que hizo login en CentOS.
@, es simplemente un delimitador.
localhost, es el nombre del computador.
~ , hace referencia al directorio personal del usuario(en este caso /root).
#, indica que el usuario es el super administrador(root). Si se hizo login con algún otro usuario sin privilegios el símbolo sería $.

Comandos para manipular ficheros y directorios

Comando ls
Permite listar el contenido de un directorio.
Sintaxis: ls [opciones] [directorio | fichero]

Opción
-l : Muestra la salida en formato largo
-a: Lista además los ficheros ocultos
-h: Muestra el tamaño de los ficheros en forma más legible (Ej: 20M, 8k, etc)

Comando cd
Se utiliza para movernos a otros directorios.
Sintaxis: cd [opciones]

Comando pwd
Indica el camino absoluto del directorio en el cual nos encontramos actualmente.

Comando mkdir
Se utiliza para crear directorios.

Opcion:
-p: Crea los directorios intermedios de ser necesario

Comando mv
Mueve un fichero hacia otro, o varios ficheros hacia un directorio. A su vez permite r enombrar ficheros o directorios.
Sintaxis:
mv [opciones] <fuente> <destino>
mv [opciones] <ficheros> <directorio>

Comando cp
Permite copiar un fichero en otro, o varios ficheros en un directorio.
Sintaxis:
cp [opciones] <fuente> <destino>
cp [opciones] <ficheros> <directorio>

Opcion
-R: Copia recursivamente un directorio

Comando rm
Se utiliza para borrar ficheros y directorios.
Sintaxis:
rm [opciones] <ficheros | directorios>

Opción
-r: Borra recursivamente un directorio
-f: Borra forzosamente.
-i: Ejecuta el comando de forma interactiva

Comandos para visualizar ficheros

Comando cat
Concatena ficheros y los imprime en la salida estándar (monitor). Permite también visualizar el contenido de un fichero en pantalla.
Ejemplo:
cat /etc/passwd /etc/shadow
cat /etc/passwd

Comando less
Permite visualizar el contenido de un fichero en pantalla pero pausadamente a diferencia de cat. Para terminar de visualizar el contenido del fichero presionar q.
Ejemplo:
less /etc/passwd

Comandos para búsqueda de ficheros y patrones

Comando grep
Busca patrones en ficheros. Por defecto devuelve todas las líneas que contienen un patrón determinado en uno o varios ficheros.
Sintaxis:
grep [opciones] <patrón> [ficheros]

Opcion:
-c: Devuelve sólo la cantidad de líneas que contienen al patrón.
-i: Ignora diferencias entre mayúsculas y minúsculas.
-H: Devuelve además de las líneas, el nombre del fichero donde se encontró el patrón.
-l: Sólo muestra los nombres de aquellos ficheros donde se encontró el patrón, más no las líneas    correspondientes.
-r: Busca en un directorio de forma recursiva.

Comando find
Permite buscar de forma recursiva en un directorio a todos los ficheros que cumplan ciertas condiciones. Estas condiciones pueden estar relacionadas con el nombre de los ficheros, tamaño, permisos, tipo, fechas de acceso, etc.
Sintaxis:
find [camino] [opciones]

Opcion:
-name <expresión>: Especifica el nombre del fichero a buscar.
-type <tipo>: Permite indicar el tipo de fichero a buscar. Este puede ser d para directorios, f para ficheros.
-size +/- <n>: Permite indicar el tamaño máximo y/o mínimo de los ficheros a buscar.

Comandos para filtrar ficheros

Comando file
Determina con cierto grado de precisión el tipo de fichero que se le pasa como argumento.

Comando sort
Ordena las líneas de un fichero mostrándolas en pantalla.

Comandos tail y head
Muestran respectivamente el final y el comienzo de uno o varios ficheros. Por defecto muestra 10 líneas.
Sintaxis:
tail [opciones] [ficheros]
head [opciones] [ficheros]

Opcion:
Acción
-<n>: Imprime las n últimas o primeras líneas en lugar de las 10 por defecto.

Comando wc
Imprime el número de líneas, palabras y bytes de uno o varios ficheros.
Sintaxis:
wc [opciones] [ficheros]

Opcion:
-l: Sólo cuenta líneas
-c: Sólo cuenta bytes
-w: Sólo cuenta palabras.

Comandos de documentación

Comando man
Cubre el uso de herramientas y su configuración correspondiente.
Sintaxis:
man comando

Comando help
Muestra el uso de herramientas y configuración correspondiente pero sin detalles, sólo a grandes rasgos.
Sintaxis:
comando --help

Comandos de información del disco y/o particiones

Comando df
Presenta la cantidad de espacio libre, partición por partición.
Opción
-h: Genera la cantidad de espacio libre en formato humano.
-l: Solo da la lista de los sistemas de archivos montados locales

Comando fdisk -l
Muestra las particiones que tenemos en nuestra pc.

du -sh directorio
Muestra el tamaño de un directorio.

Redirección de datos

En bash, los flujos de datos se pueden redireccionar libremente hacia distintos ficheros. Esto consiste en que la salida de un proceso puede escribirse en un fichero.
Para indicar un redireccionamiento se utilizan los signos de comparación < y >:
[x] > salida : indica el redireccionamiento del flujo de datos x al fichero nombrado salida.
[x] < entrada: indica el redireccionamiento del contenido del fichero nombrado entrada hacia el flujo de datos x.
Ejemplo:
cat /etc/shadow > cont ;Se redirecciona el contenido del fichero /etc/shadow hacia un fichero llamado cont.

Tuberías

Permite tomar la salida de un comando y pasársela como entrada a otro.
El carácter que se emplea para separar un comando de otro mediante una tubería es |.
Ejemplo:
ls -l /etc | less Pagina la salida del comando.
rpm -qa | grep mysql Busca entre todos los paquetes instalados, aquellos con nombre mysql.

Edición de ficheros con VIM

VIM es el editor estándar en Unix, es orientado a comandos, por eso resulta difícil al principio, pues para utilizar todas sus potencialidades es necesario conocer muchas combinaciones de teclas, pero si se llega a dominar resulta muy funcional.
Básicamente vim posee 2 modos de interacción: el de inserción (edición) y el de comandos. Para pasar al modo comando se pulsa Esc y para pasar al de inserción se pulsa i.

Opción
yy: Copia la línea actual
yG: Copia hasta el final del fichero
dd: Corta la línea actual
dG: Corta hasta el final del fichero
p: Pega la(s) línea(s) copiada(s) o cortada(s).
u: Deshace el último comando
:q: Sale del editor (si no se ha hecho ninguna modificación)
:q!: Sale sin guardar.
:w: Guarda
:x: Guarda y sale.

Creación, modificación y eliminación de usuarios

Comando useradd
El comando useradd permite añadir nuevos usuarios al sistema, además de establecer la información por defecto de los nuevos usuarios que se añadan.
Sintaxis:
useradd [opciones] [login]
Ejemplos:
# useradd michael … crea el usuario michael con las propiedades por defecto.
Opción
-c: Permite fijar información del usuario(GECOS), si el valor incluye un espacio, necesitará poner el texto entre comillas.
-g: Permite especificar el grupo predeterminado que el usuario tiene.
-G: Permite especificar grupos adicionales a los cuales pertenecerá el nuevo usuario.
-s: Permite especificar la shell del usuario.

Comando userdel
El comando userdel permite eliminar definitivamente un usuario del sistema.
Sintaxis:
userdel [opciones] <login>

Ejemplos:
# userdel -r armando … elimina al usuario armando y borra su directorio base.
Ya que por defecto el directorio base se mantiene.
Comando passwd
El comando passwd permite cambiar el password de un usuario. Si se invoca sin argumentos se asume el usuario actual.
Sintaxis:
passwd [opciones] [login]
Ejemplos:
# passwd michael … coloca una contraseña para el usuario michael.

Comando usermod
El comando usermod se emplea para modificar algunas propiedades de los usuarios como: el login, el directorio base, el shell que se inicia al conectarse, los grupos a los que pertenece, etc. Funciona en gran parte de la misma manera que useradd.
Sintaxis:
usermod [opciones] <login>

Opcion:
-c: Permite cambiar la información del usuario(GECOS), si el valor incluye un espacio, necesitará poner el texto entre comillas.
-g: Permite cambiar el grupo predeterminado que el usuario tiene.
-G: Permite cambiar grupos adicionales a los cuales pertenecerá el nuevo usuario.
-s: Permite cambiar la shell del usuario.
-l: Permite cambiar la cuenta del usuario(login).

Ejemplos:
# usermod -s /bin/csh michael … coloca el shell csh para el usuario michael
# usermod -G users,disk michael … señala como grupos secundarios de
michael a users y disk
# usermod -l segundo michael … indica

Creación, modificación y eliminación de grupos

Comandos groupadd
El comando groupadd permite añadir un grupo en el sistema.
Sintaxis:
groupadd [opciones] <grupo>
groupdel <grupo>
Ejemplos:
# groupadd admin.
# groupdel admin.

Comandos groupdel
El comando groupdel permite eliminar un grupo en el sistema.
Sintaxis:
groupdel <grupo>
Ejemplos:
# groupdel admin.
Nota: el grupo no podrá ser eliminado, si existe algún usuario que lo tenga como grupo principal.

Comandos groupmod
El comando groupmod permite modificar un grupo en el sistema.
Sintaxis:
groupmod <grupo>
Ejemplos:
# groupmod -n informatica sistemas ...permite cambiar el nombre del grupo sistemas
a informatica.

Gestión de permisos de archivos y carpetas

Comando chmod
chmod ("change mode", cambiar modo) que permite cambiar los permisos de acceso de un archivo o directorio.
Sintaxis:
chmod [modificadores] permisos archivo/directorio
Donde:
modificadores es opcional, y el valor más significativo que puede tomar es:

-R: aplica el comando chmod recursivamente a todos los archivos y subdirectorios.

permisos corresponde a uno de los modos que se describen a continuación, y enumera los tipos de permisos que se brindan a las clases de usuarios.
archivo/directorio archivo o directorio al cual se otorga el permiso.
Permisos básicos

Existen tres permisos independientes, llamados permisos básicos, que pueden ser permitidos (estado 1) o denegados (estado 0) a un archivo y/o directorio.

 r - lectura: Ver el contenido del archivo / Ver el nombre de los archivos dentro del directorio (pero sin poder acceder a El)

 w - escritura: Modificar o eliminar el archivo / Agregar, eliminar y renombrar archivos del directorio
 x - ejecución: Ejecutar el archivo / Recorrer su árbol para acceder archivos y subdirectorios, pero no ver los archivos dentro del directorio (excepto que se le de el permiso de lectura)

Clases de usuarios

Los permisos de sistemas UNIX se dividen en cuatro clases, conocidas como usuario, grupo, otros y todos (con frecuencia abreviado UGOA por sus siglas en inglés).
Por lo tanto, las clases de usuarios a los cuales se les puede asignar los permisos básicos anteriormente mencionados son:

 u – dueño: dueño del archivo o directorio
 g – grupo: grupo al que pertenece el archivo
 o – otros: todos los demás usuarios que no son el dueño ni del grupo
 a – todos: incluye al dueño, al grupo y a otros

Los permisos efectivos aplicados a un determinado usuario en relación a un archivo se determinan en un orden lógico de precedencia. Por ejemplo, el usuario propietario del archivo tendrá los permisos efectivos dados a la clase de usuario, sin importar los asignados a la clase de grupo o a la clase de otros.

Asignación de permisos en el comando chmod

Existen 2 formas o modos de asignar los permisos a los usuarios:
Modo octal o absoluto
Como resultado de la combinación de los tres tipos de permisos (lectura, escritura y ejecución), con las tres clases de usuarios (dueño, grupo y otros), se obtiene 23 = 8 permisos en total que pueden ser asignados o denegados de forma independiente.
La base 8 se utiliza habitualmente para que exista un dígito por cada combinación de permisos (un bit a modo de bandera por cada permiso, con valor 1 ó 0 según el permiso esté concedido o denegado).
Así, las posibles combinaciones se resumen en números octales de tres dígitos del 000 al 777, cada uno de los cuales permite setear un tipo de permiso distinto a cada clase de usuario:
El primer dígito setea el tipo de permiso deseado al dueño; el segundo al grupo; y el tercero al resto de los usuarios.

Por ejemplo:
# chmod 766 file   # brinda acceso total al dueño
                            # y lectura y escritura a los demás

# chmod 770 file     # brinda acceso total al dueño y al grupo
                              # y elimina todos los permisos a los demás usuarios
# chmod 644 file   # setea lectura y escritura al dueño,
                            # lectura al grupo,
                           # y lectura al resto

Modo carácter o simbólico

El comando chown se utiliza para cambiar el dueño y el grupo de un fichero. Existe también el comando chgrp que se emplea de forma similar pero para cambiar el grupo solamente. El dueño de un fichero solo lo puede cambiar el usuario root mientras que el grupo además de root, lo puede cambiar el propio dueño, siempre que pertenezca al nuevo grupo.
Sintaxis:
chown [opciones] <dueño>[.grupo] <ficheros>
chown [opciones] .<grupo> <ficheros>

Opción:
-R en los directorios cambia el dueño y/o el grupo recursivamente.
Ejemplos:

Si un archivo tiene estos propietarios:
# ls -l /etc/hosts
-rw-r--r-- 1 root root 1013 Oct 3 13:11 /etc/hosts
... y se ejecuta:

# chown admin /etc/hosts
... el nuevo propietario del archivo sería admin, tal y como se muestra:
# ls -l /etc/hosts
-rw-r--r-- 1 admin root 1013 Oct 3 13:11 /etc/hosts
Otro ejemplo:
# chown user1 *
...cambia el propietario a todos los archivos y directorios del directorio actual. Todos pasarán a pertenecer al usuario user1.
# chown -R user1 *
...además entraría recursivamente en todos los subdirectorios descendientes y cambiaría el propietario a todos los archivos y directorios que hubiera.
# chown -R user1:grupox /ABC/DEF
En este último se asigna el usuario (user1) y el grupo (grupox) al directorio /ABC/DEF, recursivamente.
Otros Ejemplos:
# chown armando:armando tesis/
# chown –R root /tmp/oculto
# chown :ftp /usr/ftp


___________________________________________________________________________________

Para descargar la segunda sesion de la clase del diplomado de linux y ademas se tomaron 4 avaluaciones.

Material Linux

Practicas 

.

.

.

.

.