2016-06-19 6 views
0

Ich versuche, intelligent zu lesen (von nagios Benutzer) mit diesem Skript: https://gist.github.com/mastbaum/10663894#file-smart_watch-pysubProzess von sudo, den Zugriff auf/dev/sda: seltsame Fehler: [Errno 2] Datei oder Verzeichnis

Ich habe ermöglichen nagios die Datei auszuführen (/ etc/sudoers):

nagios ALL= NOPASSWD: /git/check_smart/smart_watch.py 
#(later on for testing) 
nagios ALL= NOPASSWD: ALL 

ich bin mir ziemlich sicher, dass ich root-Berechtigung innerhalb des subprocess bekommen, so scheint es, dass der Zugriff auf das Gerät nicht gewährt wird:

[email protected]:/dir$ sudo /git/check_smart/smart_watch.py --device /dev/sda 
Traceback (most recent call last): 
    File "/git/check_smart/smart_watch.py", line 48, in <module> 
    main(args.logfile, args.device) 
    File "/git/check_smart/smart_watch.py", line 18, in main 
    code = check_smart(device) 
    File "/git/check_smart/smart_watch.py", line 10, in check_smart 
    return subprocess.call(args) 
    File "/usr/lib/python2.7/subprocess.py", line 493, in call 
    return Popen(*popenargs, **kwargs).wait() 
    File "/usr/lib/python2.7/subprocess.py", line 679, in __init__ 
    errread, errwrite) 
    File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child 
    raise child_exception 
OSError: [Errno 2] No such file or directory 

$ ls -lahtr /dev/sda 
brw-rw---- 1 root disk 8, 0 cze 13 14:55 /dev/sda 

Der Befehl run perfect wird als root ausgeführt.

Irgendwelche Ideen, warum es "keine solche Datei" Fehler gibt? ich die Erlaubnis erwarten leugnete, aber nicht die/keine Datei/

Antwort

2

Found it

Befehl nicht smartclt finden war, folgendermaßen geändert: /usr/sbin/smartctl

+0

thx @rrauenza kann‘ t finden Sie einen Knopf dafür:/ – sirkubax

+0

Das kleine Häkchen neben den Upvote-Down-Taste – rrauenza