2016-05-16 3 views
0

ce qui se passe quand jechemin/tmp ne correspond pas à un fichier régulier

  • un fichier exécutable qui se trouve dans le répertoire/tmp (par exemple /tmp/a.out)
  • il est dirigé par un shell root
  • linux
  • SELinux (par défaut pour RedHat, CentOS, etc.)

Apparemment essayer de lancer un exécutable qui se trouve dans le répertoire/tmp/en tant que root révoque le privilèges Une idée de comment contourner ce problème, autre que de désactiver selinux? Merci

+0

whats l'erreur son montrant, et quelle est la commande que vous essayez d'exécuter? – piyushj

+0

Est-ce que ma réponse a fonctionné pour vous? – khrm

+0

Ricardo, répondez s'il vous plaît. Et sélectionnez la réponse appropriée. – khrm

Répondre

1

Vous pouvez définir le contexte de fichier sur binaire ou répertoire (contenant binaire) qui sont dans/tmp que vous souhaitez exécuter.

sudo semanage fcontext -a -t bin_t /tmp/location 

Puis restorecon:

sudo restorecon -vR /tmp/location 
+0

votre suggestion a fonctionné! Merci – Ricardo

+0

@ Ricardo Bienvenue. S'il vous plaît accepter la réponse alors. – khrm

1

Il suffit de jeter un oeil sur les options de montage pour répertoire /tmp, plus que probablement vous avez l'option no-exec sur elle (il y a beaucoup de raisons de sécurité de le faire, le premier étant que n'importe qui peut mettre un fichier dans le répertoire /tmp)

+0

Bien que ce soit vrai. Mais OP est confronté à un autre problème. SELinux bloque l'exécution dans le dossier/tmp. Pour cela, ma réponse est plus précise. – khrm

+0

SELinux bloque probablement l'exécution dans le dossier '/ tmp' en utilisant cette option lors du montage'/tmp' –

+0

Il utilise fcontext. C'est pourquoi j'ai posté pour changer fcontext à bin_t – khrm