小编Sta*_*k07的帖子

即使删除所有执行权限后,目录仍显示为绿色(可执行)

我刚刚从 USB 闪存驱动器复制了一个目录。我从 NTFS 驱动器复制它,因此所有文件都具有执行权限。

我执行chmod -x *撤消执行权限。尽管如此,所有目录都以绿色背景显示,这通常仅用于可执行文件。

可能是什么原因?

附图片: “ls -al”的输出

ubuntu permissions executable ntfs

9
推荐指数
1
解决办法
2万
查看次数

尽管来自非特权模式,但 mmap'ing /dev/mem 如何工作?

就我的理解而言,用户空间程序以非特权模式运行,因此无法直接访问内存或 I/O。

那么当我们在用户空间程序中映射 /dev/mem 时,我们究竟如何直接访问内存或 I/O 位置呢?

例如:

int fd = 0;
u8 leds = 0;
fd = open("/dev/mem", O_RDWR|O_SYNC);
leds = (u8 *)mmap(0, getpagesize(), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0x80840000);
Run Code Online (Sandbox Code Playgroud)

这是一种在嵌入式设备中非常常用的 hack。

现在leds可以动态使用该变量来访问可能存在于 0x80840000 处的任何设备。

我们将不再使用任何系统调用来访问该地址。

甚至像

leds[0x20] = val;
Run Code Online (Sandbox Code Playgroud)

会工作。

但是特权操作,例如直接从 I/O 地址读/写,应该只有通过系统调用将处理器置于特权模式才能实现。

来源

mmap privileges

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

executable ×1

mmap ×1

ntfs ×1

permissions ×1

privileges ×1

ubuntu ×1