3 votes

Impossible de toucher/connecter à une socket unix du même groupe

sudo ls -la /var/lib/redis/6379/ produit :

drwxrwxr-x 2 redis redis    4096 Nov 28 23:10 .
drwx-w---- 3 redis redis    4096 Nov 22 00:10 ..
srwxrwx--- 1 redis redis       0 Nov 28 23:10 redis.sock

Super, maintenant sudo groups www-data produit :

www-data : www-data redis

OK, mais alors sudo -u www-data -g www-data touch /var/lib/redis/6379/redis.sock provoque l'erreur suivante :

touch: cannot touch ‘/var/lib/redis/6379/redis.sock’: Permission denied

D'après ce que j'ai compris, cela ne devrait pas se produire. Quelqu'un peut-il m'indiquer où je me trompe complètement ? Ce qui suit ne fonctionne pas non plus avec la même erreur (c'est ce qui m'intéresse en fait) :

sudo -u www-data -g www-data redis-cli -s /var/lib/redis/6379/redis.sock con

Could not connect to Redis at /var/lib/redis/6379/redis.sock: Permission denied

C'est sous Debian 8.2.

1voto

Cenoc Points 197

Il s'est avéré que c'était le grand-parent qui manquait le x -bit. Maintenant, pas de problème de permission !

2 votes

Qu'entendez-vous par "grand-parent" ? J'ai exactement le même problème avec mon socket en /var/run/redis/redis.sock - redis.sock a des permissions de 770, et le répertoire parent ( /var/run/redis ) a 775 et /var et /var/run ont tous deux des permissions d'exécution globales.

1 votes

Comme je l'ai observé, pour utiliser un socket UNIX, l'utilisateur doit disposer de l'autorisation rw pour le socket lui-même et également de l'autorisation execute (x) pour tous les dossiers parents du socket.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X