作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的 USB 闪存驱动器自动挂载到 /media/ME
,无需 root
干预。
现在,我可以使用 open
、lseek
、 读取和写入安装在
和/dev/sdX
设备上的驱动器上的扇区读写
。但我只能以 root
身份执行此操作。
问题:就像设备可以在没有 root
干预的情况下挂载一样,是否也可以在没有 root
的情况下从/向该设备读取和写入?
如果不可能,我愿意为
root
显示一个 GUI 密码对话框。但是我如何从我的控制台程序执行此操作?
最佳答案
是
block 设备/dev/sdX 具有标准的 UNIX 权限 - 因此如果它由您的用户或您的用户所在的组所有并且权限设置正确,那么您将能够写入它。
$ ls -l /dev/sda
brw-rw---T 1 root disk 8, 0 Dec 3 18:27 /dev/sda
所以只有 root 和组磁盘的成员可以读取或写入我的/dev/sda。如果我将自己放在磁盘组中,我将能够写入 block 设备。
你可以设置udev来自动设置 block 设备插入时的权限。
关于linux - 如何以非root身份读写U盘的原始设备文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19285034/
我是一名优秀的程序员,十分优秀!