hdparm コマンド
hdparm は、Linux SATA/PATA/SAS の「libata」サブシステムと古い IDE ドライバー サブシステムでサポートされているさまざまなカーネル インターフェイスへのコマンド ライン インターフェイスを提供します。また、カーネルには SATA デバイスとして表示されるため、ほとんどの USB ドライブでも動作するはずです。
hdparm コマンドは、ほとんどの Linux ディストリビューションで標準です。これを使用するには、root アクセス権が必要です。 「-r」 」オプションを使用して、hdparm を使用した USB デバイスへの書き込みアクセスを許可または拒否できます。 「hdparm」のマニュアルページより:
-r [n] Get or set the flag for read-only on the device. A value of 1 marks the device as read-only.
USB デバイスへの読み取り専用アクセスを有効にする
1. yum を使用して「hdparm」パッケージをインストールします。
# yum install hdparm
2. USB デバイスで「hdparm -r1」コマンド オプションを使用して、読み取り専用アクセスを有効にします。
# hdparm -r1 /dev/sdX
ここで、
/dev/sdX – は USB デバイスです。
たとえば、接続されている USB デバイスが /dev/sde の場合、次のコマンドを実行します:
# hdparm -r1 /dev/sde
3. USB デバイスへの書き込みアクセス権がないことを確認するには、まず USB デバイスをマウントしてから、マウント ポイント内のファイルにアクセスしてみます。例:
# mount /dev/sde1 /mnt # touch /mnt/file touch: file: Permission denied
「dd」コマンドを使用して、USB デバイスへの読み取り専用アクセスを確認することもできます。
$ dd if=/dev/zero of=/dev/sde bs=1k count=10 dd: writing `/dev/sde': Operation not permitted 1+0 records in 0+0 records out 0 bytes (0 B) copied, 0.0005 seconds, 0 B/s
ご覧のとおり、「dd」コマンドも書き込み中にエラーをスローしました。
書き込みアクセスの再有効化
同じディスクへの読み書きアクセスを再度有効にするには、次のコマンドを使用します:
$ hdparm -r0 /dev/sdeUSB デバイスで読み取り専用アクセス許可を許可するように UDEV ルールを構成する方法