

ACL Manager
Gestor de permisos en linux usando ACL (Access Control List) de forma automatica basado en un excel.
Proyecto para poder gestionar ACLs (Access Control List) en un entorno Linux, al tener muchos comandos repetidos basados en un excel se me ocurrio que seria mas comodo poder formater los comandos de forma automatica usando una interfaz “Amigable”.
✏️ Interfaz#
⚙️ Setup#
Creamos el entorno Virtual
python -m venv .venvbashActivamos el entorno Virtual
.venv\Scripts\activatebashEn caso de no tener permisos, utilizar
Set-ExecutionPolicy -Scope Process -ExecutionPolicy BypassbashInstalamos las dependencias
pip install -r requirements.txtbash🔴 Botones#
Consultar#
getfacl /home/redes/DesktopbashResultador
# file: home/redes/Desktop
# owner: redes
# group: users
user::rwx
group::---
other::r-xbashSetear#
setfacl -m g::--- /home/redes/Desktop; setfacl -m g:group1:rwx /home/redes/Desktop; setfacl -m g:group2:r-x /home/redes/Desktop; setfacl -m g:group3:--- /home/redes/DesktopbashConsultamos el resultado
# file: home/redes/Desktop
# owner: redes
# group: users
user::rwx
group::---
group:group1:rwx
group:group2:r-x
group:group3:---
mask::rwx
other::r-xbashSeteamos de forma Recursiva#
Antes de setear
Comando: ls -l /home/redes/Desktop
total 18124
-rwxrwxrwx 1 redes users 205 May 21 07:57 convert_to_csv.py
-rwxrwxrwx 1 redes users 443 May 21 08:07 ejecutar_permisos.sh
drwxr-xr-x 4 redes users 4096 May 31 07:38 MartinezRincon-0d5ae8-main
-rw-rw-rw- 1 redes users 82968 May 31 06:46 MartinezRincon-0d5ae8-main.zip
-rw-rw-rw- 1 redes users 10282 May 21 06:50 'Permisos 2.0.xlsx'
-rw-r--r-- 1 redes users 4345 May 21 07:57 permisos.csv
drwxr-xr-x 16 redes users 4096 May 31 07:02 Python-3.8.10
-rw-r--r-- 1 redes users 18433456 May 3 2021 Python-3.8.10.tar.xzbashDespues de setear
setfacl -R -m g::--- /home/redes/Desktop; setfacl -R -m g:group1:rwx /home/redes/Desktop; setfacl -R -m g:group2:r-x /home/redes/Desktop; setfacl -R -m g:group3:--- /home/redes/DesktopbashComando: ls -l /home/redes/Desktop
total 18124
-rwxrwxrwx+ 1 redes users 205 May 21 07:57 convert_to_csv.py
-rwxrwxrwx+ 1 redes users 443 May 21 08:07 ejecutar_permisos.sh
drwxrwxr-x+ 4 redes users 4096 May 31 07:38 MartinezRincon-0d5ae8-main
-rw-rwxrw-+ 1 redes users 82968 May 31 06:46 MartinezRincon-0d5ae8-main.zip
-rw-rwxrw-+ 1 redes users 10282 May 21 06:50 'Permisos 2.0.xlsx'
-rw-rwxr--+ 1 redes users 4345 May 21 07:57 permisos.csv
drwxrwxr-x+ 16 redes users 4096 May 31 07:02 Python-3.8.10
-rw-rwxr--+ 1 redes users 18433456 May 3 2021 Python-3.8.10.tar.xzbashEliminar#
Antes de eliminar los permisos
Comando: getfacl /home/redes/Desktop
getfacl: Removing leading '/' from absolute path names
# file: home/redes/Desktop
# owner: redes
# group: users
user::rwx
group::---
group:group1:rwx
group:group2:r-x
group:group3:---
mask::rwx
other::r-xbashElimina los permisos actuales y los que tiene por defecto.
setfacl -b /home/redes/Desktop && setfacl -k /home/redes/DesktopbashComando: getfacl /home/redes/Desktop
getfacl: Removing leading '/' from absolute path names
# file: home/redes/Desktop
# owner: redes
# group: users
user::rwx
group::---
other::r-xbashEliminar R (De forma Recursiva)#
Antes de eliminar los permisos
Comando: ls -l /home/redes/Desktop
total 18124
-rwxrwxrwx+ 1 redes users 205 May 21 07:57 convert_to_csv.py
-rwxrwxrwx+ 1 redes users 443 May 21 08:07 ejecutar_permisos.sh
drwxrwxr-x+ 4 redes users 4096 May 31 07:38 MartinezRincon-0d5ae8-main
-rw-rwxrw-+ 1 redes users 82968 May 31 06:46 MartinezRincon-0d5ae8-main.zip
-rw-rwxrw-+ 1 redes users 10282 May 21 06:50 'Permisos 2.0.xlsx'
-rw-rwxr--+ 1 redes users 4345 May 21 07:57 permisos.csv
drwxrwxr-x+ 16 redes users 4096 May 31 07:02 Python-3.8.10
-rw-rwxr--+ 1 redes users 18433456 May 3 2021 Python-3.8.10.tar.xzbashElimina los permisos actuales y los que tiene por defecto de forma recursiva.
setfacl -R -b /home/redes/Desktop && setfacl -R -k /home/redes/DesktopbashComando: ls -l /home/redes/Desktop
total 18124
-rwx---rwx 1 redes users 205 May 21 07:57 convert_to_csv.py
-rwx---rwx 1 redes users 443 May 21 08:07 ejecutar_permisos.sh
drwx---r-x 4 redes users 4096 May 31 07:38 MartinezRincon-0d5ae8-main
-rw----rw- 1 redes users 82968 May 31 06:46 MartinezRincon-0d5ae8-main.zip
-rw----rw- 1 redes users 10282 May 21 06:50 'Permisos 2.0.xlsx'
-rw----r-- 1 redes users 4345 May 21 07:57 permisos.csv
drwx---r-x 16 redes users 4096 May 31 07:02 Python-3.8.10
-rw----r-- 1 redes users 18433456 May 3 2021 Python-3.8.10.tar.xzbashSetear Por Defecto#
Antes de setear
Comando: getfacl /home/redes/Desktop
getfacl: Removing leading '/' from absolute path names
# file: home/redes/Desktop
# owner: redes
# group: users
user::rwx
group::---
other::r-xbashSeteamos los permisos por defecto
setfacl -d -m g::--- /home/redes/Desktop; setfacl -d -m g:group1:rwx /home/redes/Desktop; setfacl -d -m g:group2:r-x /home/redes/Desktop; setfacl -d -m g:group3:--- /home/redes/DesktopbashComando: getfacl /home/redes/Desktop
getfacl: Removing leading '/' from absolute path names
# file: home/redes/Desktop
# owner: redes
# group: users
user::rwx
group::---
other::r-x
default:user::rwx
default:group::---
default:group:group1:rwx
default:group:group2:r-x
default:group:group3:---
default:mask::rwx
default:other::r-xbashSetear Por Defecto de Forma Recursiva#
Antes de setear
ls -l /home/redes/Desktop
total 18124
-rwx---rwx 1 redes users 205 May 21 07:57 convert_to_csv.py
-rwx---rwx 1 redes users 443 May 21 08:07 ejecutar_permisos.sh
drwx---r-x 4 redes users 4096 May 31 07:38 MartinezRincon-0d5ae8-main
-rw----rw- 1 redes users 82968 May 31 06:46 MartinezRincon-0d5ae8-main.zip
-rw----rw- 1 redes users 10282 May 21 06:50 'Permisos 2.0.xlsx'
-rw----r-- 1 redes users 4345 May 21 07:57 permisos.csv
drwx---r-x 16 redes users 4096 May 31 07:02 Python-3.8.10
-rw----r-- 1 redes users 18433456 May 3 2021 Python-3.8.10.tar.xzbashSeteamos los permisos por defecto de forma recursiva (Solo se aplica en directorios)
setfacl -R -d -m g::--- /home/redes/Desktop; setfacl -R -d -m g:group1:rwx /home/redes/Desktop; setfacl -R -d -m g:group2:r-x /home/redes/Desktop; setfacl -R -d -m g:group3:--- /home/redes/Desktopbashls -l /home/redes/Desktop
total 18124
-rwx---rwx 1 redes users 205 May 21 07:57 convert_to_csv.py
-rwx---rwx 1 redes users 443 May 21 08:07 ejecutar_permisos.sh
drwx---r-x+ 4 redes users 4096 May 31 07:38 MartinezRincon-0d5ae8-main
-rw----rw- 1 redes users 82968 May 31 06:46 MartinezRincon-0d5ae8-main.zip
-rw----rw- 1 redes users 10282 May 21 06:50 'Permisos 2.0.xlsx'
-rw----r-- 1 redes users 4345 May 21 07:57 permisos.csv
drwx---r-x+ 16 redes users 4096 May 31 07:02 Python-3.8.10
-rw----r-- 1 redes users 18433456 May 3 2021 Python-3.8.10.tar.xzbash