Ale*_*lds 5 permissions perl sudo posix filehandle
我想将数据写入文件,但应该使用特定用户的访问权限打开文件句柄.
因此,以下声明:
open (FH, "> $filename") or die "$@\n";
Run Code Online (Sandbox Code Playgroud)
允许以特定用户身份写入文件.
有没有办法在Perl脚本中执行此操作,而不运行整个脚本sudo -u $username?
有两种既定方法。堆垛机,邀请您编辑此答案以填补每个答案的缺点。
使用 运行程序sudo。在程序中你要做的第一件事就是打开你需要的文件并保留句柄,然后立即删除 root 权限。任何进一步的处理都必须以低权限进行。Apache httpd 的工作方式如下,它将日志文件打开为root,但继续运行为nobody或类似。
如果您不喜欢这种方式,请正常运行程序,当您需要提升时,创建一个新进程并让它以用户配置的方式运行sudo,,/su -或诸如此类。CPAN 客户端的工作方式如下,它以普通用户身份获取、解压、构建和测试模块,但在安装时调用等。kdesugksusudo make install
| 归档时间: |
|
| 查看次数: |
2198 次 |
| 最近记录: |