Warum Kill in Linux laufen muss, benötigt Sudo-Zugriff

505
byteBiter

Auf einem Server (meinem Entwicklungsdesktop) kann ich den killBefehl ohne Sudo ausführen, auf dem anderen jedoch kill: kill 1 failed: operation not permitted.

Ich gehe davon aus, dass der killBefehl ausgeführt wird /usr/bin/kill.

Wenn ich die Erlaubnis der Datei auf beiden Servern überprüfe, wird für den Berechtigungsteil das gleiche angezeigt wie für lrwxrwxrwx 1 root root, dh jeder Benutzer hat die Berechtigung zum Lesen, Schreiben und Ausführen dieser Datei. Warum muss ich dann sudoauf dem anderen Server vorgehen? Ich bin gespannt, welcher Teil zwischen den beiden Servern diesen Unterschied ausmacht.

0
Sagt "type kill", dass der Befehl eingebaut oder extern ist? Symlinks haben übrigens keine Berechtigungen unter Linux, weshalb sie als `lrwxrwxrwx` angezeigt werden. dsstorefile1 vor 6 Jahren 0

1 Antwort auf die Frage

4
eschwartz

Die Fehlermeldung kill: kill 1 failed: operation not permittedbesagt, dass es vom killBefehl stammt, nicht von der Shell, die den Befehl ausgeführt hat. Ansonsten würden Sie eine Nachricht wie bash: /usr/bin/kill: Permission denied(die von "bash" geleitet wird) sehen.

Fragen Sie sich stattdessen, welchen Prozess Sie versucht haben zu beenden und wer der Benutzer ist, der den Prozess ausführt. Sie können die Prozesse anderer Benutzer nicht als eingeschränkte Benutzer beenden, und der killBefehl selbst sagt Ihnen, dass dies nicht zulässig ist ...