You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unix环境下跨用户家目录复制文件权限问题咨询

跨用户目录复制文件并设置目标权限的解决方案

我来给你梳理个靠谱的操作流程,完全符合你的需求:

  • 首先切换到user1身份:如果当前是user2账号,直接执行su - user1,输入user1的密码即可切换;如果是管理员账号,同样用su - user1切换过去。
  • 方案一:用管道直接传递内容(更安全,无临时文件残留)
    在user1的会话中执行这条命令,输入user2的密码即可完成复制并设置权限:
    cat /home/user1/file.txt | su user2 -c "cat > /home/user2/file.txt && chown user2:user2 /home/user2/file.txt"
    
    原理:通过管道把源文件内容传给su user2启动的会话,在user2身份下写入目标路径,同时直接修改文件的所属用户为user2。
  • 方案二:借助临时目录(适合大文件,管道传输效率更高)
    1. 先把源文件复制到公共临时目录(比如/tmp,所有用户都能访问):
      cp /home/user1/file.txt /tmp/temp_file.txt
      
    2. 接着在user1身份下,切换到user2完成最终复制和权限设置,顺便清理临时文件:
      su user2 -c "cp /tmp/temp_file.txt /home/user2/file.txt && chown user2:user2 /home/user2/file.txt && rm /tmp/temp_file.txt"
      
      原理:先把文件放到双方都能访问的临时区域,再用user2的权限写入目标目录,最后清理临时文件避免残留。

注意:两种方案都需要你知道user2的密码,因为user1执行su user2时需要验证凭据,这完全符合你作为管理员知晓双方密码的前提。

内容的提问来源于stack exchange,提问作者Tuomas Toivonen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:30:37