Marantkurz
Anmeldungsdatum: 7. September 2023
Beiträge: 786
|
Lässt sich das Journal Schreiben verhindern? Script fragt kontinuierlich über smartctl ab, in Journal wird ständig geschrieben mit Bsp: <$USER> : PWD=<$PWD> ; USER=root ; COMMAND=/bin/bash -c 'smartctl -A \\/dev\\/nvme0'
Feb 03 17:43:33 <Name> sudo[2121873]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
Feb 03 17:43:33 <Name> sudo[2121873]: pam_unix(sudo:session): session closed for user root Bsp. Befehlszeile: if [ -b /dev/nvme0n1 ]; then
tmp3=$(echo -e "$PASSW\n" | sudo -S -s smartctl -A /dev/nvme0 | grep 'Temperature:' | grep -o '[0-9]*')
fi $PASSW wird vorher abgefragt. Schleife/Script läuft. –
session opened for user root..
dürfte sicher bei Verw. von "sudo" allg. protokolliert werden. edit Für cron gibt es Hinweise für Unterdrückung/Umleitung der Meldungen im Netz, bringt mir momentan noch nix. Wenn ich das richtig sehe, müssten wohl die Meldungen ausgehend der bash umgeleitet werden, also nee. Werde wohl das Script unter root laufen lassen müssen, zumindest sind dann die aller Sekunden Meldungen kein Thema mehr.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17596
Wohnort: Berlin
|
Deine Problemlage ist mir nicht ganz klar. a) Was heißt ständig? Wie oft pro Sekunde? Ist das Intervall zu kurz, oder willst Du sämtliche Logeinträge unterbinden? b) Startest Du das Script/die Schleife und willst du - beispielsweise - alle Sekunde ein Feedback auf dem Schirm, aber nicht im Log? In /etc/default/smartmontools kann man das Intervall verstellen; bei mir ist der Default aktiv, der 1800 s ist: | # uncomment to pass additional options to smartd on startup
#smartd_opts="--interval=1800"
|
Die Manpage sagt:
| -i N, --interval=N
Sets the interval between disk checks to N seconds, where N is a decimal integer. The minimum allowed
value is ten and the maximum is the largest positive integer that can be represented on your system
(often 2^31-1). The default is 1800 seconds.
Note that the superuser can make smartd check the status of the disks at any time by sending it the
SIGUSR1 signal, for example with the command:
kill -SIGUSR1 <pid>
where <pid> is the process id number of smartd. One may also use:
killall -USR1 smartd
for the same purpose.
|
Besser als die Übergabe eines Passworts per Script wäre es, in der sudoers-Datei für den entsprechenden User einen Eintrag zu machen, dass er smartmontools with NOPASSWD starten kann. Die Verwendung von sudo wird immer protokolliert - das dürfte immenser Aufwand sein, das zu unterdrücken - habe ich aber noch nicht versucht, ist also rein spekulativ. Wenn die Schleife durchlaufen soll, und nicht nur hier und da, dann könntest Du einen cronjob oder systemd-Timer als root einrichten, die das machen, dann wird womöglich weniger geloggt - zumindest kein sudo mehr, vielleicht nützlicher die Temperatur.
|
frostschutz
Anmeldungsdatum: 18. November 2010
Beiträge: 7777
|
Mit sudo kann ich nicht helfen, aber wenn es dir rein um die Temperaturabfrage geht, das ist u.U. auch ganz ohne sudo möglich. Findest du unter /sys/block/nvme*/device/hwmon*/temp*_input . Wenn du nicht über /sys/block/nvme* gehen möchtest, kannst du auch /sys/class/hwmon/hwmon*/name auf nvme abklopfen. Eigentlich müsste es ein fertiges Tool geben, das Temperaturen ganz ohne sudo anzeigt, solange der Kernel ein interface dafür hat. Kenn ich halt gerade keins. (OK, sensors existiert. Kann sogar JSON ausgeben...)
|
Marantkurz
(Themenstarter)
Anmeldungsdatum: 7. September 2023
Beiträge: 786
|
Danke für Eure Antworten! @user_unknown Wie oft ist doch egal, aller X Sekunden, füttert YAD, s.Anhang. (Einheiten ignorieren) Da das Script weitergegeben werden soll will ich es nun so belassen, dass das Höchste der Gefühle die einmalige Eingabe des PW sein soll. Also somit einmalige Protokollierung bei Scriptstart, das ist OK. @frostschutz In der Tat. cat /sys/block/nvme*n1/device/hwmon*/temp1_input wäre für die internen NVMe auf jeden Fall brauchbar. Es sollen mehrere Möglichkeiten abgedeckt werden.(hatte das weggelassen) Also interne NVMe externe NVMe SATA
Bzgl. /dev/sd* habe ich bisher noch nix einfaches Äquivalentes zu (1.SATA, 2. ext.NVMe) sudo smartctl -A /dev/sda | grep "194 Temperature" | cut -c 88-89
sudo smartctl -A /dev/sda | grep 'Temperature:' | grep -o '[0-9]*' finden können.(Also etwa in /sys oder Terminal Tool auf User Ebene was Beides kann) – Mir kam gerade die Idee, das mit Conky im normalem Fenster zu machen.
- Bilder
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17596
Wohnort: Berlin
|
Marantkurz schrieb:
Wie oft ist doch egal, aller X Sekunden, füttert YAD, s.Anhang. (Einheiten ignorieren)
Für die Frage, was zu viele Einträge im Journal für Dich sind, und wie oft Du die Informationen brauchst, ist es erheblich. Auch ob Du es maximal 1x pro Minute brauchst und somit cron eine geeignete Alternative ist. Da das Script weitergegeben werden soll will ich es nun so belassen, dass das Höchste der Gefühle die einmalige Eingabe des PW sein soll. Also somit einmalige Protokollierung bei Scriptstart, das ist OK.
Gerade wenn das Script weitergegeben werden soll, ist ein Passwort im Script eine fragwürdige Lösung.
|
Marantkurz
(Themenstarter)
Anmeldungsdatum: 7. September 2023
Beiträge: 786
|
Für die Frage, was zu viele Einträge im Journal für Dich sind,
Ja, Deswegen hatte ich etwa zur selben Zeit Deines Posts das etwas ergänzt/umformuliert.
der Gefühle die einmalige Eingabe des PW sein soll. Also somit einmalige Protokollierung bei Scriptstart, das ist OK.
Also Script läuft nun als Root Script.(lgw. ohne intern sudo)
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13131
|
Marantkurz schrieb:
sudo smartctl -A /dev/sda | grep "194 Temperature" | cut -c 88-89
sudo smartctl -A /dev/sda | grep 'Temperature:' | grep -o '[0-9]*'
Das kann man immerhin so optimieren, dass die Ausgabe in eine temporäre Datei geschrieben und dann von da ausgewertet wird. Und wenn Du den Job als Systemd-Service mit Timer einrichtest, dann brauchst Du auch kein sudo .
|
Marantkurz
(Themenstarter)
Anmeldungsdatum: 7. September 2023
Beiträge: 786
|
@rklm Sicher, nur sollte ohne Aufwand startbar sein.(rede nicht von mir)
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13131
|
Marantkurz schrieb: @rklm Sicher, nur sollte ohne Aufwand startbar sein.(rede nicht von mir)
???
|
trollsportverein
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 4672
|
setuid auf smartctl drauflegen wäre eine Möglichkeit um smartctl ohne sudo und Passwort abzufragen. Aber wie sieht es dann mit der Sicherheit aus? Mit setcap habe ich es bisher jedenfalls nicht hinbekommen. Allerdings frage ich smartctl auch nur alle paar Jubeljahre mal ab, und für solche seltenen Gelegenheiten kann ich dann auch das sudo Passwort per Tipperei eingeben.
sudo smartctl -a /dev/sda | awk '/Temp/{print "SSD Temperatur: "$NF}'
|
Marantkurz
(Themenstarter)
Anmeldungsdatum: 7. September 2023
Beiträge: 786
|
@trollsportverein
sudo smartctl -a /dev/sda | awk '/Temp/{print "SSD Temperatur: "$NF}'
Bauchbar wäre so die Befehlszeile nicht. Denke, die sollte auch nicht so stehen bleiben. Das letzte Feld wird ausgegeben. Ergebnis /dev/sda bei ext.SATA: SSD Temperatur: 0/60) ohne awk sieht die Zeile so aus:
194 Temperature_Celsius 0x0022 074 040 000 Old_age Always - 26 (Min/Max 0/60) /dev/sda bei ext.NVMe: [sudo] Passwort für :
SSD Temperatur: Celsius
SSD Temperatur: Celsius
SSD Temperatur: Celsius
SSD Temperatur: 0
SSD Temperatur: 0
SSD Temperatur: Celsius
SSD Temperatur: Celsius
setuid auf smartctl drauflegen
Habe mir mal sporadisch was dazu durchgelesn(Alter dazu war mir egal, ging nur ums informieren) https://stackoverflow.com/questions/9772068/raw-socket-access-as-normal-user-on-linux-2-4 Bin noch beim Überlegen, aber nicht um das anzuwenden, sondern damit herumzuspielen. Vllt. kann Jmd. aus dem Forum noch zu dem Thema was sagen.
|
trollsportverein
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 4672
|
Marantkurz schrieb: @trollsportverein
sudo smartctl -a /dev/sda | awk '/Temp/{print "SSD Temperatur: "$NF}'
Bei mir funktioniert das genau so. Ich habe ja nur uralte Hardware und da ist unter /dev/sda meine alte Samsung 840 PRO zu finden und die gibt da die Temperatur aus, nur die Temperatur und sonst nix in der letzten Spalte. Diese Temperatur ist aber so niedrig, um die brauche ich mir keine Sorgen machen. Läuft ja auch schon viele Jahre und ist bewährt. Und diese alten Samsung Pro Modelle sind auch bekannt sehr langlebig.
|
Marantkurz
(Themenstarter)
Anmeldungsdatum: 7. September 2023
Beiträge: 786
|
Ich habe ja nur uralte Hardware
☺ , Ja, war auch nicht als Vorwurf gemeint, vermutete schon, dass das Feld bei Dir nicht da sein kann. Finde es nicht gut wenn in irgendwelchen Forenbeiträgen, egal in welchem Forum, allg. Anweisungen die eher fraglich auf die Masse passen, gepostet werden. Einfach weil es den Wenigsten was bringt.
|