Przede wszystkim chciałbym przeprosić za nieuwzględnienie szczegółów sprzętu. To dlatego, że szukam polecenia, które będzie działać we wszystkich dystrybucjach Linuksa.
Pytanie:
Jestem bardzo nowy w Linuksie i nie wiem zbyt wiele, jednak czy możliwe jest odzyskanie numeru seryjnego dysku twardego działającego jako użytkownik inny niż root. Wiem, że są dostępne polecenia do pobierania tych informacji uruchomionych przy użyciu sudo. Potrzebuję jednak sposobu na odzyskanie tych informacji bez uruchamiania jako sudo.
Wszelkie sugestie będą mile widziane.
Z poważaniem,
Mustafa
udisks --show-info
.__ Ale__ należy zauważyć, że gdy jest używany w trybie wsadowym lub ogólnie w skryptach,udisks
jest DROGA wolniejszy niżudevadm
.Innym sposobem, który zwykle działa, jest:
Oto jedna linijka, która umożliwia szybkie wyliczenie numeru napędu i modelu / numeru seryjnego:
Lub dla zdalnych maszyn:
Następnie możesz dalej przetwarzać to wyjście. W przypadku większości typów dysków drugim ciągiem w wierszu jest MODEL_SERIAL.
źródło
Jak powiedział womble, bez dostępu do roota lub przyznania uprawnień typu root do jakiegoś procesu, nie można tego osiągnąć. Ponieważ jednak mówisz, że jesteś nowicjuszem, pozwól, że zwrócę uwagę na przydatne polecenie o nazwie
lshw
.źródło
Bez przyznania uprawnień typu root do jakiegoś procesu, nie można tego osiągnąć. Nawet jako root nie możesz tego zrobić w niektórych konfiguracjach sprzętowych.
źródło
Linki w / dev / disk / by-id są tworzone przez udev. W pliku /etc/udev/rules.d/50-udev.rules można znaleźć takie linie:
Niestety znalezienie tego
by-id
dowiązania symbolicznego z nazwy urządzenia nie jest trywialne . Ale istnieje co najmniej jeden bezpośredni sposób:Zwracana jest lista rozdzielona spacjami. Więc
by-id
można znaleźć ścieżkę.Lub Możesz bezpośrednio uzyskać „seryjny” numer seryjny:
W
ID_SERIAL
ostatnim znaku podkreślenia można uzyskać numer seryjny.Jak widzę, numer seryjny może zawierać znaki alfanumeryczne i „-” (mam takie dyski SCSI). Czy ktoś zna jakieś ograniczenia dotyczące numeru seryjnego? Jeśli może zawierać „_”, to ta metoda nie jest kuloodporna.
ID_MODEL
Klucz może być używany do zlokalizować dokładniej początek numeru seryjnego, jak (wydaje mi się) swoje pierwsze 15 znaków są dodawane doID_SERIAL
(spacjami zamienionymi „_”).źródło
udevadm info -q property -xn sda | awk -F\' '/ID_SERIAL_SHORT/{print $2}'
Oczywiście-q property
można to pominąć, ale zawsze uważam, że marnowanie zasobów pozwalaudevadm
wydawać dodatkowe linie, których w ogóle nie potrzebujemy.