因此,以下声明:
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(或作为另一个用户)写入数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)