Linux VSFTP服务器
一、Linux FTP服务器分类:
<1>wu-ftp
<2>proftp=profession ftp
<3>vsftp=very security ftp
配置文件:
/etc/vsftpd/vsftpd.conf //主配置文件
/etc/vsftpd.ftpusers //被禁止登录FTP的用户文件
/etc/vsftpd.user_list //允许登录FTP的用户文件
二、访问方式
<1>匿名登录
<2>帐号登录
启动FTP服务器:
#service vsftpd restart
三、配置vsftp服务器
1.vsftpd.conf各项参数说明:
#vi /etc/vsftpd/vsftpd.conf
<1>第7行: 控制匿名登录
anonymous_enable=YES 改成NO
<2>第10行:允许本地帐号登录
<3>第13行:控制可写权限
<4>第17行:控制本地文件的权限掩码
<5>第22行:控制是否允许匿名上传(与26行同时开启或关闭)
<6>第26行:控制是否允许匿名写及创建目录的权限
<7>第33行:控制上传或下载的日志记录
<8>第46行:控制日志的保存路径
<9>第52行:设置指令超时的时间,默认为600秒
<10>第55行:设置数据连接的超时时间,默认为120秒
<11>第91行:控制登录FTP的用户是否被限制在家目录下;(必须与93行同时开启或关闭)
chroot_list_enable=YES
<12>第93行:登录FTP后被限制在家目录下的用户列表文件
chroot_list_file=/etc/vsftpd.chroot_list
在/etc目录下新建一个vsftpd.chroot_list文件,内容加入要限制用户的用户名
没加入限制用户可以访问其目录
<13>第99行:控制登录FTP后是否允许ls命令
<14>第102行:启用/etc/vsftpd.user_list文件
2.配置匿名登录
#vi /etc/vsftpd/vsftpd.conf
第7行,设置为: (默认值)
anonymous_enable=YES
启动vsftpd服务器:
#service vsftpd restart
#service iptables stop
匿名登录的默认目录:
/var/ftp/pub
打开匿名上传和写权限:
#vi /etc/vsftpd/vsftp.conf
激活第22行
激活第26行
打开默认共享目录的权限
#chmod 777 /var/ftp/pub
备注:匿名可以上传下载,但不能删除;
3.本地帐号登录
<1>禁用匿名登入
修改配置文件
#vi /etc/vsftpd/vsftpd.conf
禁用所有匿名控制行,如:
禁用第7行,第22行,第26行;
<2>开放那些用户可以登入和那些用户拒绝登入
#vi /etc/vsftpd/vsftpd.conf
在102行后,插入如下:
userlist_deny=NO
(备注:设置/etc/vsftpd.user_list文件中的用户可登录FTP)
保存退出
如果是#userlist_deny=NO 注释掉,则默认全部用户可以登入FTP,当要限某用户不能登入:
把用户名加入这个文件当中/etc/vsftpd.ftpusers,则这个用户名拒绝登入FTP
创建用户并加入到相应的控制文件中
#useradd us1
#useradd us2
#passwd us1
#passwd us2
允许登录到FTP的用户:
#echo us1>>/etc/vsftpd.user_list
#echo us2>>/etc/vsftpd.user_list
启动FTP服务器:
#service vsftpd restart
备注:帐号登录FTP,默认是登录在家目录下;
禁止登录到FTP的用户:
#echo us3>>/etc/vsftpd.ftpusers
<3>将登录后的用户限制在本地家目录下:
#vi /etc/vsftpd/vsftpd.conf
激活第91行及第93行
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
新建受限用户的列表文件并加入受限用户名
#vi /etc/vsftpd.chroot_list
us2
保存退出
#service vsftpd restart
<4>限制匿名上传的速度:
#vi /etc/vsftpd/vsftpd.conf
:$
anon_max_rate=5000 //默认以字节为单位 5000表示5K速度
<5> 限制本地帐号的上传速度:
local_max_rate=5000 //以(字节/秒)为单位
<6> 针对不同的使用者限制不同的速度(这个速度优先限制所有用户的速度):
#vi /etc/vsftpd/vsftpd.conf 增加下面一行
user_config_dir=/etc/vsftpd/userconf
#mkdir /etc/vsftpd/userconf 创建一个目录
#vi /etc/vsftpd/userconf/user1 (user1是要限制速度的用户名)
local_max_rate=25000
<7>定制欢迎信息:
#vi /etc/vsftpd/vsftpd.conf
激活80行
ftpd_banner=Welcome to Huayu FTP service.
<8>限制服务器连接数和同IP连接数
1、max_clients
可使用这个参数定义最大的总联机数。超过这个数目将会拒绝联机,0 表示不限。默认值为0。
2、max_per_ip
使用这个参数定义每个ip address 所可以联机的数目。超过这个数目将会拒绝联机,0 表示不限。默认值为0。
<9>虚拟FTP用户设置
1、 建立虚拟用户口令库文件
#vi /etc/vsftpd/logins.txt
vuser1
123
vuser2
321
:wq
口令库文件中奇数行设置用户名,偶数行设置口令
2、 生成vsftpd的认证文件
#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db ##生成认证文件
3、设置认证文件只对root用户可读可写
# chmod 600 /etc/vsftpd/vsftpd_login.db
4、建立虚拟用户所需的PAM配置文件,手工建立vsftpd.vu文件
# cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5、建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限
# useradd -d /home -s /sbin/nologin /ftpsite virtual
# chmod 700 /home/ftpsite
6、设置vsftpd.conf配置文件
#vi /etc/vsftpd/vsftpd.conf
在配置文件中添加虚拟用户的配置内容
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu(要和刚才建的PAM文件对应)
user_config_dir=/etc/vsftpd/user_config_dir (指定每个虚拟用户账号配置目录,)
local_root=/www (这行没有,虚拟用户登入到/ftpsite)
7、配置虚拟用户名的设置
#mkdir -p /etc/vsftpd/user_config_dir (主配置文件对应)
#mkdir -p /www/vuser1 (创建虚拟用主目录)
#chmod -R 777 /www/vuser1 (设定权限)
#touch /etc/vsftpd/user_config_dir/vuser1 (为vuser1权限配置文件)
#echo "anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/www/feixiang
anon_mkdir_write_enable=YES" >/etc/vsftpd/user_config_dir/vuser1
8、重新启动vsftpd服务程序
# service vsftpd restart
现在就应该可以用虚拟帐号登陆了.
<9>虚拟FTP用户设置
1、 建立虚拟用户口令库文件
#vi /etc/vsftpd/logins.txt
vuser1
123
vuser2
321
:wq
口令库文件中奇数行设置用户名,偶数行设置口令
2、 生成vsftpd的认证文件
#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db ##生成认证文件
3、设置认证文件只对root用户可读可写
# chmod 600 /etc/vsftpd/vsftpd_login.db
4、建立虚拟用户所需的PAM配置文件,手工建立vsftpd.vu文件
# cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5、建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限
# useradd -d /home -s /sbin/nologin /ftpsite virtual
# chmod 700 /home/ftpsite
6、设置vsftpd.conf配置文件
#vi /etc/vsftpd/vsftpd.conf
在配置文件中添加虚拟用户的配置内容
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu(要和刚才建的PAM文件对应)
user_config_dir=/etc/vsftpd/user_config_dir (指定每个虚拟用户账号配置目录,)
local_root=/www (这行没有,虚拟用户登入到/ftpsite)
7、配置虚拟用户名的设置
#mkdir -p /etc/vsftpd/user_config_dir (主配置文件对应)
#mkdir -p /www/vuser1 (创建虚拟用主目录)
#chmod -R 777 /www/vuser1 (设定权限)
#touch /etc/vsftpd/user_config_dir/vuser1 (为vuser1权限配置文件)
#echo "anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/www/feixiang
anon_mkdir_write_enable=YES" >/etc/vsftpd/user_config_dir/vuser1
8、重新启动vsftpd服务程序
# service vsftpd restart
现在就应该可以用虚拟帐号登陆了.
yum 安装 mysql
linux下RRDTool安装方法
一、使用yum安装:
在 /etc/yum.repos.d/下面新建dag.repo文件在文件中输入源地址:
[root@hmg2 yum.repos.d]# cat dag.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
[root@hmg2 yum.repos.d]#yum -y install rrdtool
这样就可以完成RRDTool安装……
二、软件包安装:
先yum安装所要的库文件:
[root@hmg2 yum.repos.d]#yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel
然后下载rrdtool包,安装:
[root@hmg2 src]#wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3.1.tar.gz
[root@hmg2 src]#tar -zxvf rrdtool-1.3.1.tar.gz
[root@hmg2 src]#./configure –prefix=/usr/local/rrdtool && make && make install
运行rrdtool –v测试安装成功没有:
[root@hmg2 src]#rrdtool -v //可以看到RRDTool的用法以及版本信息
三、另一种yum安装
[root@hmg2 src]#wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[root@hmg2 src]#rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[root@hmg2 src]#yum -y install rrdtool*
linux搜索文件 更改文件名
find . -maxdepth 1 -name "@*"
这个命令意思是,查找当前目录下以@开头的文件或者目录,搜索深度为一级也就是只在当前目录找,不进入子目录,如果你要从/目录开始找就:
find / -maxdepth 1 -name "@*"
如果想搜全盘,就把-maxdepth 1 去掉
更改文件名
mv index.php indexnew.php
linux 查看文件和文件夹大小
Linux查看文件夹大小
du -sh 查看当前文件夹大小
du -sh * | sort -n 统计当前文件夹(目录)大小,并按文件大小排序
附送:
du -sk filename 查看指定文件大小
linux查看进程和终止进程
1. 在LINUX命令平台输入1-2个字符后按Tab键会自动补全后面的部分(前提是要有这个东西,例如在装了tomcat的前提下,输入tomcat的to按tab)。
2. ps 命令用于查看当前正在运行的进程。
grep 是搜索
例如: ps -ef | grep java
表示查看所有进程里CMD是java的进程信息
ps -aux | grep java
-aux 显示所有状态
ps
3. kill 命令用于终止进程
例如: kill -9 [PID]
-9表示强迫进程立即停止
通常用ps 查看进程PID ,用kill命令终止进程
centos6下yum安装cacti
简述:本来是编译安装的,由于编译过程中库文件关联太多,安装文件一定要有顺序性,报错太多,到了rrdtool这一步说什么都安装不过去了,由于时间问题,选择了yum安装,对于编译安装,这个要简单多了,她把关联的文件都自动的安装了,省了不少的事,下边介绍一下yum安装的过程:
首先要部署yum环境,国内有很多yum源,sohu、163、科大的等等,配置很简单,具体的可以到网上查查。
部署环境:(LAMP+RRDTool+snmp+cacti)
一、配置LAMP环境(删除已安装程序 yum remove mysql)
①安装Mysql
#yum -y install mysql mysql-server mysql-devel
②安装Apache
#yum -y install httpd
③安装PHP
#yum -y install php php-mysql
④启动服务并加入到启动列表
#service httpd start
#service mysqld start
#chkconfig httpd on
#chkconfig mysqld on
二、安装需要的库文件
#yum -y install zlib
#yum -y install freetype
#yum -y install libjpeg
#yum -y install fontconfig
#yum -y install gd
#yum -y install libxml2
#yum -y install php-gd
三、安装RRDTool
#yum -y install rrdtool
启动rrdtool服务并且加入启动列表
#service rrdcached start
#chkconfig rrdcached on
四、安装snmp支持工具
#yum -y install net-snmp
#yum -y install net-snmp-utils
启动snmpd服务并且加入启动列表
#service snmpd start
#chkconfig snmpd on
五、安装cacti(cacit官方网站:http://www.cacti.net/)
①下载
#wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz
②配置
解压并放到apache文档目录(/var/www/html)
#tar -xf cacti-0.8.7e.tar.gz
#mv cacti-0.8.7e /var/www/html/cacti
编辑CentOS cacti配置文件,连接MySQL服务的用户名,密码,端口等。
#cd /var/www/html
#vi cacti/include/config.php
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cacti”;
$database_password = “cacti”;
$database_port = “3306″;
③添加计划任务(使cacti每5分钟获得一次数据)
添加一个cacti的用户并添加cron任务:
#useradd cacti
#su cacti
#crontab -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
④更改属组
把cacti网站目录所属组改为cacti
#su root
#chgrp -R cacti /var/www/html/cacti
#chown -R cacti /var/www/html/cacti/rra
#chown -R cacti /var/www/html/cacti/log
#chown -R cacti /var/www/html/cacti/poller.php
六、数据库配置
①创建cacti数据库
#mysql
msyql>create database cacti;
②导入cacti.sql
#mysql -u root -p cacti < /var/www/html/cacti/cacti.sql
有密码的输入密码,没密码的直接回车
③应用
mysql> use cacti
mysql> grant all on cacti.* to cacti@localhost identified by ‘cacti’;
mysql> flush privileges;
mysql> exit
七、WEB登陆cacti
①http://ip/cacti
(这里如果出现“403 forbidden”的错误,请把selinux关闭)
打开网页—>next—>选择new install,使用一路回车法.完成
的用户名为: admin 密码为: admin (初次登陆成功会提示更改密码)
以下为参考
八、汉化cacti(如果英文不好的话,可以把cacti汉化,这样看起就就方便了)
①下载
wget http://blogimg.chinaunix.net/blog/upfile2/090815172648.gz
②配置
tar zxvf 90815172648.gz
rm -rf /var/www/html/cacti
mv cacti-0.8.7e-cn-utf8/ /var/www/cacti/html
vi /var/www/cacti/html/include/config.php
内容如下:
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
chown -R cacti /var/www/html/cacti/rra /var/www/html/cacti/log
③升级
http://ip/cacti
选择"从0.8.x升级"选项,然后跟着提示走,就OK了.
登陆,用户名为:admin,密码是你之前改过的,如果没有改的话,仍然是admin.
汉化完成了,接下来就配置自己的应用吧!
Cacti安装配置
版本历史:
<V0.2.20101204>根据 Cacti Doucument 调整,适用于Cacti 0.8.7g
V0.2版本是基于V0.1演化,所以版本延续。
实际上是已经不算是安装,而是翻译Cacti的文档了。
所以具体的安装过程,还是请大家参考V0.1版本。
cacti是一套开源的网络监控工具,基于rrdtool的良好绘图功能,可以完美的监控主机的状态和负载情况,添加相应的模板后,可以用来监控apache服务器和mysql服务器的运行状态。这里主要描述使用源代码配置的过程,使用yum的方式同样,因为cacti是基于网络服务器配置,所以没有二进制编译安装的过程,源代码和yum的方式是一样的。
安装需求
Cacti需要系统中已经安装下列组件:
- RRDTool 1.0.49 or 1.2.x 或更高版本
- MySQL 4.1.x or 5.x or 或更高版本
- PHP 4.3.6 或更高版本, 推荐5.x 版本以使用更多高级特性
- 一个网络服务器 比如 Apache 或者 IIS
Unix软件RPM需求
请确认系统已安装下列的软件,并确认httpd和mysqld已设置为随系统启动。
- httpd
- php
- php-mysql
- php-snmp
- php-ldap (使用 LDAP 授权校验 时)
- php-xml
- mysql
- mysql-server
- net-snmp (根据分支的不同,可能还需要 net-snmp-utils )
PHP设置
PHP的安装包有很多种形式。主要的配置文件是so文件会调用的ini配置文件,比如 /etc/php.ini. 下面的提示预期是一个配置指导,但是根据分支的不同,
设置可能会有区别。
安全模式
Cacti 使用外部命令,例如用 rrdtool 来绘图。因此,需要设置
; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode
safe_mode = Off
时间和日期
从 PHP 5.3 版本开始,建议对时区 date timezone 进行定义。以避免因为时间/日期函数而带来的警告。使用如下代码:
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Europe/Berlin"
允许导入模板
如果你想使用 Cacti 的模板导入功能,请取消注释下面一行,以允许文件上传:
允许exec()调用
Cacti 会使用 exec() 这种形式的调用,因此,请确认已按照如下设置:
PHP扩展设置
Cacti 使用如下 PHP 扩展组件
- mysql
- session
- sockets
- xml
- pcre
同时,我们也建议使用
- snmp
扩展。你可以选择使用 net-snmp 来代替 php-snmp 扩展(有时是 net-snmp-utils )。
Cacti 插件会使用额外的扩展,比如
- gd (reportit 使用)
- dom (cli 脚本使用,只在 PHP 5 中才被支持)
当使用一个较新版本的 PHP 时,你可能会发现的提示
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
;;;;
这种情况下,并没有什么特殊的地方。不过需要验证下扩展模块相关 的ini配置文件是否已经配置在php支持的目录下。对于较老版本版本的PHP,你需要编辑 php.ini 并且增加