天天看點

linux ioctl root權限,Linux系統調用裝置的ioctl函數

Linux系統調用裝置的ioctl函數

在指令行調用裝置的ioctl函數。在Linux系統中,似乎對裝置的直接操作隻有ioctl函數了。他接受的參數不是太多,而且都是一一對應的。

blockdev - 從指令行調用區塊裝置控制程式

blockdev [options] commands devices

blockdev 工具允許從指令行調用區塊裝置控制程式。

–setro 設定裝置為隻讀

–getro 讀取裝置是否為隻讀(成功為1,0則為可讀寫)

–setrw 設定設别為可讀寫

–getss 列印裝置的扇區大小,通常是512

–getsize 列印設别的'容量,按照一個扇區512個位元組計算

–setra N 設定預讀扇區(512位元組)為N個.Set readahead to N 512-byte sectors.

–getra 列印readahead(預讀扇區)

–flushbufs 重新整理緩沖

–rereadpt 重讀分區表。

覺得–setro,setrw比較有用,這個mount -o ro(rw)是有差別的,mount是在檔案系統這個級别上對某個分區挂載為隻讀或可讀寫。而blockdev則是在設别這個級别上設定為隻讀和可讀寫。

看下面的指令輸出結果就一目了然了。

代碼如下:

[[email protected] ~]# blockdev –setro /dev/hda4

[[email protected] ~]# blockdev –getro /dev/hda4

1

[[email protected] ~]# mount /dev/hda4 /misc -o rw

mount: block device /dev/hda4 is write-protected, mounting read-only

[[email protected] ~]# umount /dev/hda4

[[email protected] ~]# blockdev –setrw /dev/hda4

[[email protected] ~]# blockdev –getro /dev/hda4

[[email protected] ~]# mount /dev/hda4 /misc -o rw

[[email protected] ~]# touch /misc/one

[[email protected] ~]# umount /dev/hda4

[[email protected] ~]# mount /dev/hda4 /misc -o ro

[[email protected] ~]# rm -f /misc/one

rm: 無法删除‘/misc/one’: 隻讀檔案系統

【Linux系統調用裝置的ioctl函數】相關文章: