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

如何打开Perl文件句柄以通过sudo(或作为另一个用户)写入数据,第1张

概述我想将数据写入文件,但应该使用特定用户的访问权限打开文件句柄. 因此,以下声明: open (FH, "> $filename") or die "$@\n"; 允许以特定用户身份写入文件. 有没有办法在Perl脚本中执行此 *** 作,而不使用sudo -u $username运行整个脚本? 有两种既定的方法.堆叠器,您被邀请编辑此答案以填补每个答案的缺点. 用sudo运行程序.您在程序中执行的第一件事 我想将数据写入文件,但应该使用特定用户的访问权限打开文件句柄.

因此,以下声明:

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

允许以特定用户身份写入文件.

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

解决方法 有两种既定的方法.堆叠器,您被邀请编辑此答案以填补每个答案的缺点.

用sudo运行程序.您在程序中执行的第一件事是打开所需的文件并保留句柄,然后立即执行drop the root privileges.必须以低权限进行任何进一步处理. Apache httpd工作就像这样,它以root身份打开日志文件,但继续以无人或类似方式运行.

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

总结

以上是内存溢出为你收集整理的如何打开Perl文件句柄以通过sudo(或作为另一个用户)写入数据全部内容,希望文章能够帮你解决如何打开Perl文件句柄以通过sudo(或作为另一个用户)写入数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1269978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存