Просто из любопытства, можно ли перечислять разделы в Linux, не будучи root или не используя sudo?
2 ответа
cat /proc/partitions
показывает все активные блочные устройства. Сюда входят физические диски (sda
, ...), программные тома RAID (md0
, ...), логические тома (dm-0
, ...) (как в LVM), тома с петлевой установкой (loop0
, ...) и их разделы (sda1
, md0p1
, ...). Для каждого блочного устройства указывается размер и номер устройства.
Много информации доступно в иерархии /sys/block
. В /sys/block
для каждого диска или устройства, похожего на диск, есть подкаталог, ответственность за который взял на себя драйвер. Разделенные устройства имеют подкаталог для каждого раздела, например, /sys/block/sda/sda1
. В файлах доступна различная информация, такая как size
(размер в секторах), dev
(major:minor
номер устройства), start
(для разделов, их смещение на диске, в секторах)...
Вы можете просмотреть таблицу разделов на любом устройстве, к которому у вас есть доступ для чтения. Обычные устройства на жестких дисках не предоставляют доступ на чтение всем пользователям в целях безопасности, но если вы находитесь в группе, которой принадлежат устройства, вы сможете их прочитать.
$ ls -l /dev/sda
brw-rw----. 1 root disk 8, 0 2010-08-18 02:48 /dev/sda
Пользователь в группе disk
имеет доступ для чтения к этому устройству.