Comparta un directorio con otro (no todos) otros usuarios no root en Linux (sin privilegios de root)

3

¿Es posible compartir un directorio con otro usuario no root, pero solo este, sin privilegios de root?

  • El sistema es Ubuntu con el kernel 4.4.0.

  • No tengo privilegios de root.

  • El sistema tiene una gran cantidad de usuarios; es poco probable que los administradores acepten crear un nuevo grupo solo para mí.

  • El sistema no me permite usar setfacl(probablemente no haya instalado un paquete de ACL)

Enfoque 1: Uso del grupo por usuario (no funciona)

Si tuviera privilegios de root, podría agregar al otro usuario a mi grupo de usuarios y otorgarle a ese grupo los derechos del directorio (suponga que los usuarios son user_a(yo) y user_b(el otro) y el directorio es ~/shared_directory):

sudo usermod -a -G user_a user_b

(esto agregaría user_bal grupo user_a, user_ael grupo de usuarios)

chgrp user_a ~/shared_directory

(esto establece el grupo propietario de ~/shared_directorya user_a; en casi todos los casos, este ya debería ser el grupo propietario y el comando no debería ser necesario)

chmod g=rwx ~/shared_directory

(esto le da al grupo todos los derechos para leer, escribir y ejecutar (acceder) al directorio).

Sin embargo, no tengo acceso de root y no se me permite ejecutar usermod o escribir en el archivo correspondiente /etc/group(¡lo cual sería malo!).

Enfoque 2: Uso de listas de control de acceso a archivos (ACL) (no funciona)

Además, no puedo ejecutar setfaclni localizar este ejecutable; probablemente porque el paquete acl no está instalado. Por consiguiente, no puedo intentar utilizar el enfoque sugerido en esta respuesta :

setfacl -m u:user_b:rwx ~/shared_directory

(Esto daría user_bacceso al directorio según lo deseado, siempre que el sistema de archivos y el núcleo admitan ACL).

Todavía siento que el enfoque 1 (grupo de usuarios y permisos) debería ser la clave para resolver esto

¿No debería permitirme controlar quién es parte de mi grupo de usuarios? ¿O estoy malinterpretando el propósito de los grupos de usuarios con nombres idénticos?

Algunas de las respuestas a esta pregunta en Unix y Linux discutieron el rol, los derechos y el propósito de los grupos por usuario.

¿O hay otra forma de lograr esto que no requiera privilegios de root?

0rango
fuente
1
Sospecho que necesitas trabajar con tus administradores de sistemas.
Zoredache
1
Si la característica está implementada en las opciones del kernel (¿Ubuntu? Sí lo está), no está deshabilitada ("noacl" no se usa para / home o similar) y del mismo modo el punto de montaje permite la ejecución ("noexec" no se usa para / inicio), entonces no tener el comando instalado no impedirá ejecutar una versión local del comando. Simplemente puede descargar los paquetes (incluidas las dependencias), descomprimirlos en algún lugar de su directorio de usuarios y con algunos trucos (LD_LIBRARY_PATH ...) ejecutar el comando desde allí. Pero si esto se considera prohibido, los administradores de sistemas simplemente podrían agregar las dos opciones anteriores para evitarlo de todos modos
AB
1
por supuesto, setfacl no requiere privilegios de root. tener tanto su cuenta como la otra cuenta con un grupo dedicado común requiere privilegios de root para agregarlo. De lo contrario, puede elegir un grupo genérico común si existe. por ejemplo: ¿ambos usuarios en el grupo cdrom? Ese es un grupo común. Esperando que no haya interacción con apparmor / selinux
AB
@AB Esta es una idea genial. Puedo descargar y ejecutar getfacle setfacl, incluso, sin ningún problema con las dependencias de la biblioteca. Sin embargo, tiene razón en que esto no funcionará si está deshabilitado en el núcleo; Me estoy poniendo Operation not supported. Supongo que eso significa que el núcleo no lo permite.
0range