我在Linux和Windows之间共享了第三个分区,我保留所有我的数据。我想开始玩代码,但我已经打了个嗝。如果我编译一个非可执行文件,它会输出一个不可执行文件。
关于NTFS的权限有几个问题,但我认为我正在寻求更细粒度的东西。
我希望对我的文档和文件夹拥有正常权限,但仍然可以尝试使用代码。也就是说,非可执行源文件应该编译为可执行程序文件。
要进行故障排除,我正在/dev/sdb1/
的可移动闪存驱动器上进行测试。这是我的mount和unmount命令,如果您想尝试,
mount -t ntfs-3g -o permissions,uid=1000,gid=1000,dmask=022,fmask=133,exec /dev/sdb1 /media/iam/usbstick
umount /dev/sdb1 /media/iam/usbstick
(我尝试了-o
参数的各种排列。)
以下是ex1.c
int main(int argc, char *argv[])
{
puts("Hello world.");
return 0;
}
和我的Makefile
ex1: ex1.c
gcc -o ex1 ex1.c
如果我在~/
进行编译,会发生什么。
-rwxrwxr-x 1 iam iam 8509 Sep 25 01:04 ex1*
-rw------- 1 iam iam 78 Sep 23 21:41 ex1.c
根据需要,ex1
是可执行的。这不适用于NTFS驱动器。那里编译的文件是不可执行的,我得到臭名昭着的“权限被拒绝”。