Permissions
我可以使用 chmod 更改設備的權限嗎?
注意:我不想使用 udev 規則。
我需要(以程式方式)更改某些設備的權限。要了解我必須做什麼(在程式碼中),我想只使用
chmod
命令來做到這一點。到目前為止,我已經嘗試過:
root# ls -l /dev/sdb brw-rw-rw- 1 root disk 8, 16 Apr 7 05:27 /dev/sdb root# chmod 0600 /dev/sdb root# ls -l /dev/sdb brw------- 1 root disk 8, 16 Apr 7 05:27 /dev/sdb
如您所見,
/dev/sdb
僅對所有者(root)具有讀寫權限。但我仍然能夠創建新文件並從連接的快閃記憶體驅動器中讀取文件。我錯過了什麼?如何使用
chmod
來防止使用者寫入某些設備?
如果我理解正確,那麼您已在 /dev/sdb 上安裝了一些文件系統。這裡重要的是駐留在 /dev/sdb 上的文件系統中的權限,/dev/sdb 的權限與您的問題完全無關。除了權限為 0666 的任何人都可以繞過該文件系統的訪問控制機制並任意訪問設備上的內容,但這是一個不同的問題。
如果要限制對文件系統中文件的訪問,則必須為文件分配適當的所有權和權限(從該文件系統的根目錄開始)。對於 FAT mount(8) 等文件系統,您可以設置文件系統中所有文件的所有權和訪問權限。如果您只想將整個樹公開給某些使用者而對所有其他使用者隱藏它,那麼將它安裝在只有這些使用者可以訪問的地方。但請注意,任何使用者都可以看到正在安裝的東西(mount(8) 或 df(1) 將顯示它們)。
chroot(1) 根本不會幫助你。