ssh登录linux vps使用wget下载文件后通过ftp无法更改文件的解决办法

      我在使用diahosting的linux vps是出现了ftp无法上传和修改文件,不能更改文件属性问题,我进行了ftp不能修改文件内容和属性的尝试解决方法。最终通过反复尝试,终于找到问题的原因:
      我ssh登录vps后,转移网站是为了方便使用wget命令直接原服务器将备份下载到我的新的vps上,然后通过unzip解压缩。而这几部都是在root用户下操作的。因为ssh登录时,用户名就是root。在linux中root用户权限就相当于windows中的administrator,是顶级管理员,享有最高权限。我的新建ftp账号,在linux中只是个普通用户,自然就无法修改root创建的文件了,也无法更改这些文件的属性。找到了问题的根结。那么就是怎么解决了。方法就是将wget后unzip的所有文件和文件夹得权限改成ftp用户可以访问修改的。具体:
1.先用root通过ssh登录vps,cd 到达网站根目录,然后可以通过# ls -l 显示文件夹的用户权限详情,我发现果然都是root,需要改成admin;
2.如何更改呢?就得用到这篇里面的方法了linux中更改文件及文件
夹所有者权限设置命令chown使用详解

3.按上面的操作一切搞定。ok了。
    此为笔记,做个记号。

linux中更改文件及文件夹所有者权限设置命令chown使用详解

我用到chown这个比较小众的linux命令,还是起源于国外VPS中ftp无法上传和修改
文件,不能更改文件属性问题
,先介绍下chown这个命令。
指令名称 : chown     使用权限 : root
使用方式 : chown [-cfhvR] [–help] [–version] user[:group] file…
PS : 利用 chown 可以将档案的拥有者加以改变。这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

参数:
-c或-change:作用与-v相似,但只传回修改的部分
-f或–quiet或–silent:不显示错误信息
-h或–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件
-R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-v或–verbose:显示指令执行过程
–dereference:作用和-h刚好相反
–help:显示在线说明
–reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同
–version:显示版本信息

chown命令使用举例:(像我用的vps,就要先ssh登录)

# chown [-R] [用户名称] [文件或目录]
# chown[-R] [用户名称:组名称] [文件或目录]

范例1:将test3.txt文件的属主改为test用户。
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown test:root test3.txt
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59

范例2:chown所接的新的属主和新的属组之间可以使用:连接,属主和属组之一可以为空。如果属主为空,应该是“:属组”;如果属组为空,“:”可以不用带上。

# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt

# chown :test test3.txt <==把文件test3.txt的属组改为test
# ls -l test3.txt
-rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt

范例3:chown也提供了-R参数,这个参数对目录改变属主和属组极为有用,可以通过加 -R参数来改变某个目录下的所有文件到新的属主或属组。
# ls -l testdir <== 查看testdir目录属性
drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件属主是usr用户,属组是 root用户
# ls -lr testdir <==查看testdir目录下所有文件及其属性
total 0
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt
# chown -R test:test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组
# ls -l testdir
drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/
# ls -lr testdir
total 0
-rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt

国外VPS中ftp无法上传和修改文件,不能更改文件等属性的问题

      如题,我在使用diahosting的vps是遇到ftp的问题,详细情况:
      在给VPS安装了CentOS5.4后,为方便管理我按照了kloxo控制面板。都设置好后,绑定域名后自动生成了一个ftp账号,这一切都很正常,测试网站也能看到首页。所以决定转移网站到VPS上。因为我使用的都是国外Linux空间,所以备份和转移网站使用ssh来操作非常方便。
      于是,我在原来的lunarpages的虚拟主机上将网站打包备份成zip格式文件,然后ssh登录vps直接使用wget命令将网站备份从lp的主机上下载到我的vps上,再通过unzip命令解压缩网站备份。这些都很顺利,问题出在下面。
     当我用自动生成的ftp账号通过FlashFXP更改wp-config.php这个文件中的数据库等信息时,修改了信息上传时一点反应也没有。于是我测试通过ftp来修改文件和文件夹的属性,例如将文件属性644改为777,结果都无效。我想能登录ftp,说明我的ftp账号密码以及访问权限也没有问题。经过反复试验,我做了如下推测:
      1.FlashFXP设置错误导致所有修改失效;
      2.kloxo控制面板自动生成的ftp账号的问题;
      3.CentOS5.4的系统设置问题,ftp账号的访问权限设置错误。
那么到底问题出在哪里呢?

将博客移到diahosting的vps上并恢复更新

站长笔记博客已经将近半年没有更新了,本也打算放弃这个域名,可是总是舍不得。无论如何她是我用心经营过的第一个博客。所以,准备继续更新。

利用双休日,将博客移到diahosting的vps上,顺带测试一下diahosting的性能。先说说这次迁移网站的原因和经过。

博客一直放在lunarpages的虚拟主机中,最近4-5个月lp的速度忒慢。白天还行,一到晚上,Ping值基本在350ms以上,打开速度犹如老牛耕田,掉包严重。具体原因未知,因为自己有2个备用的空间dreamhost的虚拟主机和diahosting的VPS。所以就暂时没有联系lunarpages的客服。

2月27日,diahosting的VPS开通后,自己又重装了系统。并且安装了一个kloxo的控制面板,方便管理和使用。一切做好后,用自己的一个备用域名测试,一切正常。然后就在lp上在线压缩备份了我的博客。
   通过ssh登录,直接使用wget命令将备份下载到vps中。那个速度这是爽啊,40多兆的备份,下载只用了10秒不到就从lunarpages虚拟主机上转移到了现在的VPS上,毕竟服务器都在美国,不用再像以前一样先得把备份ftp到本地,再ftp上新的服务器。
   可惜,本以为一切搞定,可绑定域名,都设置好后网站始终访问不了。我又重新删除然后再重做一遍,问题依旧——500错误,无法访问。找了很多原因却忘记了,在lunarpges中设置了htaccess 中的”suPHP_ConfigPath /home/***/public_html/”,将此删除,终于看到了首页。