小编Abb*_*ree的帖子

scp 更改 /tmp 目录的权限

我使用一个期望脚本来自动将一些支持文件传输到终端上。支持文件在被 scp 到目标终端之前会自动压缩。这是由内部的 expect 程序完成的,该程序会自动填写 scp 的密码,因此我们不必输入密码。我可以毫无问题地复制单个文件,但是当我尝试复制 tar.gz 时文件,它更改 /tmp 目录的权限。我一直在将 /tmp 目录修改回 1777 以获得权​​限并将其更改为 root.root,这是它通常的设置方式,但这并不总是有效。由于sqlite无法将临时文件写入/tmp,这会导致sqlite错误,这非常具有破坏性。我如何确定造成这种情况的确切原因?我知道它必须与 tar.gz 文件有关,

我的目录中文件的权限是:

-rw-rw-r-- 1 aembree aembree  88K Oct  2 15:20 dropin.tar.gz
Run Code Online (Sandbox Code Playgroud)

在传输之前 /tmp 在 ls -al 中看起来像这样:

drwxrwxrwt  15 root root 8.4K Oct  2 15:08 tmp
Run Code Online (Sandbox Code Playgroud)

传输后 /tmp 看起来像这样:

drwxrwxr-x  15 10539 10539 8.4K Oct  2 15:01 tmp
Run Code Online (Sandbox Code Playgroud)

正在运行的 tar 命令如下:

tar -vPczf /home/aembree/bin/resources/dev/dropin.tar.gz --exclude='helperscript' -C $dropinlist . > /home/aembree/bin/resources/logs/tarlog
Run Code Online (Sandbox Code Playgroud)

一旦文件在远程机器上,expect 执行以下命令来解压它:

send "cd /tmp ; tar -xzf dropin.tar.gz ; rm dropin.tar.gz ; …
Run Code Online (Sandbox Code Playgroud)

scp tar permissions

4
推荐指数
1
解决办法
1177
查看次数

标签 统计

permissions ×1

scp ×1

tar ×1