有一块嵌入式开发版,系统是 fedora 28,想要扩展容量,就插了一块 sd 卡( MS-DOS 格式)。通过mount
命令挂载到了桌面上的sd
文件夹,可以正常存取文件,但是如果是可执行文件不能执行。试过用 chmod 更改文件权限,无效。请教一下应该如何处理(如何在 sd 卡上直接执行二进制程序)?
感谢各位的回复,两种方法我都尝试了。
mount /dev/mmcblk0p1 /home/openailab/Desktop/sd/ -o dmask=000,fmask=111,umask=000
命令添加参数的方法好像并没有作用,chmod 777 ./exec
并不能改变文件权限(exec是可自行程序)。sudo mkfs.ext4 /dev/mmcblk0p1
格式化为ext4格式,就可以通过chmod命令改变权限了。 1
boris93 2020-12-18 17:15:23 +08:00 via Android
> 但是如果是可执行文件不能执行。试过用 chmod 更改文件权限,无效。
请避免使用这类模糊的描述。 放出你的操作步骤,以及报错信息,这样我们才能帮到你。 |
2
ysc3839 2020-12-18 17:17:27 +08:00 via Android
|
3
XiLingHost 2020-12-18 17:17:57 +08:00 1
ms-dos 格式,意思是文件系统是 fat32 ?你重新格式化为 ext4 试试吧
|
4
ysc3839 2020-12-18 17:18:22 +08:00 via Android 1
另外既然是扩展容量而不是临时使用,建议格式化为 ext4 或者 f2fs 文件系统。
|
5
tinkerer 2020-12-18 17:21:44 +08:00
不能执行会有错误提示吧, 给多点信息
|
6
systemcall 2020-12-18 18:01:58 +08:00
ms-dos 格式好像是不支持权限的吧。最简单的方法是格式化成 jffs2 之类的格式,再来挂载
|
7
lc1450 2020-12-18 18:50:46 +08:00
应该是文件系统问题, 我有个硬盘 NTFS 分区挂路由器上就遇到这样的问题,最后格式化成 ext4 就好了
|
8
noe132 2020-12-18 19:06:26 +08:00 1
mount 的时候设置 umask=000 这样就能运行了
|
9
Osk 2020-12-18 19:49:53 +08:00 via Android
方法一:重新格式化为 Linux 的 fs
方法二:挂载时设置带 x 的 fmask |
10
Judoon 2020-12-19 11:38:13 +08:00
因为 ntfs 和 fat 之类的文件系统没有 rwx 这样的权限元信息。
|
11
MasterCai OP @Judoon 原来是这样,学习了。但是 win 使用的就是 ntfs 格式,不也存在文件权限管理的情景吗,没有这种权限信息要怎么处理文件权限
|
12
AoEiuV020 2020-12-19 16:15:17 +08:00
@MasterCai 啊这不能和 win 比,完全不同的机制,win 直接看文件名后缀决定是否可执行文件的,
事实上 linux 挂载 vfat 或者 ntfs 都可以在挂载时指定挂载成所有文件拥有 x 权限,就可以运行可执行文件了, |
13
MasterCai OP @AoEiuV020 我想问的是多用户权限管理以及这个文件的读,写,执行权限的控制,这个好像在一个文件的属性里可以设置,但是如果没有这个权限信息的话是如何做到的呢?
在挂载的时候设置权限我也试过设置 mount 命令参数"dmask=000,fmask=111,umask=000",但是没有效果呀,最后还是格式化为 ext4 格式了。 |
14
ysc3839 2020-12-19 19:41:54 +08:00 1
|
15
AoEiuV020 2020-12-21 10:26:59 +08:00
@MasterCai 没有权限信息是不可能的,不管是 win 还是 linux 都有在文件头里储存文件内容以外的信息,
挂载的话参数是类似 file_mode=777 这样的,mask 影响的是新建文件的权限,这些不常用的参数都可以用前搜索一下的, |
16
julyclyde 2020-12-21 11:43:23 +08:00
FAT 没有 x mode
|
17
ungrown 2020-12-21 12:27:52 +08:00
NTFS 和 FAT 不一样,和 EXT 也不一样
VFAT 就是没有权限这个说法,要不然当初 winxp 时代微软也不会推荐大家告别 FAT32 拥抱 NTFS NTFS 的权限系统又和 Linux 的权限是两个概念 所以说到底还是要补充“文件系统”的相关知识 |