使用 C++ 锁定/防止在 Linux 上编辑源文件

发布于 2024-07-06 02:26:10 字数 155 浏览 6 评论 0原文

如何使用 C++ 在 Linux 上以编程方式锁定/解锁或以其他方式阻止/启用编辑源文件。

我希望能够锁定源文件,这样如果我在编辑器中打开它,它就不允许我保存回同一个源文件。

我正在考虑将权限更改为只读(稍后将其更改回读写):如何从 C++ 中做到这一点?

How can I programmatically lock/unlock, or otherwise prevent/enable editing, a source file on Linux using C++.

I want to be able to lock source file so that if I open it in an editor it will not allow me to save back to the same source file.

I am thinking of maybe changing the permissions to read-only (and change it back to read-write later): how do I do that from C++?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦幻的心爱 2024-07-13 02:26:10

尝试 man fchmod:

NAME
       chmod, fchmod - change permissions of a file

SYNOPSIS
       #include <sys/types.h>
       #include <sys/stat.h>

       int chmod(const char *path, mode_t mode);
       int fchmod(int fildes, mode_t mode);

Try man fchmod:

NAME
       chmod, fchmod - change permissions of a file

SYNOPSIS
       #include <sys/types.h>
       #include <sys/stat.h>

       int chmod(const char *path, mode_t mode);
       int fchmod(int fildes, mode_t mode);
2024-07-13 02:26:10

为什么不使用 CVS 或 Subversion 等源代码管理工具? CVS 具有很好的锁定功能(Subversion 也是如此)。 更重要的是,你有变化的历史。 更好的是(无论如何使用 CVS)您必须执行“签出”步骤以使文件可写。

Why aren't you using a source code management tool like CVS or Subversion? CVS does nice locking (so does Subversion). More importantly, you have the history of changes. Better still (with CVS anyway) you have to make the step of doing a "checkout" to make the file writeable.

愁杀 2024-07-13 02:26:10

是的,有点难以判断您在寻找什么

  • 防止其他用户编辑您的文件的安全性 -> 使用“chmod,fchmod”

  • 防止您自己不小心弄乱您的源文件 -> 你真的应该改变你的想法并使用源代码控制工具。 就像 Subversion (SVN) 甚至更好 Mercurial

Yes, it is a bit hard to tell what you are looking for

  • Security against other users editing you files -> use "chmod, fchmod"

  • Security against you yourself accidentally messing with your source files -> you should really change your thinking and use a source control tool. Like Subversion (SVN) or even better Mercurial.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文