如你所知,折腾的人永远有折腾得的事情好做,比如我今天想要试试看IPower的解压功能,一不小心解了一个中文名的文件到了用户根目录,解压出文件权限是644,文件名是一堆乱码……用FTPRush删除无效,重命名无效,移动也无效;PhpSpy的文件管理功能删除、重命名、移动也全都无效。
网上搜索Linux下删除乱码文件的方法,内容一大堆,但无一不需要使用Shell;唯一我可以使用的办法,就是用PhpSpy执行命令,用输入输出重定向来把ls输出的文件名直接导给rm命令;但是怎么试验都不成功,毕竟我只能执行一行命令,没法用vi(需要编辑ls生成的文件)。后来偶然看到有人说FTP可以删除,我试过了没用啊?难道有什么地方忽略了?
我突然想到我的FTPRush是Unicode版的,而FTPRush的列表命令有一个编码的选择。打开工具-站点管理窗口-双击你的站点-目录列表方式-站点目录的字符集-选择WE/latin1(850)(大部分没有设置过locale的主机应该是这样),然后再登录FTP,发现乱码变了样子;删除之,一下子就成功了!
结论:用FTP方式可以删除大部分乱码文件,除非有真正的系统不能接受的字符;但是删除的时候要确保你列出的文件名是正确的,这时候就需要把列表方式的编码设置正确。
新接手一台FTP Server,其上本来的FTPD为vsftpd+ncftpd,vs做前台,仅提供匿名下载,nc做后台,仅给管理员使用。nc很不稳定,效率不高,功能单薄,我准备换成glftpd。但是糟糕的是,ncftpd原来只有一个管理员账号,所有的文件都属于这个用户,而且很多文件权限不是755,甚至只有644。有root当然可以chmod和chown,但是,原来1.5T的数据,且不是高速更新的FTP,如何chown?
glftpd安装的时候,被我装在了 /jail 下,选择了“封闭环境”安装。但是当我尝试把别处的目录mount到它下面的时候,就遇到权限的问题,不仅不能删除很多来自ncftpd的文件,甚至部分文件根本无法访问。最糟糕的是,glftpd下载的时候会写文件(我后来才知道可以关掉这个功能),每下载一次,它会把该文件的GID加一,以方便计算下载总数。
于是我们的问题就归结成了,如何让glftpd获得UID不是100(新建用户默认值)的文件的所有权?
翻看glftpd的文档,发现了一个本来应该不相干的内容:如何突破glftpd的chroot。我们都知道glftpd是用root启动的,但是启动后它会立刻换成较低权限的用户去运行,并且将该用户的root限定在某一个固定的目录下(在我的安装中,默认是“封闭环境”的根目录,即 /jail )有的人需要突破这种限制,比如访问上层目录下的文件。我本来想用mount解决这个问题的,但是它的步骤说明吸引了我:
Read the rest of this entry »
大家也许已经习惯了我的资源发布帖子,但这一次,我要带给大家的不是什么资源,而是一个告别。
很小的时候就接触过FTP软件,那时候是用来更新163个人主页的,当时从没想过可以有自由开放的FTP供大家下载(公众网上本来就没有多少这样的服务器)。大一刚入学的时候,我第一次接触到了校园网FTP,才明白资源原来也是可以这样分享的,当时的著名FTP,比如音乐收录几近完美的cos,下动漫的cot,游戏的Lilystudio’s,电影的Thephy,怎么也连不上的FTP2,都是我常去的乐园,当时从未想过这些资源是从哪里来的,也从未想过自己会去做这些事情。
后来,误打误撞进了百合工作室,又莫名其妙地混到了几个公众网资源论坛的账号,加上手头几台闲置的服务器,出于好奇和激情,就做起FTPer来。
从上个学期开始,到现在已经快一年了,从一开始的只运行了很短时间的法学院FTP,到工作室FTP,再到新的服务器——244,再到现在的media,我一共做过4台FTP服务器的总管理员,另外做过yaoge123两台服务器的管理员。FTPD从Serv-U到Gene6,又换了很多版本,客户端也从FlashFXP到FTPRush,后来还自己掏钱买了一份正版的FTPRush的Lifetime upgradable License。这段时间的生活,我付出了很多,也学到了很多。
Read the rest of this entry »
Recent Comments