<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>陈书艺—Creative,Calmness,Passion,Unremitting,Belief &#187; CentOS</title>
	<atom:link href="http://www.cnedwin.com/tag/centos/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cnedwin.com</link>
	<description>Edwin Chen's Blog</description>
	<lastBuildDate>Mon, 29 Jun 2009 11:05:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CentOS 5.1部署L.A.M.P环境配置手册</title>
		<link>http://www.cnedwin.com/18.html</link>
		<comments>http://www.cnedwin.com/18.html#comments</comments>
		<pubDate>Tue, 29 Apr 2008 19:00:43 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[技术探讨]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[手册]]></category>
		<category><![CDATA[环境]]></category>
		<category><![CDATA[部署]]></category>

		<guid isPermaLink="false">http://www.cnedwin.com/?p=18</guid>
		<description><![CDATA[刚刚为公司的系统部门编写的公司LAMP部署标准，基于CentOS5.1 32/64位系统。
一、系统约定
软件源代码包存放位置        /usr/local/src
源码包编译安装位置(prefix)        /usr/local/software_name
脚本以及维护程序存放位置        /usr/local/sbin
MySQL 数据库位置        /var/lib/mysql（可按情况设置）
Apache 网站根目录        /www/domain.com（可按情况设置）
Apache 虚拟主机日志根目录        /var/logs/www（可按情况设置）
Apache 运行账户        www:www

二、系统环境部署及调整
1. 检查系统是否正常
# more /var/log/messages        （检查有无系统级错误信息）
# dmesg （检查硬件设备是否有错误信息）
# ifconfig（检查网卡设置是否正确）
# ping www.moophp.org （检查网络是否正常）
2. 关闭不需要的服务
# export LANG=&#8217;en_US&#8217; //设置语言
# ntsysv
以下仅列出需要启动的服务，未列出的服务一律推荐关闭：
atd
crond
irqbalance
vsftpd   (FTP服务可选)
microcode_ctl
network
ntpd
sendmail
sshd
syslog
3. 重新启动系统
# init 6
4. 配置 vim
# vi /root/.bashrc
在 alias mv=&#8217;mv -i&#8217; 下面添加一行：alias vi=&#8217;vim&#8217; 保存退出。
# echo &#8217;syntax on&#8217; &#62; /root/.vimrc
5. [...]]]></description>
			<content:encoded><![CDATA[<p>刚刚为公司的系统部门编写的公司LAMP部署标准，基于CentOS5.1 32/64位系统。</p>
<p>一、系统约定<br />
软件源代码包存放位置        /usr/local/src<br />
源码包编译安装位置(prefix)        /usr/local/software_name<br />
脚本以及维护程序存放位置        /usr/local/sbin<br />
MySQL 数据库位置        /var/lib/mysql（可按情况设置）<br />
Apache 网站根目录        /www/domain.com（可按情况设置）<br />
Apache 虚拟主机日志根目录        /var/logs/www（可按情况设置）<br />
Apache 运行账户        www:www</p>
<p><span id="more-18"></span></p>
<p>二、系统环境部署及调整<br />
1. 检查系统是否正常<br />
# more /var/log/messages        （检查有无系统级错误信息）<br />
# dmesg （检查硬件设备是否有错误信息）<br />
# ifconfig（检查网卡设置是否正确）<br />
# ping <a href="http://www.moophp.org/" target="_blank">www.moophp.org</a> （检查网络是否正常）</p>
<p>2. 关闭不需要的服务<br />
# export LANG=&#8217;en_US&#8217; //设置语言<br />
# ntsysv<br />
以下仅列出需要启动的服务，未列出的服务一律推荐关闭：<br />
atd<br />
crond<br />
irqbalance<br />
vsftpd   (FTP服务可选)<br />
microcode_ctl<br />
network<br />
ntpd<br />
sendmail<br />
sshd<br />
syslog</p>
<p>3. 重新启动系统<br />
# init 6</p>
<p>4. 配置 vim<br />
# vi /root/.bashrc<br />
在 alias mv=&#8217;mv -i&#8217; 下面添加一行：alias vi=&#8217;vim&#8217; 保存退出。<br />
# echo &#8217;syntax on&#8217; &gt; /root/.vimrc</p>
<p>5. 使用 yum 程序安装所需开发包（以下为标准的 RPM 包名称）<br />
a.修改/etc/yum.repos.d/CentOS-Base.repo，将镜象站点地址改为在中国的镜象站点地址。<br />
修改如下：</p>
<p># CentOS-Base.repo<br />
#<br />
# This file uses a new mirrorlist system developed by Lance Davis for CentOS.<br />
# The mirror system uses the connecting IP address of the client and the<br />
# update status of each mirror to pick mirrors that are updated to and<br />
# geographically close to the client. You should use this for CentOS updates<br />
# unless you are manually picking other mirrors.<br />
#<br />
# If the mirrorlist= does not work for you, as a fall back you can try the<br />
# remarked out baseurl= line instead.<br />
#<br />
#</p>
<p>[base]<br />
name=CentOS-$releasever &#8211; Base<br />
baseurl=http://mirror.be10.com/centos/$releasever/os/$basearch/<br />
gpgcheck=1<br />
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5<br />
protect=1</p>
<p>#released updates<br />
[updates]<br />
name=CentOS-$releasever &#8211; Updates<br />
baseurl=http://mirror.be10.com/centos/$releasever/updates/$basearch/<br />
gpgcheck=1<br />
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5<br />
protect=1</p>
<p>#packages used/produced in the build but not released<br />
[addons]<br />
name=CentOS-$releasever &#8211; Addons<br />
baseurl=http://mirror.be10.com/centos/$releasever/addons/$basearch/<br />
gpgcheck=1<br />
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5<br />
protect=0</p>
<p>#additional packages that may be useful<br />
[extras]<br />
name=CentOS-$releasever &#8211; Extras<br />
baseurl=http://mirror.be10.com/centos/$releasever/extras/$basearch/<br />
gpgcheck=1<br />
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5<br />
protect=0</p>
<p>#additional packages that extend functionality of existing packages<br />
[centosplus]<br />
name=CentOS-$releasever &#8211; Plus<br />
baseurl=http://mirror.be10.com/centos/$releasever/centosplus/$basearch/<br />
gpgcheck=1<br />
enabled=0<br />
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5<br />
protect=1</p>
<p>#contrib &#8211; packages by Centos Users<br />
[contrib]<br />
name=CentOS-$releasever &#8211; Contrib<br />
baseurl=http://mirror.be10.com/centos/$releasever/contrib/$basearch/<br />
gpgcheck=1<br />
enabled=0<br />
protect=0<br />
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5</p>
<p>#packages in testing<br />
[testing]<br />
name=CentOS-5 &#8211; Testing<br />
baseurl=http://mirror.be10.com/centos/5/testing/i386/</p>
<p>gpgcheck=1<br />
enabled=0<br />
protect=0</p>
<p>b.保存后更新系统,执行：<br />
# yum upgrade<br />
c.建议更新所有列出的程序<br />
d.最后安装需要的开发库：<br />
# yum install vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel</p>
<p>6. a.定时校正服务器时钟，启用ntpd服务<br />
# service ntpd start<br />
b.对TCP/IP网络参数进行调整，加强抗SYN Flood能力<br />
# echo &#8216;net.ipv4.tcp_syncookies = 1&#8242; &gt;&gt; /etc/sysctl.conf<br />
将net.ipv4.tcp_syncookies = 1写入sysctl.conf 文件<br />
# sysctl -p<br />
查看结果</p>
<p>7. 源码编译安装所需包(Source)<br />
(1) GD2<br />
# cd /usr/local/src<br />
# wget –c <a href="http://www.ismole.net/downloads/gd-2.0.35.tar.gz" target="_blank">http://www.ismole.net/downloads/gd-2.0.35.tar.gz</a><br />
# tar xzvf gd-2.0.35.tar.gz<br />
# cd gd-2.0.35<br />
# ./configure &#8211;prefix=/usr/local/gd2<br />
# make<br />
# make install</p>
<p>(2) LibXML2<br />
# cd /usr/local/src<br />
# wget –c <a href="http://www.ismole.net/downloads/libxml2-2.6.32.tar.gz" target="_blank">http://www.ismole.net/downloads/libxml2-2.6.32.tar.gz</a><br />
# tar xzvf libxml2-2.6.32.tar.gz<br />
# cd libxml2-2.6.32<br />
# ./configure &#8211;prefix=/usr/local/libxml2<br />
# make<br />
# make install</p>
<p>(3) LibMcrypt<br />
# cd /usr/local/src<br />
# wget –c <a href="http://www.ismole.net/downloads/libmcrypt-2.5.8.tar.bz2" target="_blank">http://www.ismole.net/downloads/libmcrypt-2.5.8.tar.bz2</a><br />
# tar xjvf libmcrypt-2.5.8.tar.bz2<br />
# cd libmcrypt-2.5.8<br />
# ./configure &#8211;prefix=/usr/local/libmcrypt<br />
# make<br />
# make install</p>
<p>(4) Apache日志截断程序<br />
# cd /usr/local/src<br />
# wget –c <a href="http://www.ismole.net/downloads/cronolog-1.7.0-beta.tar.gz" target="_blank">http://www.ismole.net/downloads/cronolog-1.7.0-beta.tar.gz</a><br />
# tar xzvf cronolog-1.7.0-beta.tar.gz<br />
# cd cronolog-1.7.0-beta<br />
# ./configure &#8211;prefix=/usr/local/cronolog<br />
# make<br />
# make install</p>
<p>8. 升级OpenSSL和OpenSSH<br />
# cd /usr/local/src<br />
# wget –c <a href="http://www.ismole.net/downloads/openssl-0.9.8g.tar.gz" target="_blank">http://www.ismole.net/downloads/openssl-0.9.8g.tar.gz</a><br />
# wget –c <a href="http://www.ismole.net/downloads/openssh-5.0p1.tar.gz" target="_blank">http://www.ismole.net/downloads/openssh-5.0p1.tar.gz</a><br />
# tar xzvf openssl-0.9.8g.tar.gz<br />
# cd openssl-0.9.8g<br />
# ./config &#8211;prefix=/usr/local/openssl<br />
# make<br />
# make test<br />
# make install<br />
# cd ..<br />
# tar xzvf openssh-5.0p1.tar.gz<br />
# cd openssh-5.0p1<br />
# ./configure  \<br />
&#8220;&#8211;prefix=/usr&#8221; \<br />
&#8220;&#8211;with-pam&#8221; \<br />
&#8220;&#8211;with-zlib&#8221; \<br />
&#8220;&#8211;sysconfdir=/etc/ssh&#8221; \<br />
&#8220;&#8211;with-ssl-dir=/usr/local/openssl&#8221; \<br />
&#8220;&#8211;with-md5-passwords&#8221;<br />
# make<br />
# make install</p>
<p>（1）禁用 SSH V1 协议<br />
找到：<br />
#Protocol 2,1<br />
改为：<br />
Protocol 2</p>
<p>（2）禁止root直接登录<br />
此处先建立一个普通系统用户：<br />
# useradd username<br />
# passwd username<br />
找到：<br />
#PermitRootLogin yes<br />
改为：<br />
PermitRootLogin no</p>
<p>（3）禁用服务器端GSSAPI<br />
找到以下两行，并将它们注释：<br />
GSSAPIAuthentication yes<br />
GSSAPICleanupCredentials yes</p>
<p>（4）禁用 DNS 名称解析<br />
找到：<br />
#UseDNS yes<br />
改为：<br />
UseDNS no</p>
<p>（5）禁用客户端 GSSAPI<br />
# vi /etc/ssh/ssh_config<br />
找到：<br />
GSSAPIAuthentication yes<br />
将这行注释掉。</p>
<p>最后，确认修改正确后重新启动 SSH 服务<br />
# service sshd restart<br />
# ssh -v<br />
确认 OpenSSH 以及 OpenSSL 版本正确。</p>
<p>8. FTP服务器的配置<br />
#vi /etc/vsftpd/vsftpd.conf<br />
把anonymous_enable=YES注释掉不允许匿名登录。<br />
把 chroot_list_enable=YES<br />
chroot_list_file=/etc/vsftpd.chroot_list<br />
前的注释去掉。<br />
把ftpd_banner=*前的注释去掉。后面改成你的欢迎信息(这样设置可以避免显示ftp服务器的版本信息)<br />
保存，并执行<br />
#service vsftpd start</p>
<p>这时可以用刚才添加的普通用户登陆FTP，root默认不能通过FTP方式登录。</p>
<p>三、编译安装L.A.M.P环境<br />
1. 下载软件<br />
# cd /usr/local/src<br />
# wget –c <a href="http://www.ismole.net/downloads/" target="_blank">http://www.ismole.net/downloads/</a>软件包名称<br />
httpd-2.2.6.tar.bz2<br />
mysql-5.1.24-rc-linux-i686-glibc23.tar.gz<br />
php-5.2.4.tar.bz2<br />
ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz</p>
<p>2. 安装MySQL<br />
# tar xzvf mysql-5.1.24-rc-linux-i686-glibc23.tar.gz<br />
# mv mysql-5.1.24-rc-linux-i686-glibc23  /usr/local/<br />
# ln -s /usr/local/ mysql-5.1.24-rc-linux-i686-glibc23  /usr/local/mysql<br />
# useradd mysql<br />
# chown -R mysql:root  /usr/local/mysql/<br />
# cd /usr/local/mysql<br />
# ./scripts/mysql_install_db  &#8211;user=mysql<br />
# cp ./support-files/mysql.server  /etc/rc.d/init.d/mysqld<br />
# chown root:root /etc/rc.d/init.d/mysqld<br />
# chmod 755 /etc/rc.d/init.d/mysqld<br />
# chkconfig &#8211;add mysqld<br />
# chkconfig &#8211;level 35 mysqld on<br />
# cp ./support-files/my-huge.cnf  /etc/my.cnf<br />
# mv /usr/local/mysql/data  /var/lib/mysql<br />
# chown -R mysql:mysql /var/lib/mysql/<br />
# vi /etc/my.cnf  修改以下内容：</p>
<p>（1）        在 [mysql] 段增加一行：<br />
default-character-set = utf8<br />
（2）        在 [mysqld] 段增加或修改：<br />
datadir = /var/lib/mysql<br />
&#8211;skip-innodb<br />
default-character-set = utf8<br />
&#8211;wait-timeout = 5<br />
max_connections = 512<br />
max_connect_errors = 10000000<br />
thread_concurrency = CPU个数×2<br />
将 log-bin 注释<br />
# bin/mysqladmin -u root password &#8216;password_for_root&#8217;</p>
<p>3. 编译安装Apache<br />
# cd /usr/local/src<br />
# tar xjvf httpd-2.2.6.tar.bz2<br />
# cd httpd-2.2.6<br />
# ./configure \<br />
&#8220;&#8211;prefix=/usr/local/apache2&#8243; \<br />
&#8220;&#8211;with-included-apr&#8221; \<br />
&#8220;&#8211;enable-so&#8221; \<br />
&#8220;&#8211;enable-deflate=shared&#8221; \<br />
&#8220;&#8211;enable-expires=shared&#8221; \<br />
&#8220;&#8211;enable-rewrite=shared&#8221; \<br />
&#8220;&#8211;enable-static-support&#8221; \<br />
&#8220;&#8211;disable-userdir&#8221;<br />
# make<br />
# make install<br />
# echo &#8216;/usr/local/apache2/bin/apachectl start &#8216; &gt;&gt; /etc/rc.local</p>
<p>4. 编译安装PHP<br />
# cd /usr/local/src<br />
# tar xjvf php-5.2.4.tar.bz2<br />
# cd php-5.2.4<br />
# ./configure &#8211;prefix=/usr/local/php &#8211;with-apxs2=/usr/local/apache2/bin/apxs &#8211;with-config-file-path=/usr/local/php/etc &#8211;with-mysql=/usr/local/mysql &#8211;with-libxml-dir=/usr/local/libxml2 &#8211;with-gd=/usr/local/gd2 &#8211;with-jpeg-dir &#8211;with-png-dir &#8211;with-bz2 &#8211;with-freetype-dir &#8211;with-iconv-dir &#8211;with-zlib-dir &#8211;with-mcrypt=/usr/local/libmcrypt &#8211;enable-soap &#8211;enable-gd-native-ttf &#8211;enable-ftp &#8211;enable-mbstring &#8211;enable-exif &#8211;disable-ipv6 &#8211;disable-cgi &#8211;disable-cli<br />
# make<br />
# make install<br />
# mkdir /usr/local/php/etc<br />
# cp php.ini-dist /usr/local/php/etc/php.ini</p>
<p>5. 安装Zend Optimizer<br />
# cd /usr/local/src<br />
# tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz<br />
# ./ ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh<br />
安装Zend Optimizer过程的最后不要选择重启Apache。</p>
<p>6. 整合Apache与PHP<br />
# vi /usr/local/apache2/conf/httpd.conf<br />
找到：<br />
AddType application/x-gzip .gz .tgz<br />
在该行下面添加<br />
AddType application/x-httpd-php .php</p>
<p>找到：<br />
&lt;IfModule dir_module&gt;<br />
DirectoryIndex index.html<br />
&lt;/IfModule&gt;<br />
将该行改为<br />
&lt;IfModule dir_module&gt;<br />
DirectoryIndex index.html index.htm index.php<br />
&lt;/IfModule&gt;</p>
<p>找到：<br />
#Include conf/extra/httpd-mpm.conf<br />
#Include conf/extra/httpd-info.conf<br />
#Include conf/extra/httpd-vhosts.conf<br />
#Include conf/extra/httpd-default.conf<br />
去掉前面的“#”号，取消注释。</p>
<p>注意：以上 4 个扩展配置文件中的设置请按照相关原则进行合理配置！</p>
<p>修改完成后保存退出。<br />
# /usr/local/apache2/bin/apachectl restart</p>
<p>7. 查看确认L.A.M.P环境信息、提升 PHP 安全性<br />
在网站根目录放置 phpinfo.php 脚本，检查phpinfo中的各项信息是否正确。</p>
<p>确认 PHP 能够正常工作后，在 php.ini 中进行设置提升 PHP 安全性。<br />
# vi /etc/php.ini<br />
找到：<br />
disable_functions =<br />
设置为：<br />
phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server</p>
<p>三、服务器安全性设置<br />
1. 设置系统防火墙<br />
# vi /usr/local/sbin/fw.sh<br />
将以下脚本命令粘贴到 fw.sh 文件中。<br />
#!/bin/bash</p>
<p># Stop iptables service first<br />
service iptables stop</p>
<p># Load FTP Kernel modules<br />
/sbin/modprobe ip_conntrack_ftp<br />
/sbin/modprobe ip_nat_ftp</p>
<p># Inital chains default policy<br />
/sbin/iptables -F -t filter<br />
/sbin/iptables -P INPUT DROP<br />
/sbin/iptables -P OUTPUT ACCEPT</p>
<p># Enable Native Network Transfer<br />
/sbin/iptables -A INPUT -i lo -j ACCEPT</p>
<p># Accept Established Connections<br />
/sbin/iptables -A INPUT -m state &#8211;state ESTABLISHED,RELATED -j ACCEPT</p>
<p># ICMP Control<br />
/sbin/iptables -A INPUT -p icmp -m limit &#8211;limit 1/s &#8211;limit-burst 10 -j ACCEPT</p>
<p># WWW Service<br />
/sbin/iptables -A INPUT -p tcp &#8211;dport 80 -j ACCEPT</p>
<p># FTP Service<br />
/sbin/iptables -A INPUT -p tcp &#8211;dport 21 -j ACCEPT</p>
<p># SSH Service<br />
/sbin/iptables -A INPUT -p tcp &#8211;dport 22 -j ACCEPT</p>
<p># chmod 755 /usr/local/sbin/fw.sh<br />
# echo &#8216;/usr/local/sbin/fw.sh&#8217; &gt;&gt; /etc/rc.local<br />
# /usr/local/sbin/fw.sh</p>
<p>原载地址：<a href="http://www.ismole.net/thread-505-1-1.html">http://www.ismole.net/thread-505-1-1.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cnedwin.com/18.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CENTOS5下VSFTPD的设置</title>
		<link>http://www.cnedwin.com/15.html</link>
		<comments>http://www.cnedwin.com/15.html#comments</comments>
		<pubDate>Tue, 29 Apr 2008 01:59:28 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[技术探讨]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[VSFTPD]]></category>
		<category><![CDATA[用户]]></category>
		<category><![CDATA[设置]]></category>

		<guid isPermaLink="false">http://www.cnedwin.com/?p=15</guid>
		<description><![CDATA[最近公司的一台业务机需要为客户在CentOS5.1下配置Vsftpd，于是开动。
步骤很简单：
需求:（虚拟用户分下载用户／下载、上传但不能删除用户／管理用户）
一、安装
yum -y install vsftpd*
yum -y install pam*
yum -y install db4*
二、系统帐户

1、vsftpd服务的宿主用户
useradd vsftpd -s /sbin/nologin
2、vsftpd虚拟宿主用户
useradd ftpuser -s /sbin/nologin
*不允许相关用户登录。
三、vsftpd.conf设置
1、备份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.ysbk
2、设置
&#8212;-
anonymous_enable=NO
设定不允许匿名访问
local_enable=YES
设定本地用户可以访问。注意：主要是为虚拟宿主用户，如果该项目设定为NO那么所有虚拟用户将无法访问。
write_enable=YES
设定可以进行写操作。
local_umask=022
设定上传后文件的权限掩码。
anon_upload_enable=NO
禁止匿名用户上传。
anon_mkdir_write_enable=NO
禁止匿名用户建立目录。
dirmessage_enable=YES
设定开启目录标语功能。
xferlog_enable=YES
设定开启日志记录功能。
connect_from_port_20=YES
设定端口20进行数据连接。
chown_uploads=NO
设定禁止上传文件更改宿主。
xferlog_file=/var/log/vsftpd.log
设定Vsftpd的服务日志保存路径。注意，该文件默认不存在。必须要手动touch出来，并且由于这里更改了Vsftpd的服务宿主用户为手动建立的Vsftpd。必须注意给与该用户对日志的写入权限，否则服务将启动失败。
xferlog_std_format=YES
设定日志使用标准的记录格式。
nopriv_user=vsftpd
设定支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户。注意，一旦做出更改宿主用户后，必须注意一起与该服务相关的读写文件的读写赋权问题。比如日志文件就必须给与该用户写入权限等。
async_abor_enable=YES
设定支持异步传输功能。
ascii_upload_enable=YES
ascii_download_enable=YES
设定支持ASCII模式的上传和下载功能。
ftpd_banner=Welcome to Awei FTP servers
设定Vsftpd的登陆标语。
chroot_local_user=YES
禁止本地用户登出自己的FTP主目录。
pam_service_name=vsftpd
设定PAM服务下Vsftpd的验证配置文件名。因此，PAM验证将参考/etc/pam.d/下的vsftpd文件配置。
以下这些是关于Vsftpd虚拟用户支持的重要配置项目。默认Vsftpd.conf中不包含这些设定项目，需要自己手动添加配置。
guest_enable=YES
设定启用虚拟用户功能。
guest_username=ftpuser
指定虚拟用户的宿主用户。
virtual_use_local_privs=YES
设定虚拟用户的权限符合他们的宿主用户。
user_config_dir=/etc/vsftpd/vconf
设定虚拟用户个人Vsftp的配置文件存放路径。也就是说，这个被指定的目录里，将存放每个Vsftp虚拟用户个性的配置文件，一个需要注意的
地方就是这些配置文件名必须和虚拟用户名相同。
&#8212;-
3.建立Vsftpd的日志文件，并更该属主为Vsftpd的服务宿主用户：
[root@KcentOS5 ~]# touch /var/log/vsftpd.log
[root@KcentOS5 ~]# chown vsftpd.vsftpd /var/log/vsftpd.log
4.建立虚拟用户配置文件存放路径：
[root@KcentOS5 ~]# mkdir /etc/vsftpd/vconf/
四、制作虚拟用户数据库文件
1.先建立虚拟用户名单文件：
[root@KcentOS5 ~]# touch /etc/vsftpd/virtusers
建立了一个虚拟用户名单文件，这个文件就是来记录vsftpd虚拟用户的用户名和口令的数据文件，我这里给它命名为virtusers。为了避免文件的混乱，我把这个名单文件就放置在/etc/vsftpd/下。
2.编辑虚拟用户名单文件：
[root@KcentOS5 ~]# vi /etc/vsftpd/virtusers
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
download
1234
upload
5678
admin
9012
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
编辑这个虚拟用户名单文件，在其中加入用户的用户名和口令信息。格式很简单：“一行用户名，一行口令”。
3.生成虚拟用户数据文件：
[root@KcentOS5 ~]# db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
五、设定PAM验证文件，并指定虚拟用户数据库文件进行读取
在/etc/pamd.vsftpd的文件头部加入以下信息（在后面加入无效）
&#8212;-
auth    sufficient      [...]]]></description>
			<content:encoded><![CDATA[<p>最近公司的一台业务机需要为客户在CentOS5.1下配置Vsftpd，于是开动。<br />
步骤很简单：</p>
<p>需求:（虚拟用户分下载用户／下载、上传但不能删除用户／管理用户）</p>
<p>一、安装<br />
yum -y install vsftpd*<br />
yum -y install pam*<br />
yum -y install db4*</p>
<p>二、系统帐户<br />
<span id="more-15"></span><br />
1、vsftpd服务的宿主用户<br />
useradd vsftpd -s /sbin/nologin<br />
2、vsftpd虚拟宿主用户<br />
useradd ftpuser -s /sbin/nologin<br />
*不允许相关用户登录。<br />
三、vsftpd.conf设置<br />
1、备份<br />
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.ysbk<br />
2、设置<br />
&#8212;-<br />
anonymous_enable=NO<br />
设定不允许匿名访问<br />
local_enable=YES<br />
设定本地用户可以访问。注意：主要是为虚拟宿主用户，如果该项目设定为NO那么所有虚拟用户将无法访问。<br />
write_enable=YES<br />
设定可以进行写操作。<br />
local_umask=022<br />
设定上传后文件的权限掩码。<br />
anon_upload_enable=NO<br />
禁止匿名用户上传。<br />
anon_mkdir_write_enable=NO<br />
禁止匿名用户建立目录。<br />
dirmessage_enable=YES<br />
设定开启目录标语功能。<br />
xferlog_enable=YES<br />
设定开启日志记录功能。<br />
connect_from_port_20=YES<br />
设定端口20进行数据连接。<br />
chown_uploads=NO<br />
设定禁止上传文件更改宿主。<br />
xferlog_file=/var/log/vsftpd.log<br />
设定Vsftpd的服务日志保存路径。注意，该文件默认不存在。必须要手动touch出来，并且由于这里更改了Vsftpd的服务宿主用户为手动建立的Vsftpd。必须注意给与该用户对日志的写入权限，否则服务将启动失败。<br />
xferlog_std_format=YES<br />
设定日志使用标准的记录格式。<br />
nopriv_user=vsftpd<br />
设定支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户。注意，一旦做出更改宿主用户后，必须注意一起与该服务相关的读写文件的读写赋权问题。比如日志文件就必须给与该用户写入权限等。<br />
async_abor_enable=YES<br />
设定支持异步传输功能。<br />
ascii_upload_enable=YES<br />
ascii_download_enable=YES<br />
设定支持ASCII模式的上传和下载功能。<br />
ftpd_banner=Welcome to Awei FTP servers<br />
设定Vsftpd的登陆标语。<br />
chroot_local_user=YES<br />
禁止本地用户登出自己的FTP主目录。<br />
pam_service_name=vsftpd<br />
设定PAM服务下Vsftpd的验证配置文件名。因此，PAM验证将参考/etc/pam.d/下的vsftpd文件配置。<br />
以下这些是关于Vsftpd虚拟用户支持的重要配置项目。默认Vsftpd.conf中不包含这些设定项目，需要自己手动添加配置。<br />
guest_enable=YES<br />
设定启用虚拟用户功能。<br />
guest_username=ftpuser<br />
指定虚拟用户的宿主用户。<br />
virtual_use_local_privs=YES<br />
设定虚拟用户的权限符合他们的宿主用户。<br />
user_config_dir=/etc/vsftpd/vconf<br />
设定虚拟用户个人Vsftp的配置文件存放路径。也就是说，这个被指定的目录里，将存放每个Vsftp虚拟用户个性的配置文件，一个需要注意的<br />
地方就是这些配置文件名必须和虚拟用户名相同。<br />
&#8212;-<br />
3.建立Vsftpd的日志文件，并更该属主为Vsftpd的服务宿主用户：<br />
[root@KcentOS5 ~]# touch /var/log/vsftpd.log<br />
[root@KcentOS5 ~]# chown vsftpd.vsftpd /var/log/vsftpd.log<br />
4.建立虚拟用户配置文件存放路径：<br />
[root@KcentOS5 ~]# mkdir /etc/vsftpd/vconf/<br />
四、制作虚拟用户数据库文件<br />
1.先建立虚拟用户名单文件：<br />
[root@KcentOS5 ~]# touch /etc/vsftpd/virtusers<br />
建立了一个虚拟用户名单文件，这个文件就是来记录vsftpd虚拟用户的用户名和口令的数据文件，我这里给它命名为virtusers。为了避免文件的混乱，我把这个名单文件就放置在/etc/vsftpd/下。<br />
2.编辑虚拟用户名单文件：<br />
[root@KcentOS5 ~]# vi /etc/vsftpd/virtusers<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
download<br />
1234<br />
upload<br />
5678<br />
admin<br />
9012<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
编辑这个虚拟用户名单文件，在其中加入用户的用户名和口令信息。格式很简单：“一行用户名，一行口令”。<br />
3.生成虚拟用户数据文件：<br />
[root@KcentOS5 ~]# db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db<br />
五、设定PAM验证文件，并指定虚拟用户数据库文件进行读取<br />
在/etc/pamd.vsftpd的文件头部加入以下信息（在后面加入无效）<br />
&#8212;-<br />
auth    sufficient      /lib/security/pam_userdb.so     db=/etc/vsftpd/virtusers<br />
account sufficient      /lib/security/pam_userdb.so     db=/etc/vsftpd/virtusers<br />
&#8212;-<br />
六、虚拟用户的配置<br />
1、download用户，只能下载不能上传和删除<br />
&#8211;<br />
write_enable=NO<br />
&#8211;<br />
2、upload能下载、上传但不能删除<br />
&#8211;<br />
write_enable=YES<br />
cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT<br />
file_open_mode=0444<br />
&#8211;<br />
3、admin对ftp进行管理<br />
&#8211;<br />
默认的vsftpd.conf文件就可以了，不要做任何修改。<br />
&#8211;<br />
4、补充：<br />
如果对上传用户要限制其上传目录（主目录），需要加入<br />
&#8211;<br />
local_root=/home/ftp/upload<br />
&#8211;<br />
前将/home/ftp/upload给予相应的权限。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cnedwin.com/15.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>手动安装Linux网卡驱动程序</title>
		<link>http://www.cnedwin.com/14.html</link>
		<comments>http://www.cnedwin.com/14.html#comments</comments>
		<pubDate>Mon, 28 Apr 2008 08:13:43 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[技术探讨]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Freebsd]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[内核]]></category>
		<category><![CDATA[网卡]]></category>

		<guid isPermaLink="false">http://www.cnedwin.com/?p=14</guid>
		<description><![CDATA[CentOS下安装网卡驱动
前言
最近，一台机器从FreeBSD换为CentOS，一路安装顺利。完事之后发现，网卡没有启用，dmesg &#124; grep eth 命令确定网卡没有驱动导致的。于是开始了一路艰辛的安装过程。

安装过程
1.先找驱动，主板是华擎的ConRoe945G-DVI，去了华擎的官网找到这块主板。伤心的发现其官网上并没有linux的网卡驱动下载。但是找到网卡是Realtek RTL8111B型号的。
2.在Realtek的官网上找到了驱动，并下载之，进入网卡文件的目录执行（根据网卡的安装说明）命令：
# make clean modules
# make install
# depmod -a
# insmod ./src/r8168.ko
出错，提示kernel-devel没有安装。
3.开始安装kernel-devel，挂载上CentOS的安装光盘，用rpm -iv /mnt/cdrom/CentOS/kernel-devel*.rpm安装，继续安装驱动。提示少kernel-xen
4.安装kernel-xen用rpm -iv /mnt/cdrom/CentOS/kernel-xen*.rpm安装，继续安装发现少gcc
5.于是继续安装gcc，怕麻烦通过yum命令安装gcc
编辑/etc/yum.repos.d/iso.repo文件，添加本地路径也就是/mnt/cdrom/目录
然后开始使用命令
yum –disablerepo=\* –enablerepo=c5-media install gcc
将提示所需的gcc一个一个都安装了。
最后在进行步骤2.完成安装services network restart，可爱的网卡终于出现了！
步骤总结
1.通过dmesg &#124; grep eth 判断是否是网卡没有驱动导致的。
2.找到对应的网卡驱动，准备安装
3.检查服务器是否有编译环境，也就是kernel-devel、gcc这些。如果没有安装之，具体可参考前端文字。默认centos安装的时候，并没有 带上需要支持编译的源码包，需要自己用yum install命令同时安装：kernel、kernel-headers和kernel-devel。
4.执行下列命令：
tar vjxf r8168-8.003.00.tar.bz2
cd r8168-8.003.00
make clean modules
make install
depmod -a
insmod ./src/r8168.ko
5.安装完成。
其他情况
在网卡硬件没有问题的情况下，如果没有安装对应的正确确定导致网卡仍然不能正常使用，请通过以下方式进行重新安装。
1.删除原有网卡设备。
2.删除原有的安装程序：rmmod r8168.ko
3.然后用命令：find / -name r8168.ko，找到并删除该模块。
本文原载是我好友Kimi：http://www.ccvita.com/index.php/304.html
]]></description>
			<content:encoded><![CDATA[<h2>CentOS下安装网卡驱动</h2>
<p><strong>前言</strong><br />
最近，一台机器从FreeBSD换为CentOS，一路安装顺利。完事之后发现，网卡没有启用，dmesg | grep eth 命令确定网卡没有驱动导致的。于是开始了一路艰辛的安装过程。<br />
<span id="more-14"></span><br />
<strong>安装过程</strong><br />
1.先找驱动，主板是华擎的ConRoe945G-DVI，去了华擎的官网找到这块主板。伤心的发现其官网上并没有linux的网卡驱动下载。但是找到网卡是Realtek RTL8111B型号的。<br />
2.在Realtek的官网上找到了驱动，并下载之，进入网卡文件的目录执行（根据网卡的安装说明）命令：<br />
# make clean modules<br />
# make install<br />
# depmod -a<br />
# insmod ./src/r8168.ko<br />
出错，提示kernel-devel没有安装。</p>
<p>3.开始安装kernel-devel，挂载上CentOS的安装光盘，用rpm -iv /mnt/cdrom/CentOS/kernel-devel*.rpm安装，继续安装驱动。提示少kernel-xen<br />
4.安装kernel-xen用rpm -iv /mnt/cdrom/CentOS/kernel-xen*.rpm安装，继续安装发现少gcc<br />
5.于是继续安装gcc，怕麻烦通过yum命令安装gcc<br />
编辑/etc/yum.repos.d/iso.repo文件，添加本地路径也就是/mnt/cdrom/目录<br />
然后开始使用命令<br />
yum –disablerepo=\* –enablerepo=c5-media install gcc<br />
将提示所需的gcc一个一个都安装了。<br />
最后在进行步骤2.完成安装services network restart，可爱的网卡终于出现了！<br />
<strong>步骤总结</strong><br />
1.通过dmesg | grep eth 判断是否是网卡没有驱动导致的。<br />
2.找到对应的网卡驱动，准备安装<br />
3.检查服务器是否有编译环境，也就是kernel-devel、gcc这些。如果没有安装之，具体可参考前端文字。默认centos安装的时候，并没有 带上需要支持编译的源码包，需要自己用yum install命令同时安装：kernel、kernel-headers和kernel-devel。<br />
4.执行下列命令：<br />
tar vjxf r8168-8.003.00.tar.bz2<br />
cd r8168-8.003.00<br />
make clean modules<br />
make install<br />
depmod -a<br />
insmod ./src/r8168.ko<br />
5.安装完成。<br />
<strong>其他情况</strong><br />
在网卡硬件没有问题的情况下，如果没有安装对应的正确确定导致网卡仍然不能正常使用，请通过以下方式进行重新安装。<br />
1.删除原有网卡设备。<br />
2.删除原有的安装程序：rmmod r8168.ko<br />
3.然后用命令：find / -name r8168.ko，找到并删除该模块。</p>
<p>本文原载是我好友Kimi：<a href="http://www.ccvita.com/index.php/304.html" target="_blank">http://www.ccvita.com/index.php/304.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cnedwin.com/14.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
