Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
sistema:linux:howto [2010/05/22 08:40] alfred |
sistema:linux:howto [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== Sistema Linux (old) ====== | ====== Sistema Linux (old) ====== | ||
| - | |||
| - | ===== Gestión de usuarios y grupos ===== | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ==== Gestión de usuarios ==== | ||
| - | Comandos: | ||
| - | * **adduser usuario** Como root añade un usario al sistema preguntandote sus características. Puedes crear un usuario sin necesidad de que te vaya preguntando sus características con **useradd**. | ||
| - | * -d Directorio personal | ||
| - | * -s Shell | ||
| - | * -p Password | ||
| - | * -g Grupo principal | ||
| - | * -G Otros grupos | ||
| - | * -m Crear el directorio personal ahora (si no cuando inicie) | ||
| - | * **usermod usuario** Con los mismos parámetros que useradd puedes modificar un usuario. | ||
| - | * **userdel usuario** Elimina un usuario. | ||
| - | * **passwd** Cambia la contraseña del usuario actual. | ||
| - | * **passwd usuario** Como root, cambia la contraseña del usuario | ||
| - | * **id usuario** Devuelve información de los identificadores de usuario\grupo del indicado | ||
| - | * **groupadd grupo** Añade un grupo al sistema | ||
| - | * **groupdel grupo** Elimina un grupo del sistema | ||
| - | * **chsh** Cambia de shell con el que inicia un usuario | ||
| - | |||
| - | |||
| - | ==== Ficheros ==== | ||
| - | * **/etc/passwd** Donde se guarda la info del usuario | ||
| - | * **/etc/shadows** Donde se guardan los passwords | ||
| - | * **/etc/group** Donde se guarda la relación grupos-usuarios | ||
| - | * **/etc/skel** Directorio que se copia en la home del usuario al crearse esta | ||
| - | * **/etc/shells** Donde se encuentran todos los shells que pueden ser asignados a un usuario | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ==== Gestión de permisos ==== | ||
| - | Comandos: | ||
| - | * **chown usuario fichero\directorio** Cambia de propietario el fichero o directorio | ||
| - | * -R para un árbol de directorios | ||
| - | * **chgroup grupo fichero\directorio** Cambia de grupo el fichero o directorio | ||
| - | * **chmod modo fichero\directorio** Cambia los permisos de un fichero\directorio | ||
| - | * -r Hace el cambio para todo el árbol de directorios | ||
| - | * El //modo// se refiere a qué permisos se darán; generalmente se dan de forma octal, 3 números octales del 0 al 7. Uno de estos tres números es como un binario del 000 (0) al 111 (7), es decir, que contiene tres 1\0 dentro, estos 1s o 0s significan activo\inactivo, el primero es de lectura, segundo de escritura y tercero de ejecución. Y estos octales se dan (primero) usuario, (segundo) grupo, (tercero) otros. | ||
| - | * El //modo// también puede indicarse cómo +r, +w, +x o -r, -w, -x, si se quiere (+) dar (lectura, escritura o ejecución) o quitar (-). | ||
| - | <code>chmod 777 fichero -> dá todos los permisos al fichero (111 111 111) | ||
| - | chmod 700 fichero -> dá todos los permisos al usuario, a los demás nada (111 000 000) | ||
| - | chmod 760 fichero -> dá todos los permisos al usuario, al grupo todos excepto ejecución y ninguno a los demás (111 110 000) | ||
| - | chmod 655 fichero -> dá todos los permisos al usuario excepto el de ejecución, al grupo y a los demás permite leer y ejecutar. | ||
| - | </code> | ||
| - | |||
| - | |||
| - | ==== Notas ==== | ||
| - | * Para crear un usuario sin shell ni directorio: | ||
| - | <code> | ||
| - | adduser smbadmin --shell /sbin/nologin --no-create-home | ||
| - | </code> | ||
| - | |||
| - | ===== Ejecutar como administrador ===== | ||
| - | |||
| - | ==== su ==== | ||
| - | |||
| - | Es una utilidad que permite a los usuarios independientemente administrar la máquina cual root se tratase. Su sintaxis es //sudo comando//; en el archivo ///etc/sudoers// encontramos su configuración, que se basa en indicar qué usuarios pueden hacer qué cosas (puede ser configurado mediante el comando //visudo//). | ||
| - | |||
| - | ==== /etc/sudoers ==== | ||
| - | * Sintaxis: **[usuarios|grupos] [Nombre de servidor]= comandos** | ||
| - | * Tanto los comandos como los usuarios van separados por comas. (Para indicar nombres de grupo pondremos antes un %, por ejemplo: %users). | ||
| - | * Podemos cambiar tanto usuarios, grupos, comandos por ''ALL'', que significan que son todos los usuarios del sistema o todos los comandos. | ||
| - | * Si quieres seguir en otra línea, deberás acabar esa línea con \. | ||
| - | * ''NOPASSWD :'' delante de los comandos indica que no tendrá que introducir el password del root. | ||
| - | |||
| - | Ejemplos | ||
| - | peter, %operator ALL= /sbin/, /usr/sbin, /usr/local/apps/check.pl | ||
| - | %operator ALL= NOPASSWD: /sbin/ | ||
| - | ALL ALL=NOPASSWD: ALL | ||
| - | |||
| - | * El primer ejemplo permite a ''peter'' y a los usuarios del grupo ''operator'' (en todos los servidores) ejecutar con sudo los comandos de: ''/sbin/, /usr/sbin, /usr/local/apps/check.pl'' | ||
| - | * El segundo a los usuarios del grupo operator en todos los servidores y sin necesidad de introducir el password los comandos de /sbin | ||
| - | * El tercero tal vez sea ''la peor idea de la larga y triste historia de las malas ideas''. | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ==== Notas ==== | ||
| - | * Un ''grep sudo /var/log/messages'' te permitirá ver los comandos ejecutados con sudo | ||
| - | * Si queremos conectar como ''su'' a partir de ''sudo'' haremos: ''sudo su''. | ||
| - | |||
| - | |||
| - | |||
| - | ===== Instalación de software ===== | ||
| - | |||
| - | |||
| - | ==== apt ==== | ||
| - | Utilizamos el apt, un sistema de Debian para administrar los paquetes de instalación (.deb). Su sintaxis es la siguiente: **apt[-get|-cache...]** //<opción> <paquete>// | ||
| - | * Instalar: **apt-get install paquete** | ||
| - | * Desinstalar: **apt-get remove paquete** | ||
| - | * Desinstalación total (hasta archivos de configuración): **apt-get --purge remove paquete** (//fíjate: - - purge//) | ||
| - | * Actualización: **apt-get upgrade paquete** | ||
| - | * Acutalización del sistema: **apt-get upgrade** y **apt-get dist-upgrade** | ||
| - | |||
| - | apt utiliza el fichero **/etc/apt/sources.list** para almacenar las direcciones de los paquetes que tiene disponibles y resolver así las dependencias de estos. Cada una de las direcciones apuntan a una carpeta donde existe un archivo //override// (un indice de los archivos). Por ejemplo: \\ | ||
| - | deb http://192.168.1.2:468/debian/disk1/ sarge contrib | ||
| - | Una vez editado este archivo deberemos hacer un **apt-get update** para actualizar la caché de instalables registrados. | ||
| - | |||
| - | Para buscar paquetes de instalación o inspeccionar sus características: | ||
| - | * Buscar: **apt-cache search paquete** | ||
| - | * Detalles: **apt-cache show paquete** | ||
| - | * Limpiar chaché: **apt-get clean** | ||
| - | |||
| - | Si queremos reparar\finalizar instalaciones inacabadas: | ||
| - | * **apt-get -f install** | ||
| - | |||
| - | |||
| - | ==== dpkg ==== | ||
| - | * Listar paquetes instalados: **dpkg -l** | ||
| - | * Instalar: **dpkg -i paquete** | ||
| - | * Eliminar: **dpkg -r paquete** | ||
| - | * Eliminar (todo, hasta archivos de configuración): **dpkg --purge paquete** (//fíjate, es: - - purge//) | ||
| - | * Ver qué archivos corresponden a un paquete: **dpkg -S paquete** | ||
| - | * Volver a lanzar la aplicación de configuración: **dpkg-reconfigure paquete** | ||
| - | |||
| - | |||
| - | ==== Otros ==== | ||
| - | * **aptitude** es un programa que, de forma más avanzada, también gestiona los archivos instalados. | ||
| - | * **alien** es un programa que convierte un archivo .rpm o .tgz a .deb | ||
| - | * //alien -d fichero// | ||
| - | * //alien -i fichero// - Lo convierte y lo instala. | ||
| - | * **apt-rdepends**: Muestra el arbol de dependencias de un paquete. | ||
| ===== mount & fstab ===== | ===== mount & fstab ===== | ||
| Línea 311: | Línea 180: | ||
| </code> | </code> | ||
| - | |||
| - | |||
| - | |||
| - | ===== Configuración de red ===== | ||
| - | |||
| - | ==== ifconfig ==== | ||
| - | El comando ''ifconfig -a'' nos dará información de las tarjetas instaladas, la ip que tienen asignada, las IRQs que utilizan, sus puertas de enlace... Pero este comando también nos permite cambiar la ip e indicar una estática: //ifconfig <interface de red> <ip> netmask <mascara> up// | ||
| - | ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up | ||
| - | |||
| - | ==== Añadir puerta de enlace ==== | ||
| - | route add default gw <ip> <interfaz de red> | ||
| - | route add default gw 192.168.1.1 eth0 | ||
| - | |||
| - | ==== Ver tu routing table ==== | ||
| - | netstat -nr | ||
| - | |||
| - | ==== /etc/hosts ==== | ||
| - | Este archivo enlaza IPs con nombres de máquina. Por ejemplo si queremos hacer un ping a "winPC" pondremos: <ip> winPC. Por ejemplo, en mi actual linux tengo: | ||
| - | 127.0.0.1 localhost.localdomain localhost arturito | ||
| - | De esa forma, cuando voy a localhost o a arturito (por http, ping, telnet...) me lo reconoce como la máquina propia (127.0.0.1 - También llamada interface ''loopback''). | ||
| - | |||
| - | ==== /etc/network/interfaces ==== | ||
| - | Este fichero únicamente existe en distribuciones Debian\Ubuntu. Corresponde a la configuración principal para estas distribuciones de las interfaces de red. Se divide en las siguientes "stanzas", apartados: | ||
| - | * **auto**: Interfaces que se inicializarán cuando se inicialice el sistema | ||
| - | <code>auto eth0</code> | ||
| - | * **mapping**: [Mapea la red según un script] | ||
| - | * **iface**: Se definen las características de una interface. Para ello se usa la siguiente sintaxis: //iface <interface> <protocolo> <tipo de direccionamiento> [características]// Donde: | ||
| - | * Interface corresponde al nombre (eth0, eth1, wlan0...) | ||
| - | * Protocolo es //inet// si hablamos de una IP normal, //inet6// si es IPv6 o //ipx// para IPX. | ||
| - | * El tipo de redireccionamiento: //static// (estático) o //dhcp// (por dhcp) | ||
| - | * Las características se refieren a las direcciones de los distintos elementos: //address//, //netmask//, //network//, //broadcast//, //gateway//, //dns-nameservers//. | ||
| - | Ejemplo para red TCP/IP dada por DHCP: | ||
| - | <code> | ||
| - | auto eth0 | ||
| - | iface eth0 inet dhcp | ||
| - | </code> | ||
| - | Ejemplo para una interface con ip estática: | ||
| - | <code> | ||
| - | auto eth1 | ||
| - | iface eth1 inet static | ||
| - | address 216.10.119.240 | ||
| - | netmask 255.255.255.224 | ||
| - | network 216.10.119.224 | ||
| - | broadcast 216.10.119.255 | ||
| - | gateway 216.10.119.241 | ||
| - | dns-nameservers 216.10.119.241 | ||
| - | </code> | ||
| - | |||
| - | |||
| - | ==== Notas ==== | ||
| - | * ''ifup eth0'' y ''ifdown eth0'', activan y desactivan (respectivamente) la interface eth0 | ||
| - | * **/etc/inetd.conf** es el fichero de configuración de servicios de red | ||