Is there any unique identifier for USB that I can retrieve on Linux? It must not be alterable.

     I am trying to find a way to get any unique identifier for each USB disk. Currently, I got the following options, but all of them are "alterable" by user, I need an ID which is non-alterable by user and can work for all USB disk under Linux.

1. disk identifier by using fdisk -l, but it seems will be changed once user re-partition the USB.

2. UUID by using vol_id --uuid OR blkid, but it also can be changed by tune2fs command.

3. usb_id, which is a command come with udev, but it seems not work on some USB disk.

Does anyone know other possible way?
Who is Participating?
liddlerConnect With a Mentor Commented:
As  root
run lsusb -v
for the device you will see iSerial
It is wrong way. My Alcor Micro Corp. Transcend JetFlash Flash Drive has SerialNumber=00000000.
You may _prepare_ the disk to make it unique - pam_usb (, e.g. But not expect that every usb device has some unique characteristics.
what about lsusb?  That gives the unique ID of a usb device
Never miss a deadline with

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

lsusb gives a Vendor and ProdID. They are the same for the same device of the same vendor.
What are you trying to do?

Depending on the application, you might consider a USB dongle:
vonslackAuthor Commented:
This should be the key that I am looking for.
All Courses

From novice to tech pro — start learning today.