root 権限なしで Linux (Ubuntu) で CPU シリアル番号を取得するにはどうすればよいですか?
cpuid コマンドを試してみました。ルート権限なしで動作しますが、すべてゼロを返すようです (BIOS で何かを変更する必要があるためだと思います)。
ルート権限なしで、BIOS を変更することなく、プログラムから CPU シリアルを取得する別の方法を教えてください。
root 権限なしで Linux (Ubuntu) で CPU シリアル番号を取得するにはどうすればよいですか?
cpuid コマンドを試してみました。ルート権限なしで動作しますが、すべてゼロを返すようです (BIOS で何かを変更する必要があるためだと思います)。
ルート権限なしで、BIOS を変更することなく、プログラムから CPU シリアルを取得する別の方法を教えてください。
ルート権限が必要です。答えは dmidecode です。
CPU ID が必要な場合:
dmidecode | grep -w ID | sed "s/^.ID\: //g"
これにより CPU ID が取得され、出力から 'ID: ' が削除
されます。コンピュータ ID を取得する必要がある場合:
dmidecode | grep -w UUID | sed "s/^.UUID\: //g"
root パーミッションなしでカーネル uuid を取得したい場合は、次のようにします。
dmesg | grep UUID | grep "Kernel" | sed "s/.*UUID=//g" | sed "s/\ ro\ quiet.*//g"
最近のコメントのせいです。ずっと前に起こったので、なぜこれらの ID がマシン ID として採用されたのか、今は説明できません。n セクションから実際のプロセッサ ID を取得しましProcessor Information
た。Debian OS で展開。
pr=0; dmidecode | while read line; do [ "$line" == "Processor Information" ] && pr=1; [ $pr -eq 0 ] && continue; [ -n "$(echo $line | grep '^ID')" ] && echo $line | awk -F"ID: " '{print $2}' && break; done
プロセッサのシリアル番号は、基本的に Pentium III プロセッサのみにありました。Intel は、提起されたプライバシー上の懸念により、それ以降のモデルからそれを削除しました。そのため、PIII を使用していて、BIOS 設定でシリアル番号を読み取ることができない限り、取得できるのは 0 だけです。
cpuid
の使用に関係なく、同じシリアル番号を返しますsudo
:
% cpuid | grep serial
Processor serial: 0002-0652-0000-0000-0000-0000
% sudo cpuid | grep serial
Processor serial: 0002-0652-0000-0000-0000-0000
あなたが言及している他のシリアル番号がない限り...?
ライセンスを、実行可能ファイルがユーザーのファイルシステムにインストールされたときに取得する inode 番号に結び付けます。他の場所に移動すると、変更されます。
欠点は、プログラムをバックアップから復元する必要がある場合、数値が保持されない可能性があることです。
私は以前にこのようなことをしたことがあります。ハードウェアの変更時に本物のユーザーがライセンスをアクティブ化できるようにすることについては、非常に寛大でなければなりません。
この質問が以前に尋ねられたときに示唆されたように、ライセンスにこれを使用しようとしている場合 (ライセンスタグを使用したため)、MAC アドレスを試してみることをお勧めします: CPU シリアル番号
チェックしましたdmesg
か?入った/bin