【问题标题】:Can I run C++ projects in Ubuntu from an NTFS partition?我可以从 NTFS 分区在 Ubuntu 中运行 C++ 项目吗?
【发布时间】:2012-06-19 08:41:38
【问题描述】:

我有一个额外的 NTFS 分区来存储我想在 WIndows 和 Ubuntu 中使用的数据。 我在那里做了一个 C++ 项目。 这是一个简单的 Hello World 控制台应用程序。

我在运行时收到此错误。

sh :1 :/media/Data1/blah/blah/project/bin/debug/project :permission denied

我的 fstab 文件如下所示:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0

Blkid:

/dev/sda1: SEC_TYPE="msdos" LABEL="DellUtility" UUID="5450-4444" TYPE="vfat" 
/dev/sda2: LABEL="RECOVERY" UUID="4248184648183ADD" TYPE="ntfs" 
/dev/sda3: LABEL="OS" UUID="20081BCC081B9FB8" TYPE="ntfs" 
/dev/sda5: UUID="bc712346-c70f-4bc6-9f21-48bae91b8b02" TYPE="swap" 
/dev/sda6: UUID="1915e08f-1961-437f-900a-3dd37a26118b" TYPE="ext4" 
/dev/sda7: UUID="bcb714f1-7428-4e5f-8cf9-73ae724ada57" TYPE="ext4" 
/dev/sda8: LABEL="Data1" UUID="7FCF22B82B6665CB" TYPE="ntfs" 
/dev/sda9: LABEL="Data2" UUID="411A8CDC1D33E6FA" TYPE="ntfs"

【问题讨论】:

标签: c++ ubuntu codeblocks ntfs


【解决方案1】:

你可以,如果你从 fstab 中删除 noexec 选项

【讨论】:

  • 删除或更改为“exec”?
  • 删除,我想。之后需要重新挂载分区,或者重启整个系统
  • 我的 fstab 文件看起来还好吗?我不想把事情搞砸。
  • sudo mount -o remount,exec /path/to/mountpoint 在运行时使用exec 重新挂载。这可能是 U 盘
  • 不是。它是我唯一硬盘中的一个额外分区。
【解决方案2】:

在运行时使用 exec 重新挂载

sudo mount -o remount,exec /media/Data1

让它在重启后保持不变:

我建议添加

LABEL=Data1 /media/Data1  auto auto,exec 0  0
LABEL=Data2 /media/Data2  auto auto,exec 0  0

到您的 fstab 文件。

重启,完成。

【讨论】:

  • 由于我使用 Linux 和 Windows 双重引导并多次使用 Windows,如果我允许 2 个 NTFS 分区执行其二进制文件,我是否没有风险? NTFS 分区可能包含来自 Windows 的病毒。我对安全不是很精通。你建议我改用 ext4 分区吗? (因为 Windows 不能使用 ext4)使用 NTFS 的唯一原因是我可以在 Windows 和 Ubuntu 上查看它。
  • 没关系:windows默认所有(本地)分区都在'exec'中。该标志仅影响 linux 端。如果您运行 wine(windows 仿真),您可能需要检查 clamav(免费病毒扫描程序)或类似的。
  • 我在 Windows 上有一个很好的防病毒软件,因为 Windows 在 exec 中有所有(本地)分区。是的,我指的是 linux 本身。我想问的是,Linux 是否容易受到使用 Windows 时进入的有害程序的攻击。
  • @learner Linux 将远易受攻击(病毒/恶意软件取决于高度特定的操作系统特征)。注意:如果您运行 wine,您可以在 linux 上运行 Windows 程序。现在:同样,linux 并没有更容易受到攻击,因为很明显,windows 可以运行相同的程序。再加上windows恶意软件通常是从浏览器、注册表或(侧通道)安装的注册组件触发的,所有这些因素在linux端都将不存在,所以即使你的windows端被感染了,这些恶意程序实际上也不会被感染启动进入 Ubuntu 时加载。
  • 长话短说:Ubuntu 恶意软件和 Windows 恶意软件在很大程度上是相互排斥的。挂载 'exec' 与 Windows 的默认设置同样安全。 (实际上这无关紧要,因为恶意软件不适合 Linux/Wine)
猜你喜欢
  • 2011-06-08
  • 2017-04-18
  • 1970-01-01
  • 2020-08-11
  • 2018-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多