一、防火墙

     防火墙根据配置文件/etc/sysconfig/iptables 来控制本机的“出、入”网络访问行为 其对行为的配置策略有四个策略表
   

      1、 基础必备技能

           查看防火墙状态 service iptables status
           开启防火墙 service iptables start
           关闭防火墙 service iptables stop
           关闭防火墙开机自启 chkconfig iptables off
           设置防火墙开机自启 chkconfig iptables on

      2、扩展知识           

           (1) 列出 iptables 规则      iptables -L –n
                   列出 iptables 规则并显示规则编号      iptables -L -n --line-numbers
           (2)列出 iptables nat 表规则(默认是 filter 表)   iptables -L -n -t nat
           (3)清除默认规则(注意默认是  filter 表,如果对 nat 表操作要加-t nat)
                 #清除所有规则    iptables -F
                 #重启 iptables 发现规则依然存在,因为没有保存         service iptables restart
                 #保存配置      service iptables save
            (4) 禁止 ssh 登陆(若果服务器在机房,一定要小心)     iptables -A INPUT -p tcp --dport 22 -j DROP

                   #删除规则     iptables -D INPUT -p tcp --dport 22 -j DROP
                     加入一条 INPUT 规则开放 80 端口         iptables -I INPUT -p tcp --dport 80 -j ACCEPT
二、Httpd服务

         1、查看本机的httpd服务是否开启       service --status-all | grep httpd

         2、开启httpd服务  service httpd start   为了确保开启成功,再检查一次

         3、检查httpd服务是否开启成功             

             cd /var/www/html
             vi huangbo.html         写入一个字符串        

             在 windows 系统中,打开浏览器,在 url 地址栏输入:http://192.168.123.202/huangbo.html       看看是不是能看到我们往里加入到文件当中的字符串,如果能看到,则证明安装成功
三、系统管理

         1、挂载外部设备(可以挂载光盘、硬盘、磁带、光盘镜像文件等)

              (1)挂载光驱

                  创建一个目录用来进行挂载:  mkdir /mnt/cdrom
                  将设备/dev/cdrom 挂载到该挂载点( /mnt/cdrom) 上:  mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/
               (2)挂载光盘镜像文件( .iso 文件)

                     我们准备一个镜像文件: CentOS-6.7-x86_64-bin-DVD1.iso
                     再准备一个挂载目录: mkdir /mnt/centos
                     mount -t iso9660 -o loop /root/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/centos
                    注:挂载的资源在重启后即失效,需要重新挂载。要想自动挂载,可以将挂载信息设置 到/etc/fstab 配置文件中,如下:

               (3)卸载命令   umount /mount/cdrom

           2、统计文件夹或者文件的大小

                    存储空间查看  df -h                    

                    统计指定路径下的所有子目录和文件的大小 du -sh /mnt/cdrom/packages
          3、系统服务管理       

                service --status-all # 查看系统所有的后台服务进程
                service sshd status # 查看指定的后台服务进程的状态
                service sshd stop # 停止
                service sshd start # 开始
                service sshd restart # 重启            

                chkconfig httpd on ## 让 httpd 服务开机自启
                chkconfig httpd off ## 让 httpd 服务开机不要自启

              chkconfig --list | grep httpd 查看httpd是否加入开机自启(3和5都是on,则是开机自启)

四、进程管理      

              top ## 显示或管理执行中的程序
              free ## 显示内存使用情况
              ps -ef | grep httpd ## 报告当前系统的进程状态
              kill -9 2358 ## 将指定进程号的进程杀死

       我们使用 grep 在做进程查询的时候也会把自己查询出来,下面是两种查出来和布查出来的 对比:

五、SSH免密登录

     1、SSH概念     

       SSH 为 Secure Shell(安全外壳协议) 的缩写, 简单说, SSH 只是一种网络协议,用于 计算机之间的加密登录, 很多 ftp、 pop 和 telnet 在本质上都是不安全的,因为它们在网 络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而 SSH
就是专为远程登录会话和其他网络服务提供安全性的协议。
       SSH 是由客户端和服务端的软件组成的
       服务端是一个守护进程(sshd),他在后台运行并响应来自客户端的连接请求。 客户端包含 ssh 程序以及像 scp(远程拷贝)、 slogin(远程登陆)、 sftp(安全文件传输) 等其他的应用程序。

     2、SSH认证机制         

        从客户端来看, SSH 提供两种级别的安全验证。
        第一种级别(基于口令的安全验证)   只要你知道自己帐号和口令,就可以登录到远程主机。
        第二种级别(基于密钥的安全验证)
           需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的 服务器上。如果你要连接到 SSH 服务器上,客户端软件就会向服务器发出请求,请求用 你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的
公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就 用公用密匙加密“质询”( challenge)并把它发送给客户端软件。客户端软件收到“质 询”之后就可以用你的私人密匙解密再把它发送给服务器。
         
     3、配置SSH认证机制 

           第一种方法:

           假如A要登录B          

           在 A 上进行操作:
           (1)首先生成密钥对,使用命令: ssh-keygen 或者  ssh-keygen -t rsa
            上面一种是它的简写形式,提示要输入信息的时候不用输入任何东西,直接回车三 次就 OK 上述命令执行完成之后,会生成这么两个文件,其中 id_rsa.pub 是公钥
           (2) 将 A 自己的公钥放置到授权列表文件 authorized_keys 中   cat id_rsa.pub > authorized_keys 或者  cp id_rsa.pub authorized_keys
           (3) 将得到的 authorized_keys 发送给 B 机器对应的文件夹下
                   scp -r authorized_keys [email protected]:$PWD   或者  scp -r authorized_keys [email protected]:/root/.ssh/
           这是一个远程拷贝命令,意思是把 authorized_keys 拷贝到 192.168.123.202 这台机器 对应目录下
           (4)这样我们的机器 A 就能访问到机器 B 了。 验证方法使用命令: ssh 192.168.123.202
           重点理解之处: A 将公钥发给 B,不是 B 可以访问 A,而是 A 可以访问 B,所以任何一 台 机 器 想 要 能 访 问 其 他 机 器 , 那 么 就 把 自 己 的 公 钥 内 容 发 送 到 别 的 机 器 的 authorized_keys 中去,记住,是追加,不是覆盖

           第二种方法:          

             在 hadoop 登录状态下,输入命令 ssh-keygen 或者 ssh-keygen –t rsa  之后你会发现,在/home/hadoop/.ssh 目录下生成了公钥文件
             使用一个更简单的方式,使用命令:  ssh-copy-id hadoop02
             建立 hadoop01 到 hadoop02 的免密登录
六、crontab
      1、命令功能          

        通过 crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script 脚本。时 间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性 的日志分析或数据备份等工作。
      2、安装crontab

        yum install crontabs
        服务操作说明:
        service crond start ## 启动服务
        service crond stop ## 关闭服务
        service crond restart ## 重启服务
        service crond reload ## 重新载入配置
        ## 查看 crontab 服务状态:
        service crond status
        ## 手动启动 crontab 服务:
        service crond start
        ## 查看 crontab 服务是否已设置为开机启动,执行命令:
         chkconfig --list
         ## 加入开机自动启动:
          chkconfig --level 35 crond on

      3、命令格式       

         crontab [-u user] file
         crontab [-u user] [ -e | -l | -r ]
         参数说明:
          -u user:用来设定某个用户的 crontab 服务,例如,“ -u ixdba”表示设定 ixdba 用户 的 crontab 服务,此参数一般有 root 用户来运行。
          file: file 是命令文件的名字,表示将 file 做为 crontab 的任务列表文件并载入 crontab。
         -e:编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。
          -l:显示某个用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。
          -r:删除定时任务配置,从/var/spool/cron 目录中删除某个用户的 crontab 文件,如 果不指定用户,则默认删除当前用户的 crontab 文件。
           -i:在删除用户的 crontab 文件时给确认提示。
          命令示例:
                 crontab file [-u user] ## 用指定的文件替代目前的 crontab。
         必须掌握:
               crontab -l [-u user] ## 列出用户目前的 crontab.
               crontab -e [-u user] ## 编辑用户目前的 crontab.

        4、配置说明:           

         基本格式 :
              * * * * * command
              分 时 日 月 周 命令
              第 1 列表示分钟 1~59 每分钟用*或者 */1 表示
              第 2 列表示小时 0~23( 0 表示 0 点) 7-9 表示: 8 点到 10 点之间
              第 3 列表示日期 1~31
              第 4 列表示月份 1~12
              第 5 列标识号星期 0~6( 0 表示星期天)
              第 6 列要运行的命令

        5、配置示例           

           */1 * * * * date >> /root/date.txt            上面的例子表示每分钟执行一次 date 命令
          30 21 * * * /usr/local/etc/rc.d/httpd restart         上面的例子表示每晚的 21:30 重启 apache
          45 4 1,10,22 * * /usr/local/etc/rc.d/httpd restart        上面的例子表示每月 1、 10、 22 日的 4 : 45 重启 apache
          10 1 * * 6,0 /usr/local/etc/rc.d/httpd restart          上面的例子表示每周六、周日的 1 : 10 重启 apache
          0,30 18-23 * * * /usr/local/etc/rc.d/httpd restart        上面的例子表示在每天 18 : 00 至 23 : 00 之间每隔 30 分钟重启 apache
          0 23 * * 6 /usr/local/etc/rc.d/httpd restart              上面的例子表示每星期六的 11 : 00 pm 重启 apache
          * */1 * * * /usr/local/etc/rc.d/httpd restart              上面的例子每一小时重启 apache
          * 23-7/1 * * * /usr/local/etc/rc.d/httpd restart         上面的例子晚上 11 点到早上 7 点之间,每隔一小时重启 apache
          0 11 4 * mon-wed /usr/local/etc/rc.d/httpd restart        上面的例子每月的 4 号与每周一到周三的 11 点重启 apache
          0 4 1 jan * /usr/local/etc/rc.d/httpd restart          上面的例子一月一号的 4 点重启 apache

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Linux(五)shell编程基础详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。