¿Cómo puedo restringir el acceso a un determinado comando, por ejemplo, /opt/apps/start, a los usuarios autorizados solamente bajo sistemas Linux/UNIX y BSD?
Para ello uno necesita utilizar el concepto tradicional de los grupos de Unix para mejorar la seguridad, incluido el acceso restringido a un determinado comando.
Paso # 1: Crear y mantener un grupo para todos los usuarios autorizados
Crear un grupo llamado appsonly:
# groupadd appsonly
Añadir todos los usuarios autorizados a appsonly:
# usermod -aG {groupName} {userName}
# usermod -aG appsonly tom
# usermod -aG appsonly jerry
# id jerry
Dónde,
1. -a : Agrega el usuario al grupo de consulta (s), es decir, añade el usuario a la lista el actual grupo suplementario.
2. -G : una lista de grupos suplementarios que el usuario es también un miembro de.
# 2: Restringir el acceso
Ahora, el grupo de usuario se ha creado. A continuación, utilice el comando chgrp para cambiar el grupo de /opt /apps/start al grupo de appsonly:
# chgrp {groupName} {/path/to/command}
# chgrp appsonly /opt/apps/start
Deshabilitar el permiso de archivo para los demás
Por último, utilice el comando chmod para cambiar los permisos de archivos de la siguiente manera:
# chmod 750 /path/to/command
# chmod 750 /opt/apps/start
También se puede aplicar permisos en el directorio (esto comando ls deshabilitar el acceso a otros):
# chgrp appsonly /opt/apps
# chmod 0640 /opt/apps
# 3: La Prueba
su a Tom, enter:
# su – tom
$ id
$ /opt/apps/start
$ exit
ahora hacer su a vivek (un miembro no del grupo appsonly), y enter:
# su – vivek
$ id
$ /opt/apps/start
Saliada del comando:
bash: /opt/apps/start: Permission denied
Una nota sobre ACL y SELinux
Las políticas de control de acceso que pueden ser aplicadas por chmod, chgrp y comandos usermod son limitados, y la configuración de SELinux y las ACL del sistema archivos (Access Control List) es una mejor opción y la recomiendan para las grandes implementaciones.
Para mas informacion:
* man page chgrp, groupadd, useradd, usermod, passwd , y group file.
Suerte.