我正在用 transmit 和 filezilla 往服务器上传文件, sftp 连接成功,却提示没有权限上传?

2017-02-23 12:04:39 +08:00
 kmdd33

我是用新用户上传的, sftp 已经连接成功,新用户已经变成了 root 权限,但是当我用 transmit 上传一个压缩包到/ home / wwwroot /时,提示: Make sure you have permission to modify this file. 没有权限?然后我查看 wwwroot 文件夹,已经是 755 了,怎么办?

1782 次点击
所在节点    问与答
7 条回复
shiji
2017-02-23 13:05:02 +08:00
我觉得问题在你这句“新用户已经变成了 root 权限”
你指的是不是把用户加入 sudo 了?
wwwroot 权限是 755 , 那 owner 和 group 是谁你没说。

解决方案,用 ssh 把 wwwroot 的所有者改成你当前账户就好了。
kmdd33
2017-02-23 14:12:17 +08:00
@shiji owner 和 group 都是 root ,我不是用 root 登陆的 sftp ,用的是新添加的用户,所以你的意思是: chown -R 新用户名:新用户名 /home/wwwroot/ ?需要执行这个命令?
ryd994
2017-02-23 14:32:21 +08:00
@kmdd33 既然 owner 和 group 都是 root , sftp 又不会自动 sudo ,怎么可能允许呢?
建议:`chown root:apache` 或者 root:nginx , 然后`chmod 775`,最后`usermod -a -G apache 或者 nginx 新用户`
kmdd33
2017-02-23 18:23:26 +08:00
@ryd994 我的是 lemp 环境,你的意思是不是让我输入: chown root:nginx /home/wwwroot/ 然后 usermod -a -G nginx:新用户。 但是这样做,不是把 wwwroot 这个文件夹和子目录的拥有者改成 root 了吗?跟 @shiji 说的意思好像不一样。
kmdd33
2017-02-23 18:38:33 +08:00
@ryd994 @shiji 抱歉,我去 wwwroot 文件夹查看了权限 ls -l
total 4
drwxr-xr-x 3 www www 4096 Feb 9 10:50 default 发现 wwwroot 文件夹是默认的 www www 拥有者和用户组,请问的:那我应该改成自己的用户名还是 root 还是 nginx ?
ryd994
2017-02-24 00:48:40 +08:00
@kmdd33 看看 groups nginx
Nginx 多半在 www 组里
如果那样的话 chmod 775 就好
ryd994
2017-02-24 00:50:25 +08:00
@kmdd33 Unix 权限: ugo user group other
按我的做法,虽然 u 不是,但是因为加了组,所以 g 匹配
775 给 g 权限就好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/342564

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX