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

Linux新手求助:如何获取向shiny-server目录复制文件的权限

解决/srv/shiny-server目录的复制权限问题

嘿,作为Linux新手遇到权限问题太正常啦,我来帮你搞定这个事儿!

从你给出的ls -l输出能看到,/srv/shiny-server的所有者和所属组都是root,权限是drwxr-xr-x——这意味着只有root用户拥有写入权限,普通用户(比如你的stefan账号)只能读和进入目录,所以你执行复制命令时才会收到Permission denied的报错。

下面给你几种可行的解决方案,你可以根据自己的需求选择:

方案1:临时用sudo执行复制(适合偶尔操作)

直接在复制命令前加上sudo,临时获取root权限完成操作:

sudo cp -a /home/stefan/Downloads/testfile /srv/shiny-server

执行后会提示你输入当前用户(stefan)的密码,输入后就能顺利完成复制了。

方案2:配置目录权限,让你的用户长期拥有写入权限(推荐)

如果之后你需要频繁往这个目录里传文件,更稳妥的方式是调整目录的组权限:

  1. 先创建一个专门用于管理shiny-server目录的用户组(如果还没有的话):
    sudo groupadd shiny-users
    
  2. 把你的stefan用户加入这个组:
    sudo usermod -aG shiny-users stefan
    

    注意:执行完这条命令后,你需要重新登录终端或者重启会话,新的组权限才会生效。

  3. 修改/srv/shiny-server的所属组为shiny-users,并给组添加写入权限:
    sudo chown root:shiny-users /srv/shiny-server && sudo chmod g+w /srv/shiny-server
    

完成这些步骤后,你以后再往这个目录复制文件就不用加sudo了,而且不会影响shiny-server服务的正常运行。

方案3:修改目录的所有者为你的用户(不推荐)

虽然可以把目录的所有者改成stefan,但这可能会导致shiny-server服务无法正常访问目录内容,引发其他问题,所以只建议在测试场景下临时使用:

sudo chown stefan:stefan /srv/shiny-server

如果之后遇到shiny-server服务异常,记得把权限改回来:

sudo chown root:root /srv/shiny-server

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:26:51