【发布时间】:2015-07-16 17:05:17
【问题描述】:
我有一个简单的脚本,可以将文件解压缩到已安装的 Windows 共享。它通常在新电子邮件到达时作为 Postfix 别名启动,但即使我以 root 身份运行它,我也会收到权限被拒绝错误。
脚本正在这样做:
if ( </tmp/*.zip> ){
unzip '</tmp/*.zip>' => '</mnt/win/#1.txt>'
or die "unzip failed: $UnzipError\n";
}
作为 root,我可以毫无问题地将文件复制到 /mnt/win,但是当 Postfix 启动此脚本时,它会因权限被拒绝而失败。
/etc/fstab 看起来像:
//srvr1/tmp /mnt/win cifs credentials=/root/.smbcredentials,iocharset=iso8859-1,sec=ntlm 0 0
ls -ld 看起来像:
drwxr-xr-x 2 root root 196608 Jul 15 17:24 /mnt/win
脚本生成的文件是nobody/nogroup,但我不确定如何更改/mnt/win 的权限以允许nobody/nogroup 读取/写入。
cmhod -R ugo+RW /mnt/win
还授予权限被拒绝。有没有办法更改 /etc/fstab 中的权限以允许 nobody/nogroup?
【问题讨论】:
-
你的
unzip来自哪个模块?您真的要解压缩名为</mnt/win/#1.txt>的文件吗? -
unzip 来自
IO::Uncompress::unzip- 该命令中有一个参数在末尾添加文件名。
标签: perl permissions smb