web-dev-qa-db-fra.com

quelle autorisation d'écrire le fichier PID dans / var / run

Ubuntu

touch: impossible de toucher `/var/run/test.pid ': autorisation refusée

Je démarre start-stop-daemon et j'aime écrire le fichier PID dans/var/run start-stop-daemon est exécuté en tant que my-program-user

/ var/run est drwxr-xr-x 9 root root

J'aime éviter de placer mon utilisateur de programme dans le groupe racine.

53
s5804

Par défaut, vous ne pouvez écrire dans/var/run qu'en tant qu'utilisateur avec un ID utilisateur effectif de 0 (c'est-à-dire en tant que root). C'est pour de bonnes raisons, donc quoi que vous fassiez, n'allez pas changer les permissions de/var/run ... Au lieu de cela, en tant que root, créez un répertoire sous/var/run:

# mkdir /var/run/mydaemon

Changez ensuite de propriétaire pour l'utilisateur/groupe sous lequel vous souhaitez exécuter votre processus:

# chown myuser:myuser /var/run/mydaemon

Précisez maintenant d'utiliser/var/run/mydaemon plutôt que/var/run.

Vous pouvez toujours tester cela en exécutant un test en tant qu'utilisateur en question.

74
mkdir /var/run/mydaemon
chown myuser:myuser /var/run/mydaemon

cela ne fonctionnera pas, car il sera perdu au prochain redémarrage (/var/run est un tmpfs sur Ubuntu).

La seule solution possible consiste à exécuter mkdir et chmod dans le cadre des scripts de démarrage.

13
Vladimir Nicolici

Vous pouvez essayer ça. Créez un répertoire/var/run/test /, puis modifiez l'autorisation de ce répertoire pour le même utilisateur que votre programme s'exécute. "chown/var/run/test /". Maintenant, dans votre application, changez l'emplacement du fichier PID en /var/run/test/test.pid. Cela devrait faire fonctionner les choses pour vous.

3
proy

Qu'en est-il de l'utilisation du bit "collant" sur/var/run?

chmod + t/var/run?

Gâcher probablement d'autres applications, mais il semble que ce serait une autre solution.

Je vais toutefois continuer de créer un dossier/var/run distinct pour l'instant.

2
user68971

Entrées dans le /etc/permissions sont permanents. Faites-y une entrée pour rendre permanents la propriété et les autorisations d'un répertoire.

1
user432133