Zunächst möchte ich mich für den Titel entschuldigen, der keine Hardwaredetails enthält. Das liegt daran, dass ich einen Befehl suche, der in allen Linux-Distributionen funktioniert.
Frage:
Ich bin sehr neu in Linux und weiß nicht viel. Es ist jedoch möglich, die Seriennummer der Festplatte abzurufen, die nicht als Root ausgeführt wird. Mir ist bekannt, dass Befehle zum Abrufen dieser Informationen mit sudo verfügbar sind. Ich benötige jedoch eine Möglichkeit, diese Informationen abzurufen, ohne als sudo ausgeführt zu werden.
Anregungen wäre sehr dankbar.
Mit freundlichen Grüßen,
Mustafa
udisks --show-info
.__ Aber es muss beachtet werden, dass im Batch-Modus oder allgemein in Skriptenudisks
WEGE langsamer ist alsudevadm
.Ein anderer Weg, der normalerweise funktioniert, ist:
Hier ist ein Einzeiler, der Ihnen eine schnelle Aufzählung von Laufwerk und Modell- / Seriennummer gibt:
Oder für entfernte Maschinen:
Diese Ausgabe können Sie dann weiterverarbeiten. Bei den meisten Laufwerkstypen lautet die zweite Zeichenfolge pro Zeile MODEL_SERIAL.
quelle
Wie bereits erwähnt, können Sie dies nicht erreichen, ohne Root-Zugriff oder root-ähnliche Berechtigungen für einen bestimmten Prozess zu erteilen. Da Sie jedoch sagen, dass Sie ein Neuling sind, möchte ich Sie auf einen praktischen Befehl hinweisen, der aufgerufen wird
lshw
.quelle
Sie können dies nicht erreichen, ohne einem Prozess root-ähnliche Berechtigungen zu erteilen. Selbst als Root können Sie dies bei einigen Hardwarekonfigurationen nicht tun.
quelle
Die Links unter / dev / disk / by-id werden von udev erstellt. In /etc/udev/rules.d/50-udev.rules finden Sie folgende Zeilen:
Leider ist es nicht trivial, diesen
by-id
Symlink aus dem Namen des Geräts herauszufinden . Es gibt aber mindestens einen direkten Weg:Eine durch Leerzeichen getrennte Liste wird zurückgegeben. So kann der
by-id
Weg gefunden werden.Oder Sie können direkt die "zusammengesetzte" Seriennummer erhalten:
Im
ID_SERIAL
nach dem letzten Unterstrich können Sie die Seriennummer abrufen.Wie ich sehe, kann eine Seriennummer alphanumerische Zeichen und "-" enthalten (ich habe solche SCSI-Festplatten). Kennt jemand eine Einschränkung bezüglich der Seriennummer? Wenn '_' enthalten kann, ist diese Methode nicht kugelsicher.
Der
ID_MODEL
Schlüssel könnte verwendet werden, um den Anfang der Seriennummer genauer zu lokalisieren, da (meiner Meinung nach) die ersten 15 Zeichen zu denID_SERIAL
(durch '_' ersetzten Leerzeichen) hinzugefügt werden .quelle
udevadm info -q property -xn sda | awk -F\' '/ID_SERIAL_SHORT/{print $2}'
Natürlich-q property
kann der weggelassen werden, aber ich halte es immer für eine Verschwendung von Ressourcen,udevadm
zusätzliche Zeilen ausgeben zu lassen , die wir überhaupt nicht benötigen.