web-dev-qa-db-fra.com

Je ne peux pas effacer syslog mais je peux le supprimer?

Pourquoi Sudo /dev/null > /var/log/syslog et Sudo > /var/log/syslog ne fonctionnent-ils pas, alors que Sudo rm /var/log/syslog fonctionne?!

5
user259632

Il y a deux problèmes principaux.

Un problème est que /dev/null n'est pas une commande, donc exécuter Sudo /dev/null ne peut pas réussir. Vous avez besoin de Sudo [a command]. Dans ce cas, vous voulez probablement Sudo cat /dev/null.

L’autre problème est que > sépare les éléments en une commande complète à gauche et un fichier à droite, de sorte que commande complète à gauche correspond à Sudo cat /dev/null et que le travail de Sudo est maintenant exécuté une fois que cat /dev/null est exécuté.

Cela signifie que le > est exécuté en tant qu'utilisateur et non pas sous Sudo. Votre utilisateur n’a pas l’autorisation d’écrire sur /var/log/syslog, donc cela échouera.

Vous avez besoin d’un moyen d’exécuter la ligne complète cat /dev/null > /var/log/syslog sous Sudo. > n'est pas une commande ou quoi que ce soit. C'est quelque chose que Shell gère, vous devez donc avoir un Shell pour gérer correctement ce symbole de redirection. Vous pouvez le faire avec l'option -c de sh: sh -c 'cat /dev/null > /var/log/syslog'.

Maintenant que vous avez tout en une seule commande, vous pouvez avoir Sudo exécuter tout le processus:

Sudo sh -c 'cat /dev/null > /var/log/syslog'
14
Elliott Frisch

La commande à laquelle vous pensez est probablement

> /var/log/syslog

Rien d'autre n'est nécessaire. Dans bash et d'autres shells, le > tronquera immédiatement le fichier, le vider. Cependant, lorsque vous exécutez ceci:

Sudo /dev/null > /var/log/syslog

Le système tente d'exécuter /dev/null en tant que commande et vous obtiendrez cette erreur:

Sudo: /dev/null: command not found

Notez cependant que malgré cela, /var/log/sysloga en fait été vidé car, comme je l’ai dit ci-dessus, le > suffit, aucune commande n’est nécessaire.

9
terdon

truncate -s 0 /var/log/syslog

travaillant pour moi le 18.04. Je l'ai eu d'ici:

https://ubuntuforums.org/showthread.php?t=2191156

7
emvidi