私はしばしば/ dev / sdXとして登録されているUSBドライブフォーマットを扱います。これには通常、rootとして実行される実行コマンドmkfs
とfdisk
他のコマンドが含まれます。mount
ところで、もし誤って文字を間違って入力してハードドライブをフォーマットするのかと心配になります。
理想的には、手動コマンドでデバイスを「読み取り/書き込み」モードに切り替えない限り、/dev/sdX*
すべてのデバイスが失敗するようにデバイスを「読み取り専用」モードに設定したいと思います。fdisk
mkfs
wipefs
私はchmod ugo-w /dev/sdX
それがうまくいくと思いました。しかし、驚くべきことに、chmod 0000 /dev/sdc1
次のmkfs /dev/sdc1
作品は完全に大丈夫でした。
すべてのユーザー(ルートを含む)がハードドライブとそのパーティションテーブルを変更し、ハードドライブをパーティション分割し、マウントされたファイルシステムを介さずにパーティションに書き込むのを防ぐ方法は?必要に応じて、この方法を使用してドライブへの書き込みをどのように有効にできますか?
デバイスをユーザーが所有できることを知っています。ただし、これを行うには、chroot
または同じmount
コマンドを実行するにはユーザーとルートを切り替える必要があります。umount
これはセキュリティ上の抜け穴です。すべてのUSBストレージデバイスをユーザーが所有したくありません。より良いソリューションを探しています。理想的には、ルートを維持しますが、間違ったディスクをフォーマットしないことをお勧めします。
ベストアンサー1
使用を検討してください/dev/disk/by-{path,id}/
/dev/disk/by-path/
ブロックデバイスへのシンボリックリンクがあります。ここで、シンボリックリンクの名前は、デバイス(サブシステム、バス、コントローラ、ポートなど)への「ハードウェアパス」を表します。マイシステムの編集リストには、NVMEデバイス、SATAデバイス、およびUSBドライブ(および各ドライブの最初のパーティション)が表示されます。
/dev/disk/by-path
├── pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0 -> ../../sdc
├── pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0-part1 -> ../../sdc1
├── pci-0000:00:17.0-ata-2 -> ../../sda
├── pci-0000:00:17.0-ata-2-part1 -> ../../sda1
├── pci-0000:02:00.0-nvme-1 -> ../../nvme0n1
└── pci-0000:02:00.0-nvme-1-part1 -> ../../nvme0n1p1
/dev/disk/by-id
同様に機能しますが、サブシステム、デバイスメーカー/モデル、シリアル番号があります。サムスンのストレージがたくさんあるようです。
/dev/disk/by-id
├── ata-Samsung_SSD_860_EVO_500GB_XXXXXXXXXXXXXXX -> ../../sda
├── ata-Samsung_SSD_860_EVO_500GB_XXXXXXXXXXXXXXX-part1 -> ../../sda1
├── nvme-Samsung_SSD_980_PRO_1TB_XXXXXXXXXXXXXXX -> ../../nvme0n1
├── nvme-Samsung_SSD_980_PRO_1TB_XXXXXXXXXXXXXXX-part1 -> ../../nvme0n1p1
├── usb-Samsung_Flash_Drive_FIT_XXXXXXXXXXXXXXXX-0:0 -> ../../sdc
└── usb-Samsung_Flash_Drive_FIT_XXXXXXXXXXXXXXXX-0:0-part1 -> ../../sdc1
接続されたUSBドライブを(Sata / nvme)システムドライブと混同しないことが目標であると仮定すると、これらの名前が役に立つ可能性があります。次のコマンドの名前を使用すると、期待どおりに機能します。
fdisk /dev/disk/by-id/usb-Samsung_Flash_Drive_FIT_XXXXXXXXXXXXXXXX-0:0
mke2fs /dev/disk/by-id/usb-Samsung_Flash_Drive_FIT_XXXXXXXXXXXXXXXX-0:0-part1
これがあなたの注意を引いて停止するのに十分であることを願っています。
mke2fs /dev/disk/by-id/nvme-Samsung_SSD_980_PRO_1TB_XXXXXXXXXXXXXXX-part1