(P) Hugo Napoli, 2019
Imagen: https://www.networkworld.com/article/3334781/suse-releases-enterprise-linux-for-all-major-arm-processors.html
Esta instalación fue concebida para una máquina portátil convencional, de prestaciones básicas.
También fue muy importante que el tiempo invertido en la concreción de este proyecto no fuera excesivamente "largo".
La idea, es presentar una guía rápida y útil, y a su vez, también rápidamente, poner un servidor Linux a funcionar, sin mucho trámite ni burocracia.
La idea, es presentar una guía rápida y útil, y a su vez, también rápidamente, poner un servidor Linux a funcionar, sin mucho trámite ni burocracia.
Para la preparación de un servidor de mayor "potencia", habría que hacerle un montón de ajustes a este artículo, o bien, escribir otro, únicamente para ello.
Hemos tenido en cuenta a aquellos procedimientos que representan un trabajo muy tedioso al ser realiozados desde la consola, y para alivianar la carga laboral, los realizaremos sirviéndonos del entorno gráfico que facilita OpenSuSE durante la fase de instalación.
Es importante aprovechar el entorno gráfico, sin desmerecer al resto de las herramientas disponibles. Luego, todo se reducirá a una pantalla negra y un teclado.
Dejaremos para después, entonces, únicamente aquello que sea más o menos sencillo de realizar en modo consola.
Parte I/III: preparación de OpenSuSE.
MODO "GRÁFICO"
Particionado.
Considerando que el servidor poseerá una partición especialmente dedicada a datos (fuera de "home"), reduciremos el tamaño de home a un mínimo aceptable, cuando en realidad debería ser mucho más grande en una instalación estandarizada.
Tamaños para las particiones:
boot: 512 MB,
root: 20 GB,
tmp: 10 GB,
swap: 4 GB (o igual de "grande" que la cantidad de memoria RAM instalada en el equipo),
home: 8 GB,
datos: todo el espacio restante libre.
La partición "datos", deberá ir montada en "/datos", con la opción "el usuario puede montar la partición".
Arranque.
Marcaremos la opción en Grub2 acerca de proteger con contraseña el cargador de arranque (es recomendable utilizar una contraseña diferente a la del usuario root, para aumentar la seguridad del sistema).
Si este paso no se realiza en este momento (durante la instalación), será bastante difícil llevarlo a cabo después, puesto que no habrá escritorio ni ventanas en donde hacer clic, buscar información, etc.
Desmarcaremos la opción de "buscar sistemas operativos foráneos", ya que OpenSuSE será el único en este ordenador.
Desmarcaremos la opción de "buscar sistemas operativos foráneos", ya que OpenSuSE será el único en este ordenador.
Repositorios.
Repositorios no oficiales y no open source se han desestimado.
Por consiguiente, únicamente se han utilizado los dos oficiales y de código abierto (no packman, ni libdvdcss, ni ningún otro).
Puertos y servicios.
Puerto y servicio SSH: abiertos
Red.
Podemos configurar la IP estática del servidor durante esta fase, así también como el encaminamiento y los distintos atributos del nombre de "host", pero lo explicaremos breve y detalladamente más abajo, en "modo consola".
Software adicional.
Marcar para instalar mysql-workbench
Los servicios más utilizados, probablemente sean samba y este que acabamos de citar.
Finalizar la instalación.
MODO "CONSOLA"
Iniciar sesión como usuario root antes de proseguir
Más ajustes en el cargador de arranque.
Reducción del tiempo de espera para la carga del sistema.
El tiempo "por omisión" del cargador de arranque (Grub) en OpenSuSE es de 8 segundos.
Durante este tiempo (y si no se pulsa Enter) Grub espera a que el usuario pulse la tecla "e" para pasarle parámetros de inicio al sistema.
Esto puede ser útil una vez cada cierto tiempo, o bien puede no ser necesario en absoluto.
Lo cierto, es que no es útil para el día a día, por lo tanto, lo reduciremos a 1 segundo.
A partir de ahora, si alguien necesita pasarle parámetros a Grub, será mejor que se preocupe por estar muy atento a la pantalla de arranque.
Escribiremos, entonces:
nano /etc/default/grub (y daremos "Enter")
Cambiaremos GRUB_TIMEOUT=8 por GRUB_TIMEOUT=1
CTRL + O y ENTER para confirmar los cambios y guardar, y
CTRL + X para finalizar la edición del archivo de arranque.
No buscar sistemas operativos foráneos.
Cuando hay más de 1 sistema instalado en la misma máquina, es correcto mantener esta configuración tal como viene por omisión, pero, tratándose de la búsqueda de la reducción máxima de los tiempos de arranque del servidor, cambiaremos la línear GRUB_DISABLE_OS_PROBER="false" por GRUB_DISABLE_OS_PROBER="true"
Con esto, nos aseguraremos que OpenSuSE será el único sistema que Grub "verá"; por lo tanto, no "perderá tiempo" buscando a otros.
Adicional.
Se puede emitir un pitido al iniciarse Grub (muy recomendable para máquinas que no van a tener conectado un monitor para poder comprobar visualmente su estado), activando la línea GRUB_INIT_TUNE="480 440 1".
Para ello, simplemente debemos quitarle (a dicha línea) el símbolo # (y posiblemente el espacio) que la misma posee al inicio.
Al finalizar con estos cambios, debemos escribir en la consola lo siguiente:Para ello, simplemente debemos quitarle (a dicha línea) el símbolo # (y posiblemente el espacio) que la misma posee al inicio.
grub2-mkconfig -o /boot/grub2/grub.cfg
Pulsaremos "Enter", entonces, para terminar de reconfigurar Grub.
Creación de usuarios del sistema.
El comando necesario para ello, es "useradd". Los parámetros "-m" y "-d", hacen que el usuario sea creado con directorio home incluido (y, por consecuencia, con sus directorios personales "Descargas", "Documentos", Escritorio", "Imágenes", etc.). A la misma línea, puede agregársele un comentario (atributo --comment), el cual será el "nombre fantasía" del usuario en cuestión.
Así se escribe:
useradd -m -d /home/estudiante estudiante --comment "Estudiante Liceo IEP"
Inmediatamente, habrá que establecer una contraseña para el inicio de sesión en OpenSuSE, y para ello, ejecutaremos lo siguiente:
passwd estudiante
Crearemos, de este modo, todos los usuarios de sistema que sean necesarios.
Al finalizar, será necesario registrar la contraseña de cada usuario del sistema en Samba, para permitir a los usuarios del sistema conectarse con equipos de la intranet (o red a la cual ya estén conectados), o a equipos "remotos" (hacia y desde Internet).
Para esto, escribiremos lo siguiente y pulsaremos "Enter":
smbpasswd -a estudiante
Y así haremos con todos los usuarios del sistema (OpenSuSE) que queramos que posean las capacidades que acabamos de comentar, es decir, que puedan conectarse desde y hacia otras máquinas (Samba), ya sean estas "cercanas" o "remotas".
Dar nombre al equipo.
En Linux, el "nombre de host" o "nombre de equipo", puede poseer más de una denominación.
Lo que generalmente se considera, es el "host name" (o "static name"), pero existen también el "pretty name", el "icon name" (o "transient name") y otros.
El "host name", es el clásico "nombre de red" del equipo: es el nombre por el cual la máquina será identificada en la red.
hostnamectl set-hostname "servidor-linux" --static
El "pretty name" es mas bien la descripción del equipo, es decir, una idea del uso que se le da a ese ordenador (o del tipo de trabajo que en él se desempeña), expresada en pocas palabras.
hostnamectl set-hostname "Máquina del proyecto ITEX" --pretty
El "icon name" es el nombre de... no sé, pero existe XD
Generalmente, se utiliza para indicar el tipo de computadora, por ejemplo: servidor de datos, servidor http, servidor dhcp, máquina de escritorio, etc.
También, generalmente, no se dejan espacios al crear este nombre. Los mismos se sustituyen por guiones (signos de "menos").
hostnamectl set-icon-name "servidor-local-de-datos"
Para ver los cambios (o para consultar todos los nombres de un equipo), podemos ejecutar el comando:
hostnamectl
Conectar a través de la terminal a redes inalámbricas.
A través del servicio wicked (el que ya se está ejecutando en OpenSuSE):
* * * PROCESO PENDIENTE * * *
A través de Gnome Network Manager:
nmcli d wifi connect <SSID> password <CONTRASEÑA> iface <INTERFAZ_DE_RED>
Dar IP estática al equipo.
Para ver las conexiones físicas de red (es decir: ver con qué nombres lógicos OpenSuSE identifica a las conexiones físicas), ejecutaremos:
ip link show (o ip link)
Con esto, obtendremos algo parecido a lo que aparece aquí:
lo = loopback.
El dispositivo de red loopback es una interfaz de red virtual. La (...) dirección (...) [que] se utiliza, de forma mayoritaria, [es] la '127.0.0.1' (...), [añadiéndose] '::1' para el caso de IPv6 ('127.0.0.1::1').Las direcciones de loopback pueden ser redefinidas (...), y son usualmente utilizadas para probar la capacidad de la tarjeta interna [y ver] si se están enviando datos BGP [Border Gateway Protocol].[BGP] es un protocolo mediante el cual se intercambia información de encaminamiento entre sistemas autónomos. (...) Los proveedores de servicio registrados en Internet [,] suelen componerse de varios sistemas (...) [de este tipo].
Texto tomado de Wikipedia, con modificaciones del autor del post.
eth0 = ethernet 0
Conexión física tipo "RJ45" (cableada común).
wlan0 = wireless lan 0
Conexión física tipo "wifi" (inalámbrica común).
Una vez que sepamos a qué dispositivo (lo, eth0, wlan0, etc.) queremos asignarle una dirección IP fija, ejecutaremos:
ip addr add xxx.xxx.xxx.xxx/yy dev zzz
Siendo:
xxx.xxx.xxx.xxx = bits de la dirección de red, tales como 192.168.6.100
yy equivale a la máscara de red, y normalmente es "/24" (por "8 x 3 = 24"), lo cual equivale a los 3 primeros bit "encendidos" (en 255) y el último "apagado" (en 0): 255.255.255.0.
zzz es uno de los nombres que aparece cuando ejecutamos ip link show, y responde al dispositivo físico con el cual queremos trabajar.
Ejemplo general:
ip addr add 192.168.6.100/24 dev eth0
Luego de esto, habrá que apagar y encender la conexión de red, a los efectos de actualizarla:
ip link set eth0 down
ip link set eth0 up
Para visualizar esta información y comprobar que todo está bien, podemos ejecutar:
ip addr show zzz
Ejemplo:
ip addr show eth0
También es útil el comando ip route para esto mismo.
Habilitar e iniciar demonios Samba y NetBios.
Generalmente, los protocolos "Server Message Block" (smb) y "NetBios Message Block" (nmb), no están habilitados al inicio del sistema (y por consiguiente, tampoco están encendidos).
Lo que debemos hacer, es correr los siguientes comandos, para habilitarlos:
systemctl enable smb
systemctl enable nmb
Ahora que están habilitados, hay que encenderlos:
systemctl start smb
systemctl start nmb
Para comprobar el estado de actividad de ambos protocolos:
service smb status
service nmb status
Imagen de salida de consola de los comandos "service smb status" y "service nmb status", en un equipo al cual no se le habían habilitado ni activado los protocolos smb y nmb previamente:
Imagen de salida de consola de los comandos "service smb status" y
"service nmb status", en un equipo al cual se le acaban de habilitar (pero no de
activar) los protocolos smb y nmb:
Imagen de salida de consola de los comandos "service smb status" y
"service nmb status", en un equipo al cual se le acaban de habilitar y activar los protocolos smb y nmb. Ahora sí, el sistema está listo para comenzar a actuar como servidor de datos:
Parte II/III: preparación de Samba y NFS.
Creación y preparación de directorios.
Anteriormente, habíamos creado un directorio en el directorio raíz del sistema:
/datos
Algo bien importante es tener en claro que los permisos de acceso debería otorgarlos samba, según la información dentro de "smb.conf", no el sistema (OpenSuSE).
Imaginemos los casos siguientes:Linux permite acceder a /datos, pero Samba no. Resultado: fracaso.
Linux no permite acceder a /datos, pero Samba sí. Resultado: fracaso.
Linux permite acceder a /datos, y Samba también. Resultado: éxito.
Evidentemente, quien obligatoriamente debe permitir el acceso es Samba, ya que los equipos que se conectarán al servidor, lo harán a traves de su protocolo.
Se pueden establecer credenciales de acceso a través de permisos de Linux y Samba, conjuntamente, pero eso implicaría un trabajo más pormenorizado que tendría que ver con la asignación de permisos diversos (lectura, ejecución, escritura) por usuario y por grupo en Linux, que no veremos en este artículo.
Por consiguiente, dejaremos "via libre" (en Linux) al directorio "/datos", y controlaremos su acceso únicamente a través de Samba, solo por temas de practicidad.
Como solamente el usuario "root" puede escribir en el mencionado directorio, haremos:
chmod 777 /datos
chmod = change mode.
Luego de esto, crearemos los directorios "00_info" y "datos_de_usuario", dentro de /datos:
cd /datos
md 00_info
md datos_de_usuario
cd = change directory.
md = make directory.
De nuevo, daremos via libre (en Linux) a los directorios recientemente creados, para que Samba controle totalmente el acceso al mismo:
chmod 777 00_info
chmod 777 datos_de_usuario
Respaldo y modificación del archivo Samba.
Conviene -siempre antes de manipular un archivo esencial para el sistema- realizar una copia del mismo (con otro nombre, lógicamente).
Haremos una copia, entonces, de "smb.conf", y la llamaremos "smbANT.conf":
cd /etc/samba
cp smb.conf smb_ANT.conf
cp = copy
Ahora que estamos trabajando sobre seguro, utilizaremos el editor "nano" para editar el archivo Samba:
nano smb.conf
Traduciremos los encabezados al español.
Cambiaremos [homes] por [directorios_home].
Cambiaremos [profiles] por [perfiles], y así con todos los encabezados.
Luego, continuamos con la primera línea de cada encabezado:
workgroup = WORKGROUP, por workgroup = aula (puede ser cualquier palabra, no precisamente debe ser "aula").
comment = Home Directories, por comment = Directorios 'home'.
comment = All users, por comment = Usuarios, y así con todas las líneas "comment" que haya.
Al final de todo, agregaremos:
[00_info]
comment = Reglamentación e información del uso del servidor.
path = /datos/00_info
readonly = yes
valid users = root,estudiante,sololectura
[datos_de_usuario]
comment = Directorio de datos del servidor OpenSuSE Linux.
path = /datos/datos_de_usuario
readonly =no
valid users = root,estudiante,sololectura
CTRL + O ENTER
CTRL + X
Ahora es momento de ejecutar systemctl restart nmb (reinicio
de NetBios), puesto que hemos alterado información en el encabezado
[global] y hay que informárselo a toda la intranet (o a la red).
debido a que todos los demás encabezados también han sido editados, también debemos ejecutar systemctl restart smb para el reinicio de Samba.
Ahora, pondremos un archivo de texto dentro del directorio 00_info (opcional).
cd /datos/00_info
Con "echo" escribiremos cada línea, y con ">>" nos aseguraremos de que lo que previamente existía en el archivo, no sea borrado por lo que estemos escribiendo a continuación.
Ejemplos.
I
echo "Hola." > info.txt
echo "¿Qué tal?" > info.txt
Resultado:
El archivo "info.txt" posee el contenido "¿Qué tal?", el cual sobreescribió (y por lo tanto, borró) al contenido "Hola." que existía previamente. ">", implica "sustituír".
II
echo "Hola." >> info.txt
echo "¿Qué tal?" >> info.txt
Resultado:
El archivo "info.txt" posee el contenido
Hola.
¿Qué tal?
Esto es así, porque el indicador ">>" implica "agregar".
Para crear un archivo con varias líneas de texto dentro, escribiremos cada una de las líneas siguientes, pulsando ENTER al final de cada una de ellas.
echo "Reglamentación e información importante." >> info.txt
echo "---------------------------------------- >>" info.txt
echo "Al utilizar este servidor de datos, ud se compromete a no alojar archivos" >> info.txt
echo "que no sean de trabajo, tales como películas, álbumes musicales, respaldos" >> info.txt
echo "personales, etc." >> info.txt
echo "Ud. también entiende que este es un servicio que no posee garantía, ya que" >> info.txt
echo "se brinda únicamente para la seguridad y flexibilidad del usuario." >> info.txt
echo "La no lectura de este documento, no es causa para que se efectúen reclamos" >> info.txt
echo "por falta del servicio, pérdida o alteración de datos, etc." >> info.txt
echo "Por otra parte, le aseguramos que mantendremos en condiciones el servidor." >> info.txt
echo "Al mismo, se le realizarán tareas de mantenimiento y respaldo de la información," >> info.txt
echo "de ser posible. Se lo protegerá de ataques externos, pero no del mal uso" >> info.txt
echo "de los usuarios habilitados." >> info.txt
echo "Disfrute a Linux. Sea bienvenido, and have a lot of fun!" >> info.txt
Parte III/III: configuración del cortafuegos.
Cortafuegos o firewall.
Habilitar e inhabilitar el cortafuegos.
systemctl enable firewalld
systemctl disable firewalld
Iniciar y detener el cortafuegos.
systemctl start firewalld
systemctl stop firewalld
Algunos comandos más a tener en cuenta.
init 6: reiniciar equipo
init 0: apagar el equipo
Este artículo está dedicado al grupo de 3er. año de Informática (egreso 2019) de Liceo IEP.
1era. actualización: 22/10/2019.
2a. actualización: 24/10/2019.
3a. actualización: 28/10/2019.
3a. actualización: 28/10/2019.
Fuentes consultadas:
Centro Linux
https://cubiclenate.com/linux/system-configuration/simple-samba-setup/
https://www.freedesktop.org/software/systemd/man/hostnamectl.html
https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.grub2.html
https://unix.stackexchange.com/questions/422104/make-grub-boot-on-default-without-waiting
https://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-samba-daemons.html
https://www.linuxbabe.com/command-line/ubuntu-server-16-04-wifi-wpa-supplicant
https://www.initpals.com/suse/how-to-enable-or-disable-firewall-in-sles-15/
https://upcloud.com/community/tutorials/troubleshoot-network-connectivity-linux-server/
https://www.tecmint.com/linux-networking-commands/
https://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-samba-servers.html
https://www.sergio-gonzalez.com/doc/10-ldap-samba-cups-pykota/html/samba-configuracion-estructura-smb.conf.html
https://es.wikipedia.org/wiki/Loopback
https://es.wikipedia.org/wiki/Border_Gateway_Protocol
https://www.howtogeek.com/177621/the-beginners-guide-to-iptables-the-linux-firewall/
No hay comentarios.:
Publicar un comentario