Simulacro del Examen RHCSA8
This project is maintained by deividgdt
Realiza la tarea expuesta en cada apartado y haz clic en “Mostrar comando” para ver un ejemplo de como realizar la tarea solicitada correctamente.
ping6 -c5 fe80::5054:ff:fe57:b57d%enp1s0
nmcli connection add con-name second type ethernet ifname enp1s0 ip4 192.168.100.191/24 gw4 192.168.100.1
nmcli conn mod second +ipv4.dns 8.8.8.8
nmcli con mod second connection.autoconnect yes
nmcli connection edit enp1s0
nmcli general permissions
subscription-manager register
subscription-manager list --available
subscription-manager attach --pool=$POOLID
subscription-manager unregister
subscription-manager repos --list-enabled
yum list 'httpd'
yum search 'nginx' yum search all 'nginx'
yum info 'nginx-all-modules'
yum group list yum group list hidden
yum history
yum history info 10
yum history undo 10
/etc/yum.conf
# Se crea un fichero en /etc/yum.repos.d/ vi /etc/yum.repos.d/basic.repo # Se agrega el siguiente contenido [nombre-repo] name = nombre repo baseurl = https://fakewebsite.com/repositories/nombre-repo enabled = 1 gpgcheck = 0 gpgkey = file://etc/pki/rpm-gpg/el-nombre-de-la-key
yum clean all yum repolist
rpm --import https://fakewebsite.com/repositories/gpg-key # Se importa la key a /etc/pki/rpm-gpg
yum module list
yum module install module_name:version
systemctl cat sshd.service
systemctl --failed -t service --all
systemctl mask --now firewalld
systemctl unmask firewalld
systemctl isolate multi-user.target
systemctl isolate graphical.target
systemctl get-default
systemctl set-default multi-user
Tras enceder el host, editar el grub presionando: 'e' Añadir el parametro: rd.break al final de la linea que empieza con: linux Montar el sistema de archivos / en rw mode: mount -o rw,remount /sysroot Enjaular /sysroot: chroot /sysroot Cambiar la password de root a rhcsa: passwd root Crear un archivo para indicar a selinux que haga un retiquetado: touch /.autorelabel Reiniciar: reboot
lsblk -fp
fdisk gdisk parted
/etc/fstab Ejemplos de formatos en fstab: 1. UUID=${UID} /mnt1 xfs defautls 0 0 2. LABEL=${LABEL} /mnt2 xfs defautls 0 0 3. /dev/mapper/${VG}${LV} /mnt3 xfs defautls 0 0 4. /dev/sda /mnt4 xfs defautls 0 0
#Crear particion para swap fdisk /dev/vdb Nueva particion: n Tipo de particion primaria: p Numero de particion: 1 Primer sector: predeterminado Ultimo sector: +500M Indicar tipo de sistema de archivos: t Tipo Linux Swap: 82 Guardar cambios: w #Formatear como swap mkswap /dev/vdb1 #Montar swap swapon /dev/vdb1 #Crear entrada en fstab echo "/dev/vdb1 none swap defaults 0 0" >> /etc/fstab
vi/etc/fstab #Entre mayor sea el numero, mayor prioridad /dev/mapper/rhel_rhcsa--master-swap none swap pri=5 0 0 /dev/vdb1 none swap pri=10 0 0
swapon --show
parted /dev/vdb mklabel msdos parted /dev/vdb mkpart primary 1M 500M parted /dev/vdb print parted /dev/vdb set 1 lvm on
fdisk /dev/vdb Nueva particion: n Particion primaria: p Inicio: predeterminado Fin: +500M Indicar tipo de particion: t Indicar tipo lvm: 8e Guardar y salir: w
Es la cantidad de veces en la que se divide un Volume Group. Esta información se puede ver al ejecutar el comando vgdisplay PE Size 4,00 MiB Total PE 242 Alloc PE / Size 0 / 0 Free PE / Size 242 / 968,00 MiB
lvcreate --name logicalvolumename volumegroupname -L 250M lvcreate --name logicalvolumename volumegroupname --extents 10 Si cada physical extent es de 4mb, entonces 10*4, el lvm será de 40M
vgextend vg01 /dev/sdc
lvextend /dev/vg01/lv02 -L +100M --resizefs --test lvextend /dev/vg01/lv02 -L +100M --resizefs
lvextend /dev/vg01/lv02 --extents +25 --resizefs --test lvextend /dev/vg01/lv02 --extents +25 --resizefs
lvextend /dev/vg01/lv02 -l +10%FREE --resizefs --test lvextend /dev/vg01/lv02 -l +10%FREE --resizefs
pvmove /dev/vbd1 vgreduce vg01 /dev/vbd1 pvremove /dev/vbd1
lvreduce /dev/vg01/lv01 -L 150M --resizefs --test lvreduce /dev/vg01/lv01 -L 150M --resizefs
partprobe --summary
yum install stratis-cli stratisd
stratis pool create labpool1 /dev/vdb /dev/vdc stratis pool list
stratis pool add-data labpool1 /dev/vdd
stratis pool destroy labpool1
stratis filesystem create labpool1 fs1 stratis filesystem list
/dev/stratis/${pool-name}/${filesystem-name}
stratis filesystem snapshot labpool1 fs1 fs1-snapshot
#Obtenemos el UUID del device lsblk --output=UUID /dev/stratis/${pool-name}/${filesystem-name} echo "UUID=105e8e96-2f87-4418-b8d6-0616b69b4410 /dirStratis xfs defaults,x-systemd.requires=stratisd.service" >> /etc/fstab
#Obtenemos el UUID del device lsblk --output=UUID /dev/stratis/${pool-name}/${filesystem-name} echo "UUID=105e8e96-2f87-4418-b8d6-0616b69b4410 /dirStratis xfs defaults,x-systemd.requires=stratisd.service" >> /etc/fstab
yum install vdo kmod-kvdo
vdo create --name volume-vdo1 --device /dev/sda --vdoLogicalSize 20G
vdo list vdo status
mkfs.xfs /dev/mapper/volumen-vdo1 lsblk --output=UUID /dev/mapper/volume-vdo1 echo "UUID=bde4ea16-8f5c-42da-b45d-c1964cae89b2 /devxfs defaults,x-systemd.requires=vdo.service 0 0" >> /etc/fstab
vdostats --human-readable
nfsconf --set nfsd vers2 y nfsconf --set nfsd vers3 n nfsconf --unset nfsd vers2 nfsconf --set nfsd vers2 n
showmount -e rhcsa-master.labrhel.com
yum install autofs systemctl --now enable autofs vi /etc/auto.master.d/public.autofs /public /etc/directpublic.test /etc/directpublic.test nfs -rw,sync rhcsa-master.labrhel.com:/srv/nfs systemctl restart autofs # A continuacion si se accede a /public/nfs autofs lee el fichero # /etc/auto.master.d/public.autofs y aplica las reglas que se # definan en /etc/directpublic.test, es decir, se monta: # rhcsa-master.labrhel.com:/srv/nfs en modo rw
vi /etc/auto.master.d/public.autofs /- /etc/indirectpublic.test vi /etc/indirectpublic.test /mnt/nfs -rw,sync rhcsa-master.labrhel.com:/srv systemctl restart autofs # A continuación el recurso /srv se monta automaticamente en # /mnt/nfs
timedatectl list-timezones timedatectl set-timezone Africa/Ouagadougou
timedatectl set-time 09:30:10
timedatectl set-ntp true timedatectl show | grep NTPSynchronized=yes
chronyc tracking chronyc sources -v
tzselect
/etc/systemd/journal.conf
journalctl -p [emerg|alert|crit|err|warning|notice|info|debug] Ejemplo para chronyd: journalctl -u chronyd -p err
journalctl -p err --since "2022-01-31 09:00:00" --until "2022-01-31 09:30:00"
Tenemos distintos tipos de filtros: journalctl _PID=1000 journalctl _UID=0 journalctl _COMM=command journalctl _EXE=ejecutablepath journalctl _SYSTEMD_UNIT=sshd.service
logger -p local7.error "Esto es un error"
semanage fcontext -l
ls -lZ Se muestra: drwxr-xr-x. 6 root root system_u:object_r:etc_t:s0 70 jul 12 11:05 X11 -rw-r--r--. 1 root root system_u:object_r:etc_t:s0 642 dic 9 2016 xattr.conf drwxr-xr-x. 4 root root system_u:object_r:etc_t:s0 38 jul 12 11:05 xdg Sintaxis del contexto: user:role:tipo:label
setenforce [0|1] vi /etc/selinux/config # 0 desactiva temporalmente # 1 activa temporalmente # editar el fichero y modificar el parametro SELINUX=[enforcing|permissive|disabled]
chcon -t httpd_sys_content_t /directorio # Si se hace un touch /.autorelabel se pierde el contexto asignado # Si se hace un restorecon -v /directorio tambien se pierde el contexto asignado
restorecon -v /directorio
getsebool -a
semanage boolean -l
setsebool -P abrt_anon_write on .
semanage fcontext -a -t httpd_sys_content_t /directorio
sealert -a /var/log/audit/audit.log ausearch -m AVC -ts recent
semanage port --list
semanage port --add --type http_port_t --proto tcp 1009
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --remove-service=https
firewall-cmd --permanent --add-port=1009/tcp
firewall-cmd --reload
firewall-cmd --list-all
firewall-cmd --list-all-zones
cd /etc/sudoers.d/ echo "david ALL=(ALL) NOPASSWD: ALL" >> david_user
cd /etc/sudoers.d/ echo "%admins ALL=(ALL) ALL" >> admins_group
# Estos son algunos de los comandos con los que se gestionan los grupos y usuarios usermod useradd gpasswd groupadd groupdel
chage -m 2 -M 31 -W 2 -I 1 user
chage -E 2022-12-31 user
usermod --lock --expiredate 2023-07-30 david
Puedes obtener más información de esta apartado en esta entrada
# El permiso SetUID en un archivo provoca que cualquier usuario que ejecute el fichero obtenga los permisos del propietario del fichero chmod u+s file.sh chmod 4700 file.sh chmod u-s file.sh
# En un fichero es similar a SetUID, trabaja dando los permisos del grupo al usuario que ejecuta el archivo # En un directorio actúa estableciendo siempre el grupo del propietario como grupo para todos los ficheros/directorios que se creen dentro del mismo chmod g+s file.sh chmod 2700 file.sh chmod g+s dir chmod 2700 dir chmod g-s [ dir | file.sh ]
# El sticky bit se utiliza en directorios compartidos, es decir, directorios en los que muchos usuarios pueden escribir, y como bien sabemos si un usuario puede escribir en un directorio también puede borrar aunque no sea propietario del archivo que borra. chmod o+t directorio chmod 1700 directorio chmod o-t directorio
pkill -t tty\3 pkill -SIGKILL -t pts/2
nice -n 15 process.sh
renice -n -10 -p 132
yum install tuned systemctl enable --now tuned
tuned-adm list
tuned-adm active
tuned-adm profile latency-performance tuned-adm verify
# Algunos de los directorios principales /etc/tmpfiles.d /usr/lib/tmpfiles.d /run/tmpfiles.d
systemctl status systemd-tmpfiles-clean
systemd-tmpfiles --clean
systemd-tmpfiles --create
systemd-tmpfiles --cat-config
# Creamos el fichero momentaneos.conf en /etc/tmpfiles.d echo "d /run/momentaneos 0700 root root 30s" >> /etc/tmpfiles.d/momentaneos.conf # Ejecutamos la creacion del directorio systemd-tmpfiles --create /etc/tmpfiles.d/momentaneos.conf # Tras crear un fichero /run/momentaneos y esperar más de 30 segundos, se puede limpiar este directorio, ejecutando: systemd-tmpfiles --clean /etc/tmpfiles.d/momentaneos.conf
dnf install -y @container-tools
podman search registry.redhat.io/mariadb
podman login registry.redhat.io podman pull registry.redhat.io/rhel8/mariadb-103
podman images --all
podman inspect 364f5d5eb513
podman run -d -p 8081:80 --name http fc7e49a0cf98