Profil de eagleeagle's world!PhotosBlogListes Outils Aide

eagle chou

Occupation
Lieu
Centres d'intérêt 
乐观,自信,不满足于现状的热血奋青.

eagle's world!

have a nice day !
Photo 1 sur 14

linux下apache+mysql+php安装

虽然很简单,但是要成功安装还是有点麻烦的,呵呵,写个日志,以后参考。
 
1 Install Openssl
tar xvfz openssl-0.9.7g.tar.gz
cd openssl-0.9.7g
./config
make
make install
2 install apache2
tar xvfz httpd-2.0.53.tar.gz
cd httpd-2.0.53/
./configure --enable-ssl --with-ssl=/usr/local/ssl/ --enable-suexec --with-suexec-docroot=/usr/local --enable-cgi --enable-rewrite --enable-so --enable-logio --prefix=/usr/local/apache --enable-module=most --enable-shared=max --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/httpd
如果是卸载不干净,重新安装apache时会出现如下的错误:
cannot use external apr
./configure --enable-suexec --with-suexec-docroot=/usr/local --enable-cgi --enable-rewrite --enable-so --enable-logio --prefix=/usr/local/apache --enable-module=most --enable-shared=max --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/httpd
使用如下命令即可:
./configure --with-included-apr --enable-suexec --with-suexec-docroot=/usr/local --enable-cgi --enable-rewrite --enable-so --enable-logio --enable-module=most --enable-shared=max --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/httpd
make
make install
3 configue ssl configuration file
mkdir /etc/httpd/ssl.crt
openssl genrsa -des3 -passout pass:asecretpassword -out /etc/httpd/ssl.crt/server.key.org 1024
openssl req -new -passin pass:asecretpassword -passout pass:asecretpassword -key /etc/httpd/ssl.crt/server.key.org -out /etc/httpd/ssl.crt/server.csr -days 3650
openssl req -x509 -passin pass:asecretpassword -passout pass:asecretpassword -key /etc/httpd/ssl.crt/server.key.org -in /etc/httpd/ssl.crt/server.csr -out /etc/httpd/ssl.crt/server.crt -days 3650
openssl rsa -passin pass:asecretpassword -in /etc/httpd/ssl.crt/server.key.org -out /etc/httpd/ssl.crt/server.key
mkdir /etc/httpd/ssl.key
mv /etc/httpd/ssl.crt/server.key /etc/httpd/ssl.key/server.key
chmod 400 /etc/httpd/ssl.key/server.key

4 install php5
tar xvfz php-5.0.4.tar.gz
注意:
./configure --with-apxs2=/usr/sbin/apxs --with-mysql=/var/lib/mysql --enable-track-vars --enable-sockets --with-config-file-path=/etc --enable-ftp --with-zlib --with-openssl=/usr/local/ssl --enable-force-cgi-redirect --enable-exif --with-gd --enable-memory-limit --disable-debug --disable-rpath --disable-static --with-pic --with-layout=GNU --enable-calendar --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-trans-sid --enable-bcmath --with-bz2 --enable-ctype --with-db4 --with-iconv --enable-filepro --with-gettext --enable-mbstring --enable-shmop --enable-wddx --disable-xml --with-xmlrpc --enable-yp --with-zlib --without-pgsql --enable-dbx --enable-experimental-zts --without-mm --enable-gd-native-ttf --with-imap-ssl --enable-soap --enable-dbase --without-pear
if you need pear , you should modify the option --disable-pear to --enable-pear or add the option --without-pear
make
make install

cp php.ini-dist /etc/php.ini

5 modify httpd.conf
Now we have to add the following entries in /etc/httpd/httpd.conf (in the section where
document types are handled; there should be entries like AddHandler or AddType):
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php .php5 .php4 .php3

6 Create /etc/init.d/httpd:
#!/bin/sh
  
case "$1" in
start)
  /usr/sbin/apachectl startssl
;;
stop)
  /usr/sbin/apachectl stop
;;
restart)
  $0 stop && sleep 3
  $0 start
;;
reload)
  $0 stop
  $0 start
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac

7 chmod 755 /etc/init.d/httpd
 

iptables的三条链

前两天看了看iptables,写个小记,以做备忘。
iptables的工作机制理解起来虽然比较费劲,但是看iptables的配置规则基本上是比较显见的,自己添加规则也不是很难。
 
nat 表:用来做nat转换,有三个链,分别是:
    prerouting,postrouting,和output,
    prerouting链用来在包刚到达防火墙时改变其目的地址,
    postrouting链用来在包离开防火墙时改变其源地址,
    output用于按照设置的规则改变本地产生的包的目的地址。
    
    
mangle表:用来修改或者标记数据包首部字段(tos,ttl或mark),mark并没有真正的改变
     首部,而只是做标记。mangle表包含5个链,分别是:prerouting,postrouting,
     output,input和forward。prerouting在包进入防火墙之后,路由判断之前进行修改,
     而postrouting是在路由判断之后修改,output在确定包的目的地址之前修改,
     input在包被路由到本地地址之后,但在用户程序看到它之前修改,
     forward在最初的路由判断之后、最后一次更改包的目的之前mangle包。
     注意:mangle不能做nat的改变,而只能改变tos,ttl或者做mark。
     
filter表:专门用户过滤数据包,内建3个链(input,output和forward),用户也可以添加自定义的链。
     可以对包作出accept,log,drop或者reject等target操作。
     forward链过滤所有不是本地(即防火墙)的包(源或目的)
     input过滤目的地址为本地的包,
     ouput用于过滤本地产生的包。
     
通过上面的描述,应该清晰的看出当一个数据包到达或者离开防火墙时,应该走哪个表的哪个链了。
规则书写格式一般如下:
iptables [-t table] command [match] [target/jump]
iptables的脚本文件规则中,若不指定使用的表,则默认为filter表。
其中match可以看作是协议,用-p来指定,比如tcp,udp,icmp或者state(即状态)、limit(频率)、owner(所有者)

vsftp详细配置

vsftp即Very Security FTP,顾名思义,非常安全的FTP服务器

目录

vsFTP服务器的安装

安装一个软件实在是不许要在这里介绍,因此,这里的安装主要针对vsFTPd服务器的初级配置。

VSFTPD的菜鸟篇

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明

[原文出处 http://www.5ilinux.com/vsftp01.html]


这是我这个菜鸟学习LINUX所写的第一篇文章,是比较基础的FTP架设的应用,如果我写有什么问题请大家多指教,我后续会陆续出进阶篇把FTP中各种详细的配置跟大家一起进行探讨。我所用的是Redhat Linux AS + VSFTPD-1.2.0-4的系统架构,在这里说明的是如果对配置文件不是很熟悉,最好做个备份,以免误操作:

匿名服务器的连接(独立的服务器)

在/etc/vsftpd/vsftpd.conf配置文件中添加如下几项:

  anonymous_enable=yes (允许匿名登陆)
dirmessage_enable=yes (切换目录时,显示目录下.message的内容) local_umask=022 (FTP上本地的文件权限,默认是077) connect_form_port_20=yes (启用FTP数据端口的数据连接)* xferlog_enable=yes (激活上传和下传的日志) xferlog_std_format=yes (使用标准的日志格式) ftpd_banner=XXXXX (欢迎信息) pam_service_name=vsftpd (验证方式)* listen=yes (独立的VSFTPD服务器)*

功能:只能连接FTP服务器,不能上传和下传
注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项

开启匿名FTP服务器上传权限

在配置文件中添加以下的信息即可:

  Anon_upload_enable=yes (开放上传权限)
  Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
  Write_enable=yes (开放本地用户写的权限)
  Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

开启匿名服务器下传的权限

在配置文件中添加如下信息即可:

  Anon_world_readable_only=no

注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限
(R)读-----下传 (W)写----上传 (X)执行----如果不开FTP的目录都进不去

普通用户FTP服务器的连接(独立服务器)

在配置文件中添加如下信息即可:

  Local_enble=yes (本地帐户能够登陆)
  Write_enable=no (本地帐户登陆后无权删除和修改文件)

功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限
注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传

用户登陆限制进其它的目录,只能进它的主目录

设置所有的本地用户都执行chroot

  Chroot_local_user=yes (本地所有帐户都只能在自家目录)

设置指定用户执行chroot

  Chroot_list_enable=yes (文件中的名单可以调用)
  Chroot_list_file=/任意指定的路径/vsftpd.chroot_list

注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可

限制本地用户访问FTP

  Userlist_enable=yes (用userlistlai 来限制用户访问)
  Userlist_deny=no (名单中的人不允许访问)
  Userlist_file=/指定文件存放的路径/ (文件放置的路径)

注:开启userlist_enable=yes匿名帐号不能登陆

安全选项

  Idle_session_timeout=600(秒) (用户会话空闲后10分钟)
  Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)
  Accept_timeout=60(秒) (将客户端空闲1分钟后断)
  Connect_timeout=60(秒) (中断1分钟后又重新连接)
  Local_max_rate=50000(bite) (本地用户传输率50K)
  Anon_max_rate=30000(bite) (匿名用户传输率30K)
  Pasv_min_port=50000 (将客户端的数据连接端口改在
  Pasv_max_port=60000 50000—60000之间)
  Max_clients=200 (FTP的最大连接数)
  Max_per_ip=4 (每IP的最大连接数)
  Listen_port=5555 (从5555端口进行数据连接)

查看谁登陆了FTP,并杀死它的进程

  ps –xf |grep ftp
  kill 进程号



vsFTP服务器的配置

VSFTPD的高手篇

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明

[原文出处 http://www.5ilinux.com/vsftp02.html]

我可不是高手!!!^_^我只不过是个菜鸟,尽我的能力写出了我这个菜鸟觉得的高手篇,所以有什么错误请大家指正哦!!!

环境:linux as 3.0 + vsftpd -1.2.0-4的系统架构,是在独立服务器下的哦!讨厌XINETD^_^

配置本地组访问的FTP

首先创建用户组 test和FTP的主目录

  groupadd test
  mkdir /tmp/test

然后创建用户

  useradd -G test –d /tmp/test –M usr1

注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定

M:不建立默认的自家目录,也就是说在/home下没有自己的目录

  useradd –G test –d /tmp/test –M usr2

接着改变文件夹的属主和权限

  chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1
  chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有

这个实验的目的就是usr1有上传、删除和下载的权限

而usr2只有下载的权限没有上传和删除的权限

当然啦大家别忘了我们的主配置文件vsftpd.conf

要确定local_enable=yes、write_enable=yes、chroot_local_usr=yes这三个选项是有的哦!


配置独立FTP的服务器的非端口标准模式进行数据连接

这个非常容易:在VSFTPD。CONF中添加

  Listen_port=33333

就可以了啦!


配置单独的虚拟FTP,使用虚拟FTP用户,并使建立的四个帐户中有不同的权限

(两个有读目录的权限,一个有浏览、上传、下载的权限,一个有浏览、下载、删除和改文件名的权限)

A:配置网卡

第一块网卡地址是10.2.3.4 掩码是255.255.0.0

  ifconfig eth0:1 211.131.4.253 netmask 255.255.255.0 up

B:写入/etc/sysconfig中(为了重起后IP地址不会丢失)

  cd /etc/sysconfig/network-scripts
  cp ifcfg-eth0 ifcfg-eth0:1
  vi ifcfg-eth0:1在其中修改内容如下
  DEVICE=eth0:1
  BROADCAST=211.131.4.255
  HWADDR=该网卡的MAC地址
  IPADDR=211.131.4.253
  NETMASK=255.255.255.0
  NETWORK=211.131.4.0
  onBOOT=yes
  TYPE=Ethernet
  wq退出

C:进入vsftpd.conf所在的文件夹

  cp vsftpd.conf vsftpd2.conf

修改vsftpd.conf添加以下信息

  Listen_address=10.2.3.4

修改vsftpd2.conf添加以下信息

  Listen_address=211.131.4.253
  Ftpd_banner=this is a virtual ftp test

到此虚拟的FTP服务器建立好了

D:建立logins.txt

  vi /tmp/logins.txt

添加入下信息:

  longlei------------用户名
  longlei------------密码
  zhangweibo
  zhangweibo
  jinhui
  jinhui
  lxp
  lxp

格式要按照我的来哦,一个用户名,一个密码啦

E:建立访问者的口令库文件,然后修改其权限

  db_load –T –t hash –f /tmp/logins.txt /etc/vsftpd_login.db

F:进如/etc/pam.d/中创建ftp.vu

在此文件中添加如下信息

  auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
  account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

G:在/var/ftp/创建目录并改变其属性和它的属主

  useradd -d /var/ftp/test qiang
  chmod 700 /var/ftp/test

在目录中添加test_file测试文件

H:进入vsftpd2.conf修改其中的信息

  Listen_yes
  Anonymous_enable=no
  Local_enable=yes
  Write_enable=no
  Anon_upload_enable=no
  Anon_mkdir_write_enable=no
  Anon_other_write_enable=no
  Chroot_local_user=yes
  Guest_enable=yes----------起用虚拟用户
  Guest_username=qiang------将虚拟用户映射为本地用户
  Listen_port=5555
  Max_client=10
  Max_per_ip=1
  Ftpd_banner=this is a virtual server and users
  Pam_service_name=ftp.vu

注:在主配置文件中给的权限越低,在后面分用户管理的时候对拥护的权限划分的空间就越大,因为主配置文件最高的限制服务先读主配置文件,然后再读用户的配置文件

重起服务。到此虚拟USER就建好了

I:在vsftpd.comf所在的目录中创建virtaul文件目录并在文件目录中创建以你用户名命名的配置文件

  Longlei zhangweibo jinhui lxp

在longlei中添加:

  Anon_world_readable_only=no

在lxp中添加

  Anon_world_readable_only=no

这样此两个用户就有了浏览目录的权限了

在jinhui中添加

  Anon_world_readable_only=no
  Write_enable=yes
  Anon_upload_enable=yes

此用户就有了上传、下载和浏览的权限

在zhangweibo中添加

  Anon_world_readable_only=no
  Write_enable=yes
  Anon_upload_enable=yes
  Anon_other_write_enable=yes

此用户就有了上传、下载、删除文件目录、修改文件名和浏览的权限

J:修改vsftpd2.conf

加入user_config_dir=/vsftpd.conf所在的目录/virtual

重起服务器就搞定了


vsftpd.conf中的所有配置信息


vsftpd.conf的参数:
Anonymous_enable=yes 允许匿名登陆
Dirmessage_enable=yes 切换目录时,显示目录下.message的内容
Local_umask=022 FTP上本地的文件权限,默认是077
Connect_form_port_20=yes 启用FTP数据端口的数据连接 *
Xferlog_enable=yes 激活上传和下传的日志
Xferlog_std_format=yes 使用标准的日志格式
Ftpd_banner=XXXXX 欢迎信息
Pam_service_name=vsftpd 验证方式 *
Listen=yes 独立的VSFTPD服务器 *
Anon_upload_enable=yes 开放上传权限
Anon_mkdir_write_enable=yes 可创建目录的同时可以在此目录中上传文件
Write_enable=yes 开放本地用户写的权限
Anon_other_write_enable=yes 匿名帐号可以有删除的权限
Anon_world_readable_only=no 放开匿名用户浏览权限
Ascii_upload_enable=yes 启用上传的ASCII传输方式
Ascii_download_enable=yes 启用下载的ASCII传输方式
Banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息
Idle_session_timeout=600(秒) 用户会话空闲后10分钟
Data_connection_timeout=120(秒) 将数据连接空闲2分钟断
Accept_timeout=60(秒) 将客户端空闲1分钟后断
Connect_timeout=60(秒) 中断1分钟后又重新连接
Local_max_rate=50000(bite) 本地用户传输率50K
Anon_max_rate=30000(bite) 匿名用户传输率30K
Pasv_min_port=50000 将客户端的数据连接端口改在
Pasv_max_port=60000 50000—60000之间
Max_clients=200 FTP的最大连接数
Max_per_ip=4 每IP的最大连接数
Listen_port=5555 从5555端口进行数据连接
Local_enble=yes 本地帐户能够登陆
Write_enable=no 本地帐户登陆后无权删除和修改文件
下面这是一组
Chroot_local_user=yes 本地所有帐户都只能在自家目录
Chroot_list_enable=yes 文件中的名单可以调用
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list 前提是chroot_local_user=no
这又是一组
Userlist_enable=yes 在指定的文件中的用户不可以访问
Userlist_deny=yes
Userlist_file=/指定的路径/vsftpd.user_list
又开始单的了
Banner_fail=/路径/文件名 连接失败时显示文件中的内容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 将虚拟服务绑定到某端口
Guest_enable=yes 虚拟用户可以登陆
Guest_username=所设的用户名 将虚拟用户映射为本地用户
User_config_dir=/任意指定的路径/为用户策略自己所建的文件夹 指定不同虚拟用户配置文件的路径
又是一组
Chown_uploads=yes 改变上传文件的所有者为root
Chown_username=root
又是一组
Deny_email_enable=yes 是否允许禁止匿名用户使用某些邮件地址
Banned_email_file=//任意指定的路径/xx/
又是单的
Pasv_enable=yes 服务器端用被动模式
User_config_dir=/任意指定的路径//任意文件目录 指定虚拟用户存放配置文件的路径


vsFTP服务器的维护

现在这里还没有关于维护vsftp服务器的资料。欢迎大家编辑2

vsFTP使用的一些补充

补充一:如何有选择的把用户限制在家目录中呢?

我们要自己建一个文件,在/etc目录中

  #touch /etc/vsftpd.chroot_list

以beinan和nanbei这两个用户限制在他们所在的家目录中,而其它的FTP用户不做此限制。

在vsftpd.chroot_list这个文件中,把beinan和nanbei添上去就行,注意,每个用户占一行。

  beinan
  nanbei

然后改/etc/vsftpd/vsftpd.conf文件,找如下的两行

  #chroot_list_enable=YES
  #chroot_list_file=/etc/vsftpd.chroot_list

把前面的#号去掉,也就是这样的

  chroot_list_enable=YES
  chroot_list_file=/etc/vsftpd.chroot_list

如果没有这样的两行,就可以自己添加上去也是一样的。

设置好后,重新vsFTPD服务器。

补充一之补充:如何把系统内所有的FTP用户都限制在家目录中呢??经juliaugong兄的提示,我查找了vsFTPd的洋文说明,证明这个选项是一刀切的解决所有的用户都能限制在家目录中

我们可以通过更改vsftpd.conf文件,加入如下的一行

  chroot_local_user=YES

改完配制文件,不要忘记重启vsFTPd服务器


  [root@linuxsir001 root]# /etc/init.d/vsftpd restart
  关闭 vsftpd: [ 确定 ]
  为 vsftpd 启动 vsftpd: [ 确定 ]
  [root@linuxsir001 root]#

补充二:打开vsFTP服务器的日志功能

把下面xferlog_file前面的#号对掉,也就是把vsftp的log功能打开,这样我们就能在/var/log目录下查看vsftpd.log。这是vsFTP的日志功能,这对于我们来说是极为重要的。

  #xferlog_file=/var/log/vsftpd.log

补充三:如何让绑定IP到vsFTP?

也就是说,如何让用户只能通过某个IP来访问FTP。其实这个功能很有意思。如果绑定的是内网的IP,外部是没有办法访问的。如果绑定的是对外服务的IP,内网也只能通过对外服务的IP来访问FTP

在/etc/vsftpd/vsftpd.conf中加一行,以我的局域网为例,请看第一帖中的操作环境,这样外网就不能访问我的FTP了,内网也可能通过192.168.0.2来访问FTP

  listen_address=192.168.0.2

加完后,要重启vsFTP服务器

  [root@linuxsir001 root]# /etc/init.d/vsftpd restart
  关闭 vsftpd: [ 确定 ]
  为 vsftpd 启动 vsftpd: [ 确定 ]
  [root@linuxsir001 root]#

补充四:如何让vsFTP服务器限制链接数,以及每个IP最大的链接数??

答:应该改vsFTP服务器的配制文件vsftpd.conf,加入下面的两行:

  max_clients=数字
  max_per_ip=数字

举例:我想让我的vsFTP最大支持链接数为100个,每个IP,最多能支持5个链接,所以我应该在vsftpd.conf中加上如下的两行:

  max_clients=100
  max_per_ip=5

改好了配制文件,不要忘记启动vsftp服务器。


补充五:如何限制下载的速度?

anon_max_rate=数字 注:这是匿名的下载速度 local_max_rate=数字 注:这是vsFTP服务器上普通用户的下载速度

注:这个数字的单位是字节,所以我们要计算一下。比如我想让匿名用户和vsFTP上的用户都以80KB下载,所以这个数字应该是1024x80=81920 所以我们要在vsftpd.conf中加入下面的两行

  anon_max_rate=81920
  local_max_rate=81920

不要忘记重启vsftpd服务

补充六:我的硬盘空间有限,怎么办?

我的硬盘空间有限,如何把帐号ftp默认的路径/var/ftp更改到别处?或者是,我的linux所有的目录都放在/根分区,因为空间紧张,我能否把ftp这个用户的默认路径放到别的分区?

可以,应该如下操作!

首先要把ftp这个用户删除

  #userdel -r ftp 

会有错误信息,不过不用理,这是正常的。

然后我们再把这个用户添加上,比如我想为帐号ftp的家目录设置在/mnt/LinG/ftp,我们就可以如下操作

  [root@linuxsir001 root]# mkdir /mnt/LinG
  [root@linuxsir001 root]# adduser -d /mnt/LinG/ftp -g ftp -s /sbin/nologin ftp

仅仅是这样做还不行,因为这样还是不能让匿名用户找到它的家目录,所以我们必须改变/mnt/LinG/ftp这个目录的权限。

  [root@linuxsir001 root]# chmod 755 /mnt/LinG/ftp/
  [root@linuxsir001 root]# chown -R root.root /mnt/LinG/ftp/


补充七:如何定制欢迎信息

如何在我们登入有些FTP之后,会出现类似:欢迎您来到LinuxSir FTP,在这里,您会得到最真诚的帮助,如果有什么问题和建议,请来信,多谢。

实现这个并不难,我们可以查看vsftpd.cof文件中,是否有这行。

  dirmessage_enable=YES

如果没有就加上,如果dirmessage_enable=YES前面有#号,就把#号去掉。

然后我们制定一个.message文件,写上您想要写的东西,比如是.message的内容是如下的:

  欢迎您来到LinuxSir FTP!
  在这里,您会得到最真诚的帮助;
  如果有什么问题和建议,请来信,多谢。

我们可以用编辑器来写这个.message,我想这个过程就不用说了吧。

然后我们把.message这个文件复制到各个用户的家目录中。比如我的FTP的一个用户是beinan,这个用户所在的家目录是/home/beinan

我们就要把.message放在/home/beinan这个目录下。如果系统用户ftp,他的目录就是/var/ftp这个目录,这个是默认的,当匿名用户登入时就访问的是/var/ftp这个目录。我们要让匿名用户能看到欢迎信息。就要把.message放在/var/ftp目录中。其它的用户,也无非就是类似的操作。


补充八:如何实现虚拟路径?

比如: /home/a 映射为ftp://localhost/a /home/b/c 则为ftp://localhost/c

其实这个不能说是vsFTPd的内容,其实我们早就接触过了,可能我们没有注意,我们可以通过如下的方法来实现。

  #mount --bind [原有的目录] [新目录]

比如我的ftp的默认目录是/var/ftp,我想把/mnt/LinG/WinSoft文件夹,映射到/var/ftp目录中,我就如下操作

我们要先在/var/ftp目录中建一个目录

  #mkdir /var/ftp/WinSoft

然后执行mount命令

  #mount --bind /mnt/LinG/WinSoft /var/ftp/WinSoft

这样就OK了。


补充九:如何上匿名访问、上传,并支持下载和执行?

在默认的情况下,vsftp是不支持匿名用户的访问的,所以我们要自己打开相应的选项。现在我针对这个问题,我们要打开如下的选项。

  anonymous_enable=YES 注:允许匿名访问
  anon_upload_enable=YES 注:允许上传
  anon_mkdir_write_enable=YES 注:允许建立相应的目录
  anon_umask=022 把上传到FTP的文件或者目录改变权限

当然打开这些选项还是不行的,我们还要让匿名写入文件的上一级目录有写入权,以我所做的FTP为例,我所做的FTP的匿名访问的目录是/var/ftp,在vsFTPd中,/var/ftp这个目录是不能让匿名用户有写入权限的,这是为了安全考虑,所以我们必须自己在/var/ftp目录中建一个目录,让这个目录有写入权。

比如:我在/var/ftp目录建一个upload目录,然后把它的权限设置成777,这样匿名用户就能写入了。

  #mkdir /var/ftp/upload 
  #chmod 777 /var/ftp/upload

改了一系列的文件,不要忘记重启vsFTPd服务器

我是用standalone模式的,当然用下面的方法

  [root@linuxsir001 root]# service vsftpd restart
  关闭 vsftpd: [ 确定 ]
  为 vsftpd 启动 vsftpd: [ 确定 ]
  [root@linuxsir001 root]#

如果您用的是xinetd模式来启动vsFTPd,我们要重启xinetd服务器

  [root@linuxsir001 root]# service xinetd restart
  停止 xinetd: [ 确定 ]
  启动 xinetd: [ 确定 ]
  [root@linuxsir001 root]# ]


补充十:通过pam认证方式,添加虚拟用户


通过pam认证,用db_load添加用户,是真正的虚拟用户。现在我们简单的介绍一下,通过以后的学习,我们再深入补充:

1。在/etc/pam.d/目录中创建一个文件ftp

  [root@linuxsir001 root]# touch /etc/pam.d/ftp

2。在/etc/pam.d/ftp里面加上如下的两行

  auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
  account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

3。创建一系统的用户名用密码的文件logins.txt

  [root@linuxsir001 root]# touch logins.txt

在logins.txt文件中,输入如下的内容。这个内容您可以自己来定。比如我下面的。其实linuxsir007是FTP的虚拟用户名,123456是linuxsir007的密码;linuxsir008是虚拟用户名,234567是linuxsir008的密码,以此类推,您想加入几个就是几个;下面是我添加的FTP的虚拟用户名和密码。

  linuxsir007
  123456
  linuxsir008
  234567
  linuxsir009
  567890
  linuxsir010
  678901
  linuxsir011
  789012

4。创建一个真实的用户名linuxsir006,这个linuxsir006的用户,所在的家目录由您来定。我在这里不多说了。我是按系统默认的来添加的。

  [root@linuxsir001 root]# useradd linuxsir006

5。把/etc/hosts复制到/home/linuxsir006,并改变它的属主

  [root@linuxsir001 root]#cp /etc/hosts /home/linuxsir006/hosts
  [root@linuxsir001 root]#chown linuxsir006.linuxsir006 /home/linuxsir006/hosts 

6。通过db_load来创建虚拟用户的库文件。我们在前面建的logins.txt文件,我是放在了/root用户目录下。所以咱们得把目录切换到/root目录来创建虚拟用户的库文件。

  [root@linuxsir001 root]# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db

7。更改vsftpd.conf文件,加入如下的几行

  pam_service_name=ftp
  guest_enable=YES
  guest_username=linuxsir006
  anon_world_readable_only=NO

8。重启vsFTPd服务器;改了一系列的文件,不要忘记重启vsFTPd服务器

我是用standalone模式的,当然用下面的方法

  [root@linuxsir001 root]# service vsftpd restart
  关闭 vsftpd: [ 确定 ]
  为 vsftpd 启动 vsftpd: [ 确定 ]
  [root@linuxsir001 root]#

如果您用的是xinetd模式来启动vsFTPd,我们要重启xinetd服务器

  [root@linuxsir001 root]# service xinetd restart
  停止 xinetd: [ 确定 ]
  启动 xinetd: [ 确定 ]
  [root@linuxsir001 root]#

9。如果您想让用户登入FTP时,登入成功的相应的信息,请把您制作的.message复制到您的用户的家目录中,这方面的请参考前面的补充。

10。测试:

  [root@linuxsir001 root]# ftp 192.168.0.1
  Connected to 192.168.0.1.
  220 (vsFTPd 1.1.3)
  530 Please login with USER and PASS.
  530 Please login with USER and PASS.
  KERBEROS_V4 rejected as an authentication type
  Name (192.168.0.1:root): linuxsir007
  331 Please specify the password.
  Password:
  230-欢迎光临LinuxSir自由FTP
  230-在这里,您将得到最真诚的帮助!
  230-本站限度为30KB!
  230-每个IP限四个线程
  230-请大家遵守FTP的有关规定。
  230-多谢合作!
  230-
  230-LinuxSir管理部
  230 Login successful. Have fun.
  Remote system type is UNIX.
  Using binary mode to transfer files.
  ftp> ls
  227 Entering Passive Mode (192,168,0,1,85,171)
  150 Here comes the directory listing.
  -rw-r--r-- 1 ftp ftp 174 Jun 01 12:59 hosts
  drwxr-xr-x 3 ftp ftp 4096 Jun 01 13:29 linuxsir008
  drwxr-xr-x 2 ftp ftp 4096 Jun 01 13:24 sun
  226 Directory send OK.
  ftp>

补充十一:如何把系统默认用standalone启动改为用xinetd启动?

如何把Redhat 9.0中系统默认安装的vsftpd-1.1.3-8.i386.rpm,系统默认vsFTPd是用standalone启动方式 ,改为xinetd启动方式 ?如果是用源码包安装的,安装后就是xinetd模式,如果是用RPM包安装的,在Redhat 9.0中,应该用下面的方法来解决。

1.在/etc/xinetd.d/目录中创建一个文件vsftpd

  [root@linuxsir001 root]# touch /etc/xinetd.d/vsftpd

/etc/xinetd.d/vsftpd内容如下:

  service ftp
  {
  socket_type = stream
  wait = no
  user = root
  server = /usr/sbin/vsftpd
  # server_args =
  # log_on_success += DURATION USERID
  # log_on_failure += USERID
  nice = 10
  disable = no
  }

2。复制vsftpd.conf到/etc/目录下,因为xinetd对vsFTPd配制文件应该在/etc目录下,所以我们就必须把这个文件复制到/etc目录下,否则会出现系统中local用户无法登入,也就是说,不复制这个文件会出现ftp非匿名用户无法访问,只能用匿名用户访问。

  [root@linuxsir001 root]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd.conf

3。更改配制文件/etc/vsftpd.conf,把如下的项注掉:也就是把

  listen=YES

改为

  #listen=YES

或者是把这行删除也行。

4。把/etc/init.d/vsftpd这个文件删除。其实最好的备份到别处,因为我们有时实验来实验去,可能还会转到standalone模式启动。我就直接移动到别的目录,比如是/root下面的backup目录。


  [root@linuxsir001 root]#mkdir /root/backup
  [root@linuxsir001 root]# mv /etc/init.d/vsftpd /root/backup

5。运行ntsysv,把vsftpd的服务取消

  [root@linuxsir001 root]#ntsysv
  [ ] vsftpd 

6。重启xinetd服务

  [root@linuxsir001 root]# service xinetd restart

马云的废话

 
以下是马云对雅虎员工的"演讲"
========================================================
 
世界上很多非常聪明并且受过高等教育的人,无法成功。就是因为他们从小就受到了错误
的教育,他们养成了勤劳的恶习。很多人都记得爱迪生说的那句话吧:天才就是99%的汗
水加上1%的灵感。并且被这句话误导了一生。勤勤恳恳的奋斗,最终却碌碌无为。其实爱
迪生是因为懒的想他成功的真正原因,所以就编了这句话来误导我们。很多人可能认为我
是在胡说八道,好,让我用100个例子来证实你们的错误吧!事实胜于雄辩。 
    世界上最富有的人,比尔盖茨,他是个程序员,懒的读书,他就退学了。他又懒的记
那些复杂的dos命令,于是,他就编了个图形的界面程序,叫什么来着?我忘了,懒的记这
些东西。于是,全世界的电脑都长着相同的脸,而他也成了世界首富。

    世界上最值钱的品牌,可口可乐。他的老板更懒,尽管中国的茶文化历史悠久,巴西
的咖啡香味浓郁,但他实在太懒了。弄点糖精加上凉水,装瓶就卖。于是全世界有人的地
方,大家都在喝那种像血一样的液体。

    世界上最好的足球运动员,罗纳耳朵,他在场上连动都懒的动,就在对方的门前站着
。等球砸到他的时候,踢一脚。这就是全世界身价最高的运动员了。有的人说,他带球的
速度惊人,那是废话,别人一场跑90分钟,他就跑15秒,当然要快些了。

    世界上最厉害的餐饮企业,麦当劳。他的老板也是懒的出奇,懒的学习法国大餐的精
美,懒的掌握中餐的复杂技巧。弄两片破面包夹块牛肉就卖,结果全世界都能看到那个M的
标志。必胜客的老板,懒的把馅饼的馅装进去,直接撒在发面饼上边就卖,结果大家管那
叫PIZZA,比10张馅饼还贵。

    还有更聪明的懒人:懒的爬楼,于是他们发明了电梯;懒的走路,于是他们制造出汽
车,火车,和飞机;懒的一个一个的杀人,于是他们发明了原子弹;懒的每次去计算,于
是他们发明了数学公式;懒的出去听音乐会,于是他们发明了唱片,磁带和CD;这样的例
子太多了,我都懒的再说了。

    还有那句废话也要提一下,生命在于运动,你见过哪个运动员长寿了?世界上最长寿
的人还不是那些连肉都懒的吃的和尚?

    如果没有这些懒人,我们现在生活在什么样的环境里,我都懒的想!

    人是这样,动物也如此。

    世界上最长寿的动物叫乌龟,他们一辈子几乎不怎么动,就趴在那里,结果能活一千
年。他们懒的走,但和勤劳好动的兔子赛跑,谁赢了?牛最勤劳,结果人们给它吃草,却
还要挤它的奶。熊猫傻了吧唧的,什么也不干,抱着根竹子能啃一天,人们亲昵的称它为
"国宝"。

    回到我们的工作中,看看你公司里每天最早来最晚走,一天像发条一样忙个不停的人
,他是不是工资最低的?那个每天游手好闲,没事就发呆的家伙,是不是工资最高,据说
还有不少公司的股票呢!

    我以上所举的例子,只是想说明一个问题,这个世界实际上是靠懒人来支撑的。世界
如此的精彩都是拜懒人所赐。现在你应该知道你不成功的主要原因了吧!

    懒不是傻懒,如果你想少干,就要想出懒的方法。要懒出风格,懒出境界。像我从小
就懒,连长肉都懒的长,这就是境界。
 
=========================================================
看完你觉得是废话吗?我是很赞同他说的是废话的,可是废话也要别人去听,而且还要很恭敬的听,不仅听,而且听了还要觉得有道理,还要按照他说的废话去做,因为他给听众发工资,因为他发得起工资,所以就有很多人认为他说的不是废话,而是真理.可是我仍然不能赞同他的废话,因为
我不是他的员工,所以可以站在一个客观的立场上来看.
如果他的这些废话倘若只是说给他的员工来听,那也没有什么,除了帮着他花钱,对别人似乎没有什么影响,让人讨厌的是,他居然还把这些垃圾演讲拿到媒体上来现眼,占了版面不说,更是误导了几个辨别能力不强的良家子弟,还好他不是拿破仑,否则全世界不知道有多少人的耳朵要被他强奸了.看了他的"演讲",直到最后一句才发现他要说的废话是什么,为了让一句废话,显得略微有些道理,他不惜又说了一百句不止的废话来做奠场,这样的效率真的让人啧舌,让如此低效率的人领骚中国市场,是全中国IT人的耻辱.
马云喜欢装X,他的这篇说辞除了装X之外没有任何可取之处,道上有句话,叫:莫装X,装X被雷劈.我想他没有听说过,否则即使他有避雷针也不会发表这篇废话了.

冬天来了

夜里一直觉得冷,翻来覆去的,觉得被窝的每个角落都是凉的.还以为是自己个子太高了,被子不够长了呢,
当然也有可能是被子太短了,总之,一夜的梦想就是找个温暖的角落落脚,这么简单的一个愿望在我的被窝里也没有实现.
一直懵懂到天亮,表响了,由于声音太大,怕影响到别人,我以迅雷不及掩耳之势,按掉了开关.侧耳倾听其他人的反映,
还好,都在睡,嘿嘿.
从窗帘的缝隙处投过来的微弱的光亮看来,今天不是一个好天气,没有阳光.今天是很冷啊,虽然醒了,仍然不想起床,留恋着被窝里的冰冷,冰冷?
是冰冷.
从床上坐起来,翻开窗帘,大吃一惊,地上居然有雪,空中也是洋洋洒洒的.怪不得睡觉觉得冷呢!
虽然前两天看过天气预报,还是觉得有些意外,哈尔滨的冬天来的真是早啊,在郑州现在都还30度左右呢.
冬天这次真的是来了,似乎有些期望,似乎也有些失望,在期望与失望中,她还是来了,冬天来了,这个冬日注定是个难挨的季节.