Question

J'ai écrit un script bash simple qui fait une copie du répertoire de base, e le met dans / var / sauvegarde. Puisque ce répertoire est protégé, j'ai écrit le script en tant que root, puis réglez le suid.

armando@ubuntu:~/scripts/bash $ ll
-rwsr-xr-x 1 root    root    2596 Jul 28 10:43 homebackup.sh*

Même donc, je reçois la "permission refusée" lorsque les scripts essaient d'écrire dans / var / sauvegardes.Pourquoi?

Était-ce utile?

La solution

sous Linux et la plupart des autres systèmes modernes Unix-famille, les bits SETUID ne sont reconnus que pour les exécutables binaires directs, pas des scripts.

Ceci est par conception et pour des raisons de sécurité.Vous pouvez le contourner en construisant une enveloppe compilée pour vos scripts SETUID ou en utilisant un outil existant (tel que sudo avec une configuration pour éviter d'avoir besoin d'un mot de passe lorsque vous appelez le script spécifique comme l'utilisateur souhaité).

voir cette discussion complète sur UNIX Stackexchange .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top