• Tag Archives: centos

CENTOS 6.0 iptables 开放端口80 3306 22端口

#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
 #/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT

 

#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

 

然后保存: #/etc/rc.d/init.d/iptables save

查看打开的端口:

# /etc/init.d/iptables status

——————————————————-

补充说明:

#关闭防火墙

/etc/init.d/iptables stop

service iptables stop # 停止服务

 

#查看防火墙信息

/etc/init.d/iptables status
#开放端口:8080

/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT

 

#重启防火墙以便改动生效:(或者直接重启系统)

/etc/init.d/iptables restart

 

#将更改进行保存

/etc/rc.d/init.d/iptables save

 

另外直接在/etc/sysconfig/iptables中增加一行:

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT

#永久关闭防火墙 chkconfig –level 35 iptables off #此方法源自网络,未实验,安全考虑拒绝使用此方法

Linux下apache2.2.4+php5.5.5搭建

版本 

CentOS 6.4  //最小安装;要解决很多依赖包建议yum进行安装

httpd-2.4.6.tar.gz

php-5.5.5.tar.gz

 

步骤:

1) 安装所需要的一些库   

//可以直接进入第二步,安装时出现所需库未安装返回第一步

2) 安装apache

3) 安装php

4) 修改配置文件

5) 测试

 

一:安装库

安装时可能出现一些软件包未安装 比如:APR APR-util PCRE  C++ 或其他库

安装方法如下:

① yum  安装   //yum install -y 包名

② tar  安装 如下

tar zxvf  apr-1.4.8.tar.gz 

cd apr-1.4.8

./configure –prefix=/usr/local/apr               //注意路径 安装httpd时免得找不到

make

make install

tar zxvf apr-util-1.5.2.tar.gz 

cd apr-util-1.5.2

./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr

make

make install

               

yum install -y gcc gcc-c++

tar zxvf pcre-8.33.tar.gz 

cd pcre-8.33

./configure –prefix=/usr/local/pcre

make

make install

 

二:安装apache

tar zxvf  httpd-2.4.6.tar.gz   

cd httpd-2.4.6

./configure –prefix=/usr/local/httpd –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util –enable-module=so –with-pcre=/usr/local/pcre

make

make install

 

三:安装PHP

tar zxvf php-5.5.5.tar.gz

cd php-5.5.5

./configure  –with-apxs2=/usr/local/apache/bin/apxs  –prefix=/usr/local/php –with-config-file-path=/usr/local/php  –with-mysql=mysqlnd

make

make install

 

四:修改配置文件

Apache

配置文件在/usr/local/httpd/conf/httpd.conf

网页文件在/usr/local/httpd/htdocs/

php 

   配置文件在 /etc/php.ini

cp /xxx(php安装文件的目录)/php.ini-development  /etc/php/ini

vi  /usr/local/httpd/conf/httpd.conf

确保以下字符串是否存在

LoadModule php5_module modules/libphp5.so

在<IfModule>…</IfModule>之间添加 AddType application/x-httpd-php .php .phtml .php3 .inc

在/usr/local/apache/htdocs/ 下创建以下php文件进行测试

<?php

phpinfo()

?>

 

五:配置为系统服务

# cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd

然后 vi /etc/rc.d/init.d/httpd 添加(# !/bin/sh下面)

# chkconfig: 2345 50 90

# description: Activates/Deactivates Apache Web Server

保存退出

最后,运行chkconfig把Apache添加到系统的启动服务组里面:

# chkconfig –add httpd

# chkconfig –level 2345 httpd on

然后再service httpd start

CentOS 6 时间,时区,设置修改及时间同步

显示时区
date –help 获取帮助
date -R
date +%z
上面两个命令都可
[root@localhost ~]# date -R; date +%z
Fri, 19 Oct 2012 23:34:27 +0800
+0800

主要就是后面的+0800,东八区

修改时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

时区的信息存在/usr/share/zoneinfo/下面,本机的时区信息存在/etc/localtime,利用tab键技巧,可以任意修改时区
tzselect,互动式命令,不过用了好象不太行,还是用上面的吧。

二、时间
概念:Linux时间有两个
系统时间:也叫软件时间(sys), 1970年1月1日到当前时间的秒数
BOIS时间:也叫硬件时间(hc)
显示时间
[root@localhost ~]# date;hwclock -r
2012年 10月 19日 星期五 23:39:44 CST
2012年10月19日 星期五 23时39分45秒  -0.317993 seconds

设置时间
1、date -s
[root@localhost ~]# date;hwclock -r
2012年 10月 19日 星期五 23:39:44 CST
2012年10月19日 星期五 23时39分45秒  -0.317993 seconds

没有网络的情况下可以用这个
date -s 20121019
date -s 23:40:00

2、ntpdate
ntpdate time.windows.com && hwclock -w
连网更新时间,如果成功,将系统时间,写入BOIS
hwclock -w 或 hwclock –systohc
可以做到crontab里

3、启动ntpd服务,开启后2就不能用了。
先用ntpdate更新一下,确保时间不至于差别太大
rpm -qa | grep ntp #查询一下可安装了
chkconfig –list | grep ntp #看下服务情况
chkconifg ntpd on
service ntpd start 或/etc/init.d/ntpd start
必要的话,设置一下/etc/ntp.conf,再把服务reload一下。
ntp的知识参考一下鸟哥的服务器篇

在centOS让mysql打开(取消)开机启动

通过yum安装MySQL后,默认开机时不会自动启动,需要手动设置MySQL让它开机自启动。

首先通过chkconfig命令看看MySQL在不在可管理的列表中,命令是:

chkconfig –list

如果列表中没有mysqld这个,需要先用这个命令添加:

chkconfig add mysqld

然后用这个命令设置开机启动:

chkconfig mysqld on

最后确认一下是否设置成功,如图:

crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
jexec           0:on    1:on    2:on    3:on    4:on    5:on    6:on
modules_dep     0:off   1:off   2:on    3:on    4:on    5:on    6:off
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off
named           0:off   1:off   2:off   3:off   4:off   5:off   6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:off   4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
nmb             0:off   1:off   2:off   3:off   4:off   5:off   6:off
nscd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
portreserve     0:off   1:off   2:on    3:off   4:on    5:on    6:off
quota_nld       0:off   1:off   2:off   3:off   4:off   5:off   6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
rpcbind         0:off   1:off   2:on    3:off   4:on    5:on    6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
saslauthd       0:off   1:off   2:off   3:on    4:off   5:off   6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off
snmpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
snmptrapd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:off   4:on    5:on    6:off
vsftpd          0:off   1:off   2:off   3:on    4:off   5:on    6:off
xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off

如果对应mysqld对应的6项中有3项是on就证明已经设置成功。

在CentOs中安装vsFtpd并创建多个虚拟用户,且不同的用户拥有不同的权限以及指向不同的文件夹

在vsftpd中要实现不同用户不同权限,可以利用虚拟用户来实现。

vsftpd的本地用户本身是系统的用户,除了可以登录FTP服务器外,还可以登录系统使用其他系统资源,而vsftpd的虚拟用户则是FTP服务的专用用户,虚拟用户只能访问FTP服务器资源。对于只需要通过FTP对系统有读写权限,而不需要其他系统资源的用户或情况来说,采用虚拟用户方式是很适合的。

vsftpd的虚拟用户采用单独的用户名/口令保存方式,与系统账号(passwd/shadow)分离,这大大增强了系统的安全性。vsftpd可以采用数据库文件来保存用户/口令,如hash;也可以将用户/口令保存在数据库服务器中,如MySQL等。vsftpd验证虚拟用户,则采用PAM方式。由于虚拟用户的用户名/口令被单独保存,因此在验证时,vsftpd需要用一个系统用户的身份来读取数据库文件或数据库服务器以完成验证,这就是guest用户,这正如同匿名用户也需要有一个系统用户ftp一样。当然,guest用户也可以被认为是用于映射虚拟用户。

环境:
CentOS 6.3
vsFtp 2.2.2

1、安装vsFtpd
$sudo apt-get install vsftpd
$sudo apt-get install db4.6-utils

2、建立本地虚拟用户
#useradd -d /home/ftp virtual
指定目录为/home/ftp

3、建立虚拟用户数据库
#mkdir /etc/vsftpd
#vim /etc/vsftpd/logins.txt
login.txt文件内容:
gavin
123
jimson
123
admin
admin

注:奇数行为用户名,偶数行为密码。
#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
#chmod 600 /etc/vsftpd/vsftpd_login.db
生成数据库文件之后建议删除logins.txt。

这里有个问题,我在创建的时候,在后面的build过程中出现过如下出错提示:
db_load: unexpected end of input data or key/data pair
db_load: odd number of key/data pairs
原因大概是在ftpUserInfo.txt最后需要再加个回车,加回车后,就没问题了,在图形界面的文本编辑器保存默认也会添加一个回车,所以,如果是在图形界面的文本编辑器下直接生成的,不会出现该错误.

4、建立基于vsftpd_login的PAM授权文件
#vim /etc/pam.d/vsftpd.vu

vsftpd.vu文件内容(32位系统):
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

vsftpd.vu文件内容(64位系统):
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

注意:这里必须清楚知道自己的linux系统是32位还是64位的,如果这里不正确,那么在整过配置过程完成后,FTP将无法成功验证用户的登录,出现“530 Login incorrect 错误”。

5、设置用户权限
建立用来存放用户权限设置文件的目录
#mkdir /etc/vsftpd/virtual
并在该文件夹下依次建立与logins.txt对应的帐号名称相同的文件
#vim gavin
内容可以参考下面:
#[gavin]只允许下载
anon_world_readable_only=NO
local_root=/home/ftp

#[jimson]允许建立,修改,但是不允许删除
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
local_root=/home/ftp

#[admin]全部权限
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/home/ftp

6、设置vsftpd.conf
#vim /etc/vsftpd/vsftpd.conf
修改内容如下:
listen=YES
connect_from_port_20=YES
ftpd_banner=Welcome to virtual FTP service.

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=virtual

pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/virtual
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

注意备份原配置文件

7、重新启动vsftpd
#service vsftpd restart

【可能出现的问题】
1、无法登陆
解决方法:
(1)检查ftp根目录目录是否存在;
(2)检查上面设置的各个路径是否正确;
(3)查看ftp根目录的owner属性是否是virtual
#ls -al /home
如果不是
#chown -R virtual /home/ftp

【日常维护】
(1)更新帐号
#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
(2)更新/etc/vsftpd/virtual/下不同用户对应的权限
(3)重启vsftpd
#service vsftpd restart

close