zoukankan      html  css  js  c++  java
  • ubuntu命令

    chmod 777、755 root权限

    rm 删除文件

    rm -rf 删除文件夹

    ctrl+o 保存

    ctrl+x 退出

    :wq 保存并退出

    查看一台服务器上面哪些服务及端口

    netstat  -lanp

    查看一个服务有几个端口。比如要查看mysqld

    ps -ef |grep mysqld

    查看某一端口的连接数量,比如443端口

    netstat -pnt |grep :443 |wc

    查看某一端口的连接客户端IP 比如443端口

    netstat -anp |grep 443

    下载WordPress安装包并解压

    • wget http://wordpress.org/latest.tar.gz
    • 接着使用一下命令解压缩: 
      tar -xzvf latest.tar.gz

    安装ufw
    sudo apt-get install ufw
     
    启用ufw
    sudo ufw enable
     
    阻止所有外部对本机的访问
    sudo ufw default deny
     
    允许所有的外部IP访问本机的22/tcp (ssh)端口
    sudo ufw allow 22/tcp
     
    允许此IP访问所有的本机端口
    sudo ufw allow from 10.0.0.163
     
    sudo ufw allow from 10.0.0.162
     
    sudo ufw allow from 10.0.0.161
     
    查看防火墙状态
    sudo ufw status
     
    删除上面建立的某条规则
    sudo ufw delete allow smtp 
     
    防火墙规则文件路径
    /lib/ufw/user.rules
     
    关闭防火墙 
    sudo ufw disable

    通过登入IP记录Linux所有用户登录所操作的日志

    对于Linux用户操作记录一般通过命令history来查看历史记录,但是如果在由于误操作而删除了重要的数据的情况下,history命令就不会有什么作用了。那么依然要存有历史操作记录应该如何来实现呢?其实我们可以通过登陆IP地址来记录所有用户登录所操作的历史操作!具体操作就是在/etc/profile配置文件的末尾加入以下脚本代码来实现:

    # History

    USER=`whoami`

    USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`

    if [ "$USER_IP" = "" ]; then

    USER_IP=`hostname`

    fi

    if [ ! -d /usr/local/history ]; then

    mkdir /usr/local/history

    chmod 777 /usr/local/history

    fi

    if [ ! -d /usr/local/history/${LOGNAME} ]; then

    mkdir /usr/local/history/${LOGNAME}

    chmod 300 /usr/local/history/${LOGNAME}

    fi

    export HISTSIZE=10000

    DT=`date +"%Y-%m-%d_%H:%M:%S"`

    export HISTFILE="/usr/local/history/${LOGNAME}/${USER}@${USER_IP}_history.$DT"

    chmod 600 /usr/local/history/${LOGNAME}/*history* 2>/dev/null

    [root@server ~]# source /etc/profile

    [root@server ~]# logout

    # 此时需要退出系统再重新登录,在/usr/local/history/目录下才有记录

    [root@server ~]# ll /usr/local/history/root/

    总用量 12

    -rw------- 1 root root  77 10月 11 09:09 root@192.168.1.23_history.2012-10-11_09:09:12

    -rw------- 1 root root 529 10月 11 09:11 root@192.168.1.23_history.2012-10-11_09:09:16

    -rw------- 1 root root 187 10月 11 09:12 root@192.168.1.23_history.2012-10-11_09:11:26

    终于到了在这里简洁的介绍一下ufw到底如何去用的时候了。本文只讲顺序问题不讲语法问题,语法问题可以自己查询man page或者其他网站的精彩文章。这里只说一些别的文章上不说的地方,从实际生产环境和多次测试得来经验。

    那iptables通过-A和-I区分插入还是添加,ufw也是有的,而且ufw的本质还是跟iptables风格一样的配置文件(这个文件是/lib/ufw/user.rules,这个文件就像CentOS下的/etc/sysconfig/iptables文件一样,记录着用户自定义的规则),具体什么内容什么语法自己可以去查看。

    此处以ssh默认端口22为例,列举一下允许所有主机访问本机22端口但禁止某一台主机(10.20.0.1)访问22端口的例子。

    如果是初次配置ufw防火墙,那么可以这么做:

    sudo ufw reset#重置防火墙    
    sudo ufw enable#启用防火墙     
    sudo ufw default reject#配置默认规则,拒绝     
    sudo ufw deny from 10.20.0.1#拒绝某IP访问,或执行sudo ufw deny from 10.20.0.1 to 10.20.0.130 port 22     
    sudo ufw allow 22/tcp#允许所有主机访问22端口     
    sudo ufw status#查看ufw状态

    如果ufw已经被配置过,规则已经有了,那就这么做:

    sudo ufw status numbered#按照数字书序查看ufw状态,注意带v6的不用管    
    sudo ufw insert 1 deny from 10.20.0.1#或者sudo ufw insert 1 deny from 10.20.0.1 to 10.20.0.130 port 22

    sudo ufw allow 22/tcp    
    sudo ufw status

    经过上述配置以后,如/lib/ufw/user.rules文件会像下面显示:

    ### tuple ### deny any 22 10.20.0.130 any 10.20.0.1 in    
    -A ufw-user-input -p tcp -d 10.20.0.130 --dport 22 -s 10.20.0.1 -j DROP     
    -A ufw-user-input -p udp -d 10.20.0.130 --dport 22 -s 10.20.0.1 -j DROP

    ### tuple ### allow tcp 22 0.0.0.0/0 any 0.0.0.0/0 in    
    -A ufw-user-input -p tcp --dport 22 -j ACCEPT

    上面的###开始的注释能使ufw正确识别通过ufw命令添加的规则,自己可以手动用iptables命令去改写。因此通过命令也是可以添加这样的规则的。

    例如:

    iptables -I ufw-user-input -p tcp -d 10.20.0.130 --dport 22 -s 10.20.0.1 -j DROP      
    iptables -I ufw-user-input -p udp -d 10.20.0.130 --dport 22 -s 10.20.0.1 -j DROP

    iptables -I ufw-user-input -p tcp --dport 22 -j ACCEPT

    为何能手动改写?原因可以通过先启用ufw后再用iptables-save命令查看:

    -A ufw-user-input -s 10.20.0.1/32 -d 10.20.0.130/32 -p tcp -m tcp --dport 22 -j DROP    
    -A ufw-user-input -s 10.20.0.1/32 -d 10.20.0.130/32 -p udp -m udp --dport 22 -j DROP     
    -A ufw-user-input -p tcp -m tcp --dport 22 -j ACCEPT     
    -A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] "     
    -A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable     
    -A ufw-user-limit-accept -j ACCEPT

    通过这一段信息可以发现,其实这跟/etc/sysconfig/iptables文件真的一样。

    简单一句话,就是先deny,后allow,deny规则插入到allow规则前面,这样才能起到禁止的作用。

  • 相关阅读:
    git中Please enter a commit message to explain why this merge is necessary.
    用$(this)选择其下带有class的子元素
    将某页面中ajax中获取到的信息放置到sessionStorage中保存,并在其他页面调用这些数据。
    返回顶部黑科技
    对于div里面内容过大根据长度或者宽度进行适配,然后可以滚轮缩放的功能
    vue runtime报错问题
    webpack简单配置
    input type=color 设置颜色
    vue统一注册组件
    vue模板字符串写法
  • 原文地址:https://www.cnblogs.com/isule/p/4702806.html
Copyright © 2011-2022 走看看