标签: 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

  • 设置linux CentOS系统定时自动重启

    用root用户登录系统
    crontab -e #创建计划任务
    按i进入输入模式,添加如下行
    01 2 * * * reboot #该行表示每天2:01重启机器
    59 23 * * * reboot #该行表示每天23:39重启机器

  • 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中查看mysql版本.

    输入命令

    mysql -V

    或者

    mysql –version

    即可。

  • 在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