$filename") or die "$@\n"; 将允许以该特定用户的身份写入文件。 有-6ren">
gpt4 book ai didi

perl - 如何通过 sudo (或作为另一个用户)打开 Perl 文件句柄写入数据

转载 作者:行者123 更新时间:2023-12-02 09:46:29 25 4
gpt4 key购买 nike

我想将数据写入文件,但应使用特定用户的访问权限打开文件句柄。

因此,有以下声明:

open (FH, "> $filename") or die "$@\n";

将允许以该特定用户的身份写入文件。

有没有办法在 Perl 脚本中执行此操作,而无需使用 sudo -u $username 运行整个脚本?

最佳答案

有两种既定方法。堆垛机,邀请您编辑此答案以填补每个答案的缺点。

使用sudo运行程序。您在程序中要做的第一件事是打开您需要的文件并保留句柄,然后立即drop the root privileges 。任何进一步的处理都必须以低权限进行。 Apache httpd 的工作原理如下,它以 root 身份打开日志文件,但继续以 nobody 或类似身份运行。

如果您不喜欢这种方式,请正常运行程序,当您需要提升时,创建一个新进程并使用用户配置的 sudo, su - kdesu/gksu 或诸如此类。 CPAN 客户端的工作原理如下,它以普通用户的身份获取、解压、构建和测试模块,但在安装时调用 sudo make install 等。

关于perl - 如何通过 sudo (或作为另一个用户)打开 Perl 文件句柄写入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5823665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com