Q: How do I get rid of lengthy Linux boot delays dealing with "deleted inode has zero dtime" messages?
Booting Linux on my laptop takes a long time. THis is because a message appears saying "deleted inode 6323 has zero dtime. Set dtime? yes". There are also two other deleted inodes with zero dtime — 229543 and 229544. Should I just ignore these messages and be patient, or is something wrong?
A: This shouldn`t happen every time you boot. It is a result of not having cleanly turned the machine off the previous time you used it. To turn the machine off, you must type halt as root. (type man halt or man shutdown for more info.) To reboot, you must hit control-alt-delete or use the reboot command.
由于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,你就会发现刚才的设置生效了。
是不是很简单?其实就是这样的简单。。。