Está en la página 1de 21

SSH

Características de SSH

Llaves publicas

Generar Llaves publicas

Autentificación de las llaves publicas

Algoritmo de cifrado de contraseñas utilizado por SSH

Historia:

En los años 60’s el protocolo de acceso remoto era telnet, siendo este un protocolo de
comunicaciones inseguro, debido a que se cualquier host en la red podía leer y ver el tráfico, SSH
encripta la información haciendo uso de llaves , se debe tener al menos un cliente para acceder al
server, la primera vez que se conecta solicita “key fingerprint” (mensaje de advertencia) es una
huella digital que permite identificar el server, cuando se realice una nueva conexión a este
servidor, se debe ingresar el texto “yes” para validar el proceso y finalmente se hará la verificación
de la contraseña del usuario, si se ingresa por segunda vez el fingerprint es reconocido dado a
que la huella ya se encuentra almacenada y es reconocida como equipo destino y solamente
tendrá que validar la contraseña del usuario

a. Implemente una topología de red similar a la del grafico siguiente. Esta puede ser
realizada en maquinas reales o bien en máquinas virtuales.
b. Instale el servicio ssh, desde la línea de comandos, en el equipo Linux que hará las veces
de servidor. Para esto utilice el archivo de instalación suministrado por el Instructor.
c. Elimine todos los archivos del directorio /root/.ssh/ tanto del lado cliente como del
servidor Linux, y genere un par de llaves (publica / privada), desde la línea de comandos
del equipo Linux que hará las veces de cliente, y cópiela al equipo Linux que hará las veces
de servidor. Una vez hecho esto, inicie una sesión en el equipo servidor utilizando la
contraseña cifrada y ejecute algunos comandos desde la Shell del cliente.
d. Una vez probada la conexión SSH del punto anterior, cierre todas las sesiones abiertas y
configure SSH para que acepte peticiones por el puerto TCP 70000. Reinicie el servicio
correspondiente.
e. Ejecute los comandos apropiados para copiar al servidor, de forma segura, una carpeta
completa llamada dir_prueba, la cual estará en /root del equipo cliente. La carpeta
contendrá los archivos informe1.pdf hasta informe10.pdf. Verifique que los archivos han
sido copiados de manera correcta.
f. Ahora descargue de forma segura, desde el equipo cliente, una carpeta llamada
/root/consolidados/ la cual está en el equipo servidor y contiene los archivos
enero_2010.xls a diciembre_2010.xls. Verifique que los archivos han sido copiados de
manera correcta
Recomendación actualizar SO, Librerías y repositorios. (upgrade-makecache)

Verificar estado del servicio

[root@dns1 juan]# rpm -q openssh-server

openssh-server-8.7p1-8.el9.x86_64

[root@dns1 juan]# rpm -qa | grep ssh

libssh-config-0.9.6-3.el9.noarch

libssh-0.9.6-3.el9.x86_64

openssh-8.7p1-8.el9.x86_64

openssh-clients-8.7p1-8.el9.x86_64

Instalar el servicio

[root@dns1 juan]# dnf install openssh-server

Instalado:

openssh-server-8.7p1-8.el9.x86_64

¡Listo!

Ir a la ruta del directorio

[root@dns1 juan]# cd /etc/ssh

Listar archivos

[root@dns1 ssh]# ls

moduli ssh_host_ecdsa_key ssh_host_rsa_key

ssh_config ssh_host_ecdsa_key.pub ssh_host_rsa_key.pub

ssh_config.d ssh_host_ed25519_key

sshd_config.rpmsave ssh_host_ed25519_key.pub

Hacer prueba con MobaXterm

Se requiere que el server este en modo puente y que se encuentre en el mismo segmento del
equipo físico.

Hacer prueba desde el equipo físico a la IP wan del server


En el equipo cliente ingresar por powerShell de windows o un gestor de terminal remota de SO

Comando: ssh nombre de usuario@IP WAN del server puerto

PowerShell

PS C:\Users\Juan Agredo> ssh sshjuan@192.168.2.69

sshjuan@192.168.1.66's password:

Last login: Thu Mar 17 22:27:11 2022 from 192.168.2.7

Se recomienda hacer la prueba inicial sin hacer configuración del archivo sshd_config

Ingrese algunos comandos de prueba

[sshjuan@dns1 ~]$ cd /home

[sshjuan@dns1 home]$ ls -l

total 4

drwx------. 14 juan juan 4096 mar 17 22:26 juan

drwx------. 3 sshjuan sshjuan 118 mar 17 22:26 sshjuan

Es importante validar las claves privadas color verde, para conocer la fingerprint se ingresan los
siguientes comandos:

[juan@dns1 home]$ cd /etc/ssh

[juan@dns1 ssh]$ ls -l

total 600

-rw-r--r--. 1 root root 578094 feb 22 07:32 moduli

-rw-r--r--. 1 root root 1921 feb 22 07:32 ssh_config

drwxr-xr-x. 2 root root 28 mar 15 11:03 ssh_config.d

-rw-------. 1 root root 3657 mar 15 21:29 sshd_config

drwx------. 2 root root 28 mar 15 11:03 sshd_config.d

-rw-r-----. 1 root ssh_keys 480 mar 15 10:44 ssh_host_ecdsa_key

-rw-r--r--. 1 root root 162 mar 15 10:44 ssh_host_ecdsa_key.pub

-rw-r-----. 1 root ssh_keys 387 mar 15 10:44 ssh_host_ed25519_key

-rw-r--r--. 1 root root 82 mar 15 10:44 ssh_host_ed25519_key.pub

-rw-r-----. 1 root ssh_keys 2578 mar 15 10:44 ssh_host_rsa_key


-rw-r--r--. 1 root root 554 mar 15 10:44 ssh_host_rsa_key.pub

Ver la fingerprint del server

[juan@dns1 ssh]$ ssh-keygen -l -f ssh_host_ecdsa_key.pub

256 SHA256:zznFGDKAEei1htCM+EuJ4+AN+LFKy1X+toattzjw15o no comment (ECDSA)

Explicación del comando:

ssh-keygen: Herramienta.
-l: indica a la herramienta ssh-keygen que muestre el fingerprint.
-f: especificar el nombre de una llave que se desea ver.
ssh_host_ecdsa_key.pub: Nombre de la llave que quiero averiguar el fingerprint.

Almacenar certificado público de mi maquina en el server: Generar certificado local en la maquina


y copiar el certificado público del equipo para autenticar en el servidor, el privado no se debe
copiar

Generar certificado publico de la maquina remota que se conecta al server la primera línea verde
es la ubicación de la clave publica, la segunda línea verde seria la clave privada

PS C:\Users\Juan Agredo> ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (C:\Users\Juan Agredo/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in C:\Users\Juan Agredo/.ssh/id_rsa.

Your public key has been saved in C:\Users\Juan Agredo/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:1roSD7wE6We9s+L9FELY8eAAJhjW8y1B11xfdziIbjA juan agredo@DESKTOP-3H0SK8F

The key's randomart image is:

+---[RSA 3072]----+

|.+o +o..= .o . oo|

|o = ..=E*. o + o|

| o.+ ++. . . |

| oo o .o |

| . o..S.o |
| . B..o . |

| + =... |

| +.+o |

| ..o++. |

+----[SHA256]-----+

PS C:\Users\Juan Agredo>

Ver certificado publico de la maquina cliente:

PS C:\Users\Juan Agredo> cat .ssh/id_rsa.pub

ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABgQDpAI8c5fsKU9uRxAb0/IoeAEc91walsn6SiQiVnnOxssWlrM
bkK0mbJWhiHhaTODUbtH+bnxXYZLjmYC5Ckf0aTUzeU7l7aKjxd+1dmf9nnXqT4H7Rl6HuV4VLWrcw
rPRuBivnIdUMdtI8oYczR7xFT9vZKdza3kM3nKF32qmUbKuhogHcKTbT6eN0H+xVBzDDzrrGb33y8fX
bCdMMnfB1wCu0fbIJWvAeFS04YmRmVH/iwryjuw2SrqBcPc00Bj/
WBPidaAXusBvVC9Pf6Dwl9BEvwEON8Y/bKzXI9/8uSpQPOw/
0f8UL+XLqNh23bgZ5kSu3h7eRJEhfU/YBD2mhnkPo/zi3tHTMSSXNPgV1yyNp7oX25XI+/
nsYsPpzefUFQm/
rXMPjIuHjaEJHcDlhnB+LSyIz59gKYEiYcuDvfKWRD0FjQsN7wsIbRjFJipIG4uvHXyPjxSJgYXn8UnGLFMb
YiYh7IkkogKPOwAEZ76LQBQsTVWQUFKNkCKnzxBs= juan agredo@DESKTOP-3H0SK8F

Nota: esta es la que se debe copiar!

PS C:\Users\Juan Agredo>Ahora de debe copiar la key publica en el server

Lo amarillo es que se esta en pruebas para dar mas seguridad al SHH ingresos por llaves publicas
y clientes registrados en la configuración del SSh

scp /root/.ssh/id_rsa.pub 192.168.1.101:/root/prueba/id_rsa.pub

ssh-copy-id -i /root/.ssh/id_rsa

Editando el archivo

Si no aparece el archivo se puede crear :

[root@localhost ssh]# cat ~/.ssh/id_rsa.pub | ssh prueba@192.168.1.101 "mkdir -p


~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/
authorized_keys"

cat: /root/.ssh/id_rsa.pub: No existe el fichero o el directorio

The authenticity of host '192.168.1.68 (192.168.1.68)' can't be established.


ED25519 key fingerprint is SHA256:Vhh2jJiXHR6Xamc0qwZ5ctfrvdYaJIUmL+FdkbQVrdQ.

This key is not known by any other names

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '192.168.1.68' (ED25519) to the list of known hosts.

juancho@192.168.1.68's password:

[root@localhost ssh]#

Configurar el archivo

[root@dns1 ssh]# nano /etc/ssh/sshd_config

Port 22

ListenAddress 192.168.2.69

PermitRootLogin no

MaxAuthTries 3

MaxSessions 10

FTP

Modelos de operación del FTP

Tipos de acceso al servidor FTP

a. Implemente una topología de red similar a la de la figura 3 siguiente. Esta puede ser realizada en
máquinas reales o bien en máquinas virtuales.

b. Instale el servicio vsftpd, desde la línea de comandos, en el equipo Linux que hará las veces de
servidor. Para esto utilice el DVD de instalación.

c. Cree y configure las cuentas de usuario ANA y CARLOS (con sus respectivas contraseñas), en el
servidor FTP, de modo que no tengan capacidad de login remoto, y además deben habilitarse
permisos, de lectura y escritura para el primer usuario, y de sólo lectura para el segundo. El acceso
anónimo debe deshabilitarse. Apóyese en el documento Material de Apoyo - Configuración y
Creación de Usuarios FTP.pdf. Nota: El tiempo de duración de la sesión FTP debe establecerse a 10
minutos.

d. Haga una conexión desde un cliente FTP (en modo texto), y pruebe que las cuentas de los
usuarios mencionados están activas. Además, que puedan realizarse operaciones de lectura /
escritura de archivos, de acuerdo a las condiciones establecidas en el punto anterior.
e. Cree y configure las cuentas de usuarios virtuales LUIS y JUAN, de modo que sólo puedan leer
archivos desde el servidor FTP. Apóyese en el documento Material de Apoyo - Creación de
Usuarios

Virtuales FTP Linux.pdf

f. Realice una conexión desde los clientes FTP, de modo que verifique la correcta creación de los
usuarios del punto anterior. Verifique también que las cuentas de usuarios: locales y anónima
están

impedidas por el servidor FTP

Instalación:

[root@dns1 sshjuan]# dnf install vsftpd -y

Instalado:

vsftpd-3.0.3-49.el9.x86_64

¡Listo!

[root@dns1 sshjuan]# rpm -q vsftpd

vsftpd-3.0.3-49.el9.x86_64

editar el archivo de configuración

Editar el archivo de configuracion

[root@dns1 vsftpd]# nano /etc/vsftpd/vsftpd.conf

Configurar los siguientes campos:

[root@dns1 sshjuan]# cd /etc/vsftpd

[root@dns1 vsftpd]# ls

ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh

Configurar el archivo

[root@dns1 vsftpd]# nano vsftpd.conf

ftpd_banner=Bienvenido al FTP service de GRD. Descomentar y editar

chroot_local_user=YES descomentar
al final ingresar este texto

allow_writeable_chroot=yes

Guarda y salir

Iniciar el servicio

[root@dns1 vsftpd]# systemctl start vsftpd

[root@dns1 vsftpd]# systemctl enable vsftpd

Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service →


/usr/lib/systemd/system/vsftpd.service.

[root@dns1 vsftpd]# systemctl status vsftpd

● vsftpd.service - Vsftpd ftp daemon

Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor pr>

Active: active (running) since Fri 2022-03-18 00:50:09 -05; 9min ago

Main PID: 3883 (vsftpd)

Ver SEGUDIRAD DE LINUX banderas asociadas a FTP

[root@dns1 sshjuan]# getsebool -a |grep ftp

ftpd_anon_write --> off

ftpd_connect_all_unreserved --> off

ftpd_connect_db --> off

ftpd_full_access --> off

ftpd_use_cifs --> off

ftpd_use_fusefs --> off

ftpd_use_nfs --> off

ftpd_use_passive_mode --> off

httpd_can_connect_ftp --> off

httpd_enable_ftp_server --> off

tftp_anon_write --> off

tftp_home_dir --> off

[root@dns1 sshjuan]# setsebool -P ftpd_full_access 1

[root@dns1 sshjuan]# getsebool -a |grep ftp


ftpd_anon_write --> off

ftpd_connect_all_unreserved --> off

ftpd_connect_db --> off

ftpd_full_access --> on

ftpd_use_cifs --> off

ftpd_use_fusefs --> off

ftpd_use_nfs --> off

ftpd_use_passive_mode --> off

httpd_can_connect_ftp --> off

httpd_enable_ftp_server --> off

tftp_anon_write --> off

tftp_home_dir --> off

Reiniciar el servicio

[root@dns1 sshjuan]# systemctl restart vsftpd

Crear cuentas locales que se conecta remotamente según permisos pero los usuarios in capacidad
de logue en el sistema operativo (s /sbin/nologin Pablo

[root@dns1 sshjuan]# useradd -g grdftp -d /home/Pablo -s /sbin/nologin Pablo

[root@dns1 sshjuan]# useradd -g grdftp -d /home/Lucia Lucia

[root@dns1 ~]# cd /home

[root@dns1 home]# ls

Jorge juan Lucia Pablo sshjuan

[root@dns1 home]# cd /home/Lucia

[root@dns1 Lucia]# mkdir Luci

[root@dns1 Lucia]# cd /home/Lucia/Luci

[root@dns1 Luci]# touch Luci {1..5}

[root@dns1 Luci]# ls

1 2 3 4 5 Luci

Ver los usuarios:

[root@dns1 sshjuan]# cat /etc/passwd


juan:x:1000:1000:Juan:/home/juan:/bin/bash

sshjuan:x:1001:1001::/home/sshjuan:/bin/bash

dhcpd:x:177:177:DHCP server:/:/sbin/nologin

named:x:25:25:Named:/var/named:/sbin/nologin

Pablo:x:1002:1002::/home/Pablo:/sbin/nologin

Jorge:x:1003:1002::/home/Jorge:/sbin/nologin

Lucia:x:1004:1002::/home/Lucia:/bin/bash

Asignar password a los usuarios creados

[root@dns1 sshjuan]# passwd Jorge

[root@dns1 sshjuan]# passwd Lucia

Cambiando la contraseña del usuario Lucia.

Nueva contraseña:

Vuelva a escribir la nueva contraseña:

passwd: todos los tokens de autenticación se actualizaron exitosamente.

Desabilitar SELINUX (SELINUX=enforcing)

[root@dns1 Jorge]# nano /etc/selinux/config

Abrir puertos y servicios en firewall

[root@dns1 sshjuan]# firewall-cmd --permanet --add-port=20/tcp

usage: see firewall-cmd man page

firewall-cmd: error: unrecognized arguments: --permanet

[root@dns1 sshjuan]# firewall-cmd --permanent --add-port=20/tcp

success

[root@dns1 sshjuan]# firewall-cmd --permanent --add-port=21/tcp

success

[root@dns1 sshjuan]# firewall-cmd --permanent --add-service=ftp

success

[root@dns1 sshjuan]# firewall-cmd --reload


Success

[root@dns1 vsftpd]# systemctl restart vsftpd

Se están haciendo pruebas omitir lo amarillo

[root@dns1 Jorge]# cd /home/Jorge

[root@dns1 Jorge]# mkdir Jorge

[root@dns1 Jorge]# ls

Jorge

[root@dns1 Jorge]# cd /home/Jorge/Jorge

[root@dns1 Jorge]# touch jorge{1..5}.txt

[root@dns1 Jorge]# ls

jorge1.txt jorge2.txt jorge3.txt jorge4.txt jorge5.txt

[root@dns1 Jorge]#

Hacer lo mismo en el directorio del usuario Pablo

Establecer ACL

Una ACL específica a qué usuarios o procesos del sistema se les otorga acceso a los objetos, así
como qué operaciones se les permiten a los objetos dados. Cada entrada especifica un tema y una
operación. Para trabajar con las Listas de Control de Acceso tenemos disponibles dos herramientas
fundamentales, que son:

getfacl: Muestra información de los permisos de ficheros y carpetas

setfacl: Modifica las ACL de dichos ficheros y carpetas

[root@dns1 Jorge]# setfacl -Rm u:Jorge:rw-,g::---,o::--- /home/Jorge/

[root@dns1 Jorge]# setfacl -Rm u:Pablo:r--,g::---,o::--- /home/Pablo

[root@dns1 Jorge]# getfacl /home/Jorge

getfacl: Eliminando '/' inicial en nombres de ruta absolutos

# file: home/Jorge

# owner: Jorge

# group: grdftp
user::rwx

user:Jorge:rw-

group::---

mask::rw-

other::---

Se crean dos permisos (ACL) con el comando setfacl para los usuarios Jorge (permiso de lectura y
escritura) y Pablo (permiso de solo lectura). Se utiliza el comando getfacl para ver en el directorio
de Jorge la creación de los permisos

Para ver el propietario de una carpeta en Linux usaremos el comando ls tal como se muestra en la
Ilustración 77 donde se entra al directorio home y luego damos ls –l y se visualiza el los
propietarios de las carpetas o grupos

[root@dns1 ~]# cd /home

[root@dns1 home]# ls -l

total 4

drwxrw----+ 4 Jorge grdftp 91 mar 23 08:35 Jorge

drwx------. 14 juan juan 4096 mar 23 08:17 juan

drwxr-----+ 3 Pablo grdftp 78 mar 18 11:58 Pablo

drwx------. 4 sshjuan sshjuan 146 mar 23 08:17 sshjuan

Se deja de forma recursiva el propietario del grupo, para que todo lo que se cree adentro quede
con los permisos asignados

[root@dns1 home]# chown -R Jorge:grdftp /home/Jorge

[root@dns1 home]# chown -R Pablo:grdftp /home/Pablo

Prueba desde el server con usuario y password de Lucia para ver el directorio Luci

[sshjuan@dns1 ~]$ ftp 192.168.2.69

Connected to 192.168.1.66 (192.168.2.69).

220 Bienvenido al FTP service de GRD.

Name (192.168.2.69:sshjuan): Lucia

331 Please specify the password.

Password:
230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (192,168,2,69,167,117).

150 Here comes the directory listing.

drwxr-xr-x 2 0 0 63 Mar 23 23:34 Luci

226 Directory send OK.

ftp>

Prueba desde un equipo en el mismo segmento de red del server, no deja ver los archivos dado a
que no se configura aun el servicio..

C:\Users\Juan Agredo>ping 192.168.2.69

Haciendo ping a 192.168.2.69 con 32 bytes de datos:

Respuesta desde 192.168.2.69: bytes=32 tiempo<1m TTL=64

Respuesta desde 192.168.2.69: bytes=32 tiempo=1ms TTL=64

Respuesta desde 192.168.2.69: bytes=32 tiempo<1m TTL=64

Respuesta desde 192.168.2.69: bytes=32 tiempo<1m TTL=64

Estadísticas de ping para 192.168.2.69:

Paquetes: enviados = 4, recibidos = 4, perdidos = 0

(0% perdidos),

Tiempos aproximados de ida y vuelta en milisegundos:

Mínimo = 0ms, Máximo = 1ms, Media = 0ms

C:\Users\Juan Agredo>ftp 192.168.2.69

Conectado a 192.168.2.69.

220 Bienvenido al FTP service de GRD.

200 Always in UTF8 mode.


Usuario (192.168.2.69:(none)): Lucia

331 Please specify the password.

Contraseña:

230 Login successful.

SAMBA

Protocolos Básicos NetBios, NetBEUI y SMB

Evolución de SMB

Integración SMB/CIFS con TCP/IP

Capacidades de SAMBA

Demonio SAMBA

a. Implemente una topología de red similar a la del gráfico siguiente. Esta puede ser
realizada en maquinas reales o bien en máquinas virtuales.
b. Instale el servicio samba desde la línea de comandos en el equipo Linux que hará las veces
de servidor. Para esto, debe instalar los siguientes paquetes, mediante el comando rpm -
ivh nombre_del_paquete
c. Configure el servicio Samba, editando los archivos apropiados, desde un editor de texto,
de modo que el usuario Windows pueda acceder, al menos, a dos carpetas compartidas
del Servidor Linux. Una de las carpetas debe tener permisos de Lectura y Escritura, la otra
de Sólo Lectura. Apóyese en el documento Material de Apoyo - Configuracion de Samba
en Linux.pdf
d. Una vez realizado el paso anterior, desde el Explorador de Windows del equipo cliente,
acceda al contenido de las carpetas compartidas de Linux; copiando, creando, moviendo o
eliminando los archivos y subcarpetas contenidos
e. De nuevo en el servidor configure Samba, de tal modo que el usuario Windows pueda
acceder a la impresora conectada a dicho equipo, tal como se aprecia en el gráfico de la
página anterior
f. Realice una impresión de prueba de un documento de Windows hacia la impresora
compartida, en el servidor Linux.
g. Investigue con sus compañeros de grupo y con apoyo del Instructor, cómo acceder a los
recursos compartidos del Servidor, desde la maquina cliente Linux mostrada en el gráfico,
tanto en modo texto como en modo gráfico. Póngalo en práctica y anexe los resultados al
informe final

instalación:
se instalan los repositorios necesarios para la instalación y configuración de samba, en este caso ya
se encuentran instalados y lo que se realiza es verificar que los repositorios se encuentren en el
sistema con el comando rpm -q

[root@dns1 sshjuan]# dnf install -y samba samba-common samba-client samba-winbind cups

Instalado:

python3-dns-2.1.0-6.el9.noarch python3-ldb-2.4.1-1.el9.x86_64 python3-samba-4.15.5-


104.el9.x86_64

python3-talloc-2.3.3-1.el9.x86_64 python3-tdb-1.4.4-1.el9.x86_64 python3-tevent-0.11.0-


1.el9.x86_64

samba-4.15.5-104.el9.x86_64 samba-client-4.15.5-104.el9.x86_64 samba-common-tools-


4.15.5-104.el9.x86_64

samba-libs-4.15.5-104.el9.x86_64 samba-winbind-4.15.5-104.el9.x86_64 samba-winbind-


modules-4.15.5-104.el9.x86_64

tdb-tools-1.4.4-1.el9.x86_64

¡Listo!

Verificar:

[root@dns1 sshjuan]# rpm -q samba samba-common samba-client samba-winbind cups samba-


4.15.5-104.el9.x86_64

samba-common-4.15.5-104.el9.noarch

samba-client-4.15.5-104.el9.x86_64

samba-winbind-4.15.5-104.el9.x86_64

cups-2.3.3op2-13.el9.x86_64

verificar el archivo de configuración

[root@dns1 sshjuan]# nano /etc/samba/smb.conf

Crear grupo y asignar usuario a grupo con contraseña especial de samba

[root@dns1 sshjuan]# groupadd grdsamba

[root@dns1 sshjuan]# useradd -g grdsamba -s /sbin/noligin JuanSam

useradd: Warning: missing or non-executable shell '/sbin/noligin'

[root@dns1 sshjuan]# smbpasswd -a JuanSam

New SMB password:


Retype new SMB password:

Added user JuanSam.

[root@dns1 sshjuan]# useradd -g grdsamba -s /sbin/noligin JuanchoSam & smbpasswd -a


JuanchoSam

[1] 3087

useradd: Warning: missing or non-executable shell '/sbin/noligin'

[1]+ Hecho useradd -g grdsamba -s /sbin/noligin JuanchoSam

New SMB password:

Retype new SMB password:

Added user JuanchoSam.

[1]+ Salida 9 useradd -g grdsamba -s /sbin/noligin JuanchoSam

Ir a la raíz del SO

[root@dns1 sshjuan]# cd

Se crea un directorio llamado samba y dentro de él se crean subdirectorios, los cuales se van a
compartir con el servicio y, por último, se dirige a la ruta del directorio con el comando cd y con el
comando ls se verifica la creación de los subdirectorios,

[root@dns1 ~]# mkdir -p /samba/{grd,grdlocal}

[root@dns1 ~]# ls

anaconda-ks.cfg

ir al directorio samba

[root@dns1 ~]# cd /samba

[root@dns1 samba]# ls -l

total 0

drwxr-xr-x. 2 root root 6 mar 23 19:35 grd

drwxr-xr-x. 2 root root 6 mar 23 19:35 grdlocal

creación de unos archivos dentro de cada subdirectorio que fue creando anteriormente con el
comando touch seguido de la ruta absoluta con el nombre de los archivos

[root@dns1 samba]# touch /samba/grd/{juan,pablo}.txt

[root@dns1 samba]# touch /samba/grdlocal/{jorge,luci}.txt


[root@dns1 samba]# cd grd

[root@dns1 grd]# ls -l

total 0

-rw-r--r--. 1 root root 0 mar 23 20:10 juan.txt

-rw-r--r--. 1 root root 0 mar 23 20:10 pablo.txt

Se modifican los permisos del directorio samba y los subdirectorios, con el comando chmod; se le
asignan todos los permisos al propietario y al grupo y a otros ninguno en el subdirectorio grd. En el
subdirectorio grdlocal se le asignan todos los permisos al propietario, al grupo solo lectura y
ejecución y ningún permiso a otros

[root@dns1 samba]# chmod -R 0770 /samba/grd

[root@dns1 samba]# chmod -R 0750 /samba/grdlocal

se habilitan las banderas a todos los archivos y directorios que están dentro del directorio /samba

chcon -R -t samba_share_t /samba/*

Se cambia el propietario y el grupo del directorio /samba a root y grdsamba respectivamente con
el comando chown

[root@dns1 grd]# chown -R root.grdsamba /samba

Añadir puertos y servicios al Firewall

[root@dns1 grd]# firewall-cmd --permanent --add-port=631/tcp

success

[root@dns1 grd]# firewall-cmd --permanent --add-service=samba

success

[root@dns1 grd]# firewall-cmd --reload

success

Editar el archivo smb.conf

En la configuración global se configura el funcionamiento del servicio samba, en la línea hosts


allow se agregan las direcciones IP con las que se está trabajando

[global]

workgroup = SAMBA

security = user
netbios = Samba_server

host allow = 192.168.2.69

log file = /var/log/samba/log.%m

max log size = 50

passdb backend = tdbsam

printing = cups

printcap name = cups

load printers = yes

cups options = raw

Se configuran los parámetros necesarios para compartir los directorios con los usuarios del grupo
samba

[grd]

comment = instructor

path = /samba/grd

public = yes

writable = no

printable = no

write list =JuanSam JuanchoSam

create mask = 0770

directory mask = 0770

valid users =@grdsamba

force group = grdsamba

browseable = yes

[grdlocal]

comment = instructor local

path = /samba/grdlocal

public = yes

writable = no

printable = no
write list =JuanSam JuanchoSam

create mask = 0750

directory mask = 0750

valid users =@grdsamba

force group = grdsamba

browseable = yes

configuran algunas opciones para compartir la impresora con un cliente Windows.

path = /var/spool/samba

browseable =yes

guest ok = yes

writable = yes

printable = yes

valid users =@grdsamba

use client driver = yes

# create mask = 0600

#browseable = No

[print$]

comment = Printer Drivers

path = /var/lib/samba/drivers

public = yes

write list = root

browseable =yes

writable = no

valid users = @grdsamba

#write list = @printadmin root

#force group = @printadmin


#create mask = 0664

#directory mask = 0775

Guardar y salir

[root@dns1 grd]# systemctl start smb nmb

[root@dns1 grd]# systemctl enable smb nmb

Created symlink /etc/systemd/system/multi-user.target.wants/smb.service →


/usr/lib/systemd/system/smb.service.

Created symlink /etc/systemd/system/multi-user.target.wants/nmb.service →


/usr/lib/systemd/system/nmb.service.

[root@dns1 grd]# systemctl restart smb nmb

Pruebas en Windows cliente

se abre la ventaja emergente de EJECUTAR con la combinación de teclas (Windows + R), se ingresa
la dirección IP del servidor samba para lograr entrar a las carpetas compartidas del servicio de
samba.

También podría gustarte