由于IT对整个公司的IP网段进行了更替,导致svn连接不上。
于是想到了用命令行切换源的IP。
在windows平台下是很方便的,直接用小乌龟relocate就OK了。可是mac下面没有,linux下面也没有这样的gui界面。所以就用命令行了
网上找到资料都是svn relocate,但运行了一下,发现没有这个命令,只有svn switch --relocate
嗯,于是发现命令就是这样的:
svn switch --relocate FROM TO 原来的svn地址 新的SVN地址
--------
郝老师说svn sw就可以了,没有试过,我先备一下
又是google来的一篇备份性的文章,经测试成功了。所以备份下来:http://hi.baidu.com/sunnynatinc/blog/item/bd50e5ced55ed80e93457e38.html
OK,上原文:
使用pure-ftp最头疼的估计是要使用mysql做数据库和使用web管理了
其实就算没有装或不使用mysql也一样可以顺利且简便的使用pure-ftp搭建ftp服务器
下面介绍一下简单配置的经过
1、当然是取得pure-ftp了,直接在线安装,命令:
$ sudo apt-get install pure-ftpd 即可安装。
2、测试:当安装好以后没有进行配置的时候,ftp指向的默认目录是/home文件夹,如果使用ftp客户端软件链接127.0.0.1:21,提示你输入用户名和密码,则ftp已经安装好了。
3、配置:
1)了解pure-ftpd调用配置文件的方式。pure-ftp不是调用某一个配置文件,而是调用/etc/pure-ftpd/conf/中的一堆文 件进行配置加载,这和samba,apache配置有所区别。每一个配置文件其实只有一行,要么yes,要么no,或者1,0等等,比较方便定义。
2)开始进行基本配置。
进入到/etc/pure-ftpd/conf中,这里记下目录和目录中文件的权限,分别是755和644。
列目录为以下情况,只有 AltLog MinUID NoAnonymous PAMAuthentication PureDB UnixAuthentication等文件,这些文件都是配置文件。光有这些还不够,因此自己还要添加其他配置文件。
编辑基本配置,如监听21端口,使用某IP地址:
$ su #切换到root
(如果没有设置root账号是没有办法切换的,可以不切换,回到上层菜单将conf/的(包含子目录)权限设置为777,$ sudo chmod -R 777 conf/ 即可使用nano编写,编写完毕之后恢复目录755及文件644的属性),或者对shell脚本熟悉的可以使用sudo sh -c “echo 'xxx' > XXX" 来编写添加配置文件。以下均使用root权限编写。
监听端口
# echo ,21 > Bind ****添加bind 21端口监听 如果没有root权限则可以这样 $ sudo nano Bind 然后在其中编辑,21后保存退出,或 $ sudo sh -c "echo ',21' > Bind" 来添加
# echo 192.xx.xx.22 > ForcePassiveIP ****添加IP
# echo 4500 4600 > PassivePortRange ****添加端口范围
字符编码及文件设置
文件FSCharset中设定为UTF-8,这样有的在使用浏览器ftp的时候会出现中文乱码,增加一个客户端字符编码文件就可以解决
# echo gbk > ClientCharset ****(或gbk2132) 都可以
# echo yes > KeepAllFiles ****保留所有文件,用户不能删除文件
# echo yes > AutoRename ****自动更名,防止文件被覆盖
推荐的安全配置
# echo yes > ChrootEveryone ****限制用户root权限
# echo yes > ProhibitDotFilesRead ****可以读取以.开头的文件
# echo yes > ProhibitDotFilesWrite ****可以写以.开头的文件
# echo yes > NoChmod ****不允许更改权限
# echo yes > BrokenClientsCompatibility ****多种兼容性客户端
网络设置
# echo 4 > MaxClientsPerIP ****每个IP最大连接数
# echo 20 > MaxClientsNumber ****客户端同时链接最大数
3)设置认证方式,将unix和PAM认证都设置为“no“,这一步中本身目录中就有这两个文件,只要修改其字符就可以了,unix原来就是no,用nano将PAM中的yes改为no就可以。如果没有这两个文件,则自己添加。
# echo no > PAMAuthentication
# echo no > UnixAuthentication
# echo /etc/pure-ftpd/pureftpd.pdb > PureDB ****建立pure-ftp的认证文件 这句可以使用nano建立PureDB文件,其内容为/etc/pure-ftpd/pureftpd.pdb
# ln -s /etc/pure-ftpd/conf/PureDB ../auth/50pure ****建立认证链接文件
创建用户和指定ftp目录
# groupadd -g 2001 ftpgroup ****增加GID为2001的ftpgroup组
# useradd -u 2001 -s /bin/false -d /dev/null -c "pureftpd user" -g ftpgroup ftpuser ****增加ftpuser用户,切没有/bin的shell操作与/dev的设备操作权
使用pure-pw命令添加虚拟用户
# pure-pw useradd yourname -u ftpuser -d /yourname/ftp/ ****增加(yourname)用户并指定ftp目录为 /yourname/ftp/ 这里根据实际情况自行修改
回车后就提示输入密码(输入2次)
# pure-pw mkdb ****添加进认证数据文件
最后重启pure-ftpd
# /etc/init.d/pure-ftpd restart
如果仅仅是单位或定向ftp,则只添加一个账户就可以了,便于管理。如果使用所账户或可以匿名登录的,那就需要使用mysql的数据库来管理,配置也不繁 琐。 如果觉得还不够安全可以使用openssl来添加TLS/SSL支持,激活一个私有证书,这样传输内容经过加密,就更安全。
4)“关于ssl“
安装: # apt-get install openssl
# echo 1 > TLS ****打开TLS加密
# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem ****生成加密文件
# chmod 600 /etc/ssl/private/pure-ftpd.pem ****更改加密文件权限
重启pure-ftpd生效
5)“关于FXP协议“
如果只是内网或认证用户使用ftp,则可以打开FXP协议。由于FXP协议很不安全,不建议外网或允许匿名访问的ftp服务器打开FXP协议支持。
4、至此一个完整的ftp服务器就架构好了,可以使用任何一种ftp客户端登录使用。多用户还可以分别指定其目录或自动生成目录,设置目录UMASK等等,总体来说 功能还是很强大的。
------------
果然是超级简单的FTP服务器
来自官方的wiki:http://wiki.ubuntu.org.cn/Vsftpd%E8%99%9A%E6%8B%9F%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE
做个备份。简单配置vsftpd
目标
首先我们假定你已经安装了vsftpd,并在/home/vsftpd 目录下建立了以下3个子目录
下面,我们要建3个虚拟用户,密码分别是用户名后加"00"
使得
- 用户db1 的主目录为 dbzh1 ,在该目录下只有只读权限
- 用户db2 的主目录为 dbzh2,在该目录下只有只读权限
- 用户db3 的主目录为 dbzh3 ,在该目录下拥有所有权限
创建虚拟用户数据库
创建文本文件loguser.txt
格式如下:
XML/HTML代码
- user_id
- password
于是,我们/home/loguser.txt文件的内容为
XML/HTML代码
- db1
- db100
- db2
- db200
- db3
- db300
生成数据库
如果你以前没装过libdb4.6-util 或者你不清楚装没装,需先执行下面的命令
sudo apt-get install db4.6-util
然后,我们执行
sudo db4.6_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db
最后设置一下数据库文件的访问权限
sudo chmod 600 /etc/vsftpd_login.db
配置PAM文件
编辑文件/etc/pam.d/vsftpd.vu 将以下内容增加的原文件前面两行:
XML/HTML代码
- auth required pam_userdb.so db=/etc/vsftpd_login
- account required pam_userdb.so db=/etc/vsftpd_login
- 我们上一步建立的数据库 vsftpd_login 在此处被使用
- 我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的,稍后你将发现。
为虚拟用户创建本地系统用户
新建一个系统用户vsftpd,用户家目录为/home/vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统)
XML/HTML代码
- sudo useradd vsftpd -d /home/vsftpd -s /bin/false
- sudo chown vsftpd:vsftpd /home/vsftpd
/etc/vsftpd.conf
根据需要创建/etc/vsftpd.conf,一般要确保含有以下设置:
XML/HTML代码
- listen=YES
- anonymous_enable=NO
- dirmessage_enable=YES
- xferlog_enable=YES
- xferlog_file=/var/log/vsftpd.log
- xferlog_std_format=YES
- chroot_local_user=YES
- guest_enable=YES
- guest_username=vsftpd
- user_config_dir=/etc/vsftpd_user_conf
- pam_service_name=vsftpd.vu
- local_enable=YES
- secure_chroot_dir=/var/run/vsftpd
现在为止,我们的3个用户都可以工作了,可是它们的根目录现在都是/home/vsftpd,权限也都一样。 那么怎么才能完成我们预定的目标呢?
/etc/vsftpd_user_conf
在上面的配置中,有这么一行
user_config_dir=/etc/vsftpd_user_conf
现在,我们要把各个用户的配置文件放到目录/etc/vsftpd_user_conf中
XML/HTML代码
- sudo mkdir /etc/vsftpd_user_conf
- cd /etc/vsftpd_user_conf
- sudo touch db1 db2 db3
db1文件中的内容如下
local_root=/home/vsftpd/dbzh1
同样,db2文件中的内容
local_root=/home/vsftpd/dbzh2
那么,db3的内容呢? 其实也很简单
write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/home/vsftpd/dbzh3
这里要注意不能有空格,不然登录的时候会提示出错。 我的这里面也有问题,
能成?
重启vsftpd我们就可以看到效果了^_^
/etc/init.d/vsftpd start|restart
500 OOPS: cannot change directory:
linux打开ftp遇到的问题 500 OOPS: cannot change directory:
google好多都是 执行这个就OK setsebool ftpd_disable_trans 1 service vsftpd restart
但是执行的时候遇到这个问题 Could not change active booleans: Invalid boolean
搜了好久终于解决
setsebool -P ftp_home_dir=1
虚拟目录,其实真的设置起来很简单啦,只要参考一下默认的httpd-vhost.conf就知道了。
要知道/doc/其实就是指的虚拟目录 。
嗯,假设你的 Apache 文件根目录是:c:\htdocs\,你要设置一下别名为xxx的虚拟目录,它实际是指向c:\htdocs\yyy
那么在配置文件中就是这样写的:
XML/HTML代码
- Alias /xxx/ "C:/htdocs/yyy/"
- <Directory "C:/htdocs/yyy">
- Options Indexes FollowSymLinks
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
OK,修改了配置文件以后,应重新启动 Apache Service。(Start --> All Programs --> Apache HTTP Server 2.2 --> Monitor Apache Servers --> Restart)
Apache Service 重启之后,该虚拟目录就生效了。
这时候,你在c:/htdocs/yyy目录下放一个test.html,然后通过浏览器访问 http://localhost/xxx/test.html,你就会发现刚才的设置生效了。
是不是很简单?其实就是这样的简单。。。
amazon的VPS是大家都知道的。其实micro是最近11爷告诉我的。说是有信用卡的话,可以免费用micro一年(关于这一块我不多介绍了,网上多的是教程)
申请了一个micro之后,听人介绍说,用它来做网站会很耗资源,于是想到的就是,可以用来做ssh tunnel,用来翻翻墙啦。
果然,我用xshell在菜单的tunneling中选择了dynmac后,自动把商品设为1080,然后就能翻墙了。
开始上上facebook了。但其实我很纠结的是,我几乎没有好友在上面,推特我的兴趣也不大,可能只是用来看看一些平时看不到的技术性文章吧。
如果你有信用卡,你也可以尝试使用一年免费的ssh上网哦。