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规则前面,这样才能起到禁止的作用。
ubuntu命令的更多相关文章
- ubuntu命令大全
一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回 ...
- ubuntu命令行下java工程编辑与算法(第四版)环境配置
ubuntu命令行下java工程编辑与算法(第四版)环境配置 java 命令行 javac java 在学习算法(第四版)中的实例时,因需要安装配套的java编译环境,可是在编译java文件的时候总是 ...
- Ubuntu命令整理
linux下find命令的使用和总结 - CS408 - 博客园 ubuntu 命令简写和全称 su:Swith user 切换用户,切换到root用户 cat: Concatenate 串联 u ...
- Ubuntu命令基础
Ubuntu命令基础 1.打开终端窗口快捷键. Ctrl+alt+t 2.更新设置root密码. $sudo passwd root 3.切换到root用户用su,前提是自己设置了root密码(看 ...
- ubuntu命令错误集
1.在ubuntu命令行使用rz从windows传输文件时出现乱码 解决方法:使用 rz -e 选项进行传输,一般小文件传输不用加 -e 选项,大文件传输需要.
- 改变Ubuntu命令行 用户名显示前缀
改变Ubuntu命令行 用户名显示前缀 1.修改命令 [root@daokr ubuntu]#vim ~/.bashrc 修改第 56行 注释掉原来 # PS1='${debian_chroot:+( ...
- Ubuntu命令行操作
一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回 ...
- Ubuntu命令集(持续更新)
Ubuntu命令集,生活工作汇总,没有顺序.(持续更新...) 1 pwd:没有参数,在终端现实我们当前所处的文件夹位置:ctrl+l:清除当前终端屏: 2 --------------------- ...
- ubuntu命令行打开html文件的方法
1.Ctrl+Alt+T可以打开shell,F11可以全屏显示,输入以下命令即可打开js17.html,并且指定浏览器,比如指定chrome, 复制代码 代码如下: google-chrome js1 ...
- ubuntu命令行相关命令使用心得
一.Ubuntu解压缩zip,tar,tar.gz,tar.bz2 ZIP zip可能是目前使用得最多的文档压缩格式.它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac ...
随机推荐
- jQuery学习笔记(一)jQuery选择器
目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...
- [bzoj 3732] Network (Kruskal重构树)
kruskal重构树 Description 给你N个点的无向图 (1 <= N <= 15,000),记为:1-N. 图中有M条边 (1 <= M <= 30,000) ,第 ...
- Less环境搭建
1.在页面中加入 .less 样式表的链接,并将 rel 属性设置为 "stylesheet/less": <link rel="stylesheet/less&q ...
- Unicode 互转
// 转为unicode 编码 function encodeUnicode(str) { var res = []; ; i<str.length; i++ ) { res[i] = ( ) ...
- Javascript中的队列
队列遵循FIFO (First In First Out)原则. 普通队列 function Queue() { var items=[]; //向队列尾部添加一个或者多个元素 this.enqueu ...
- Centos中tomcat7指定jdk
服务器上默认的jdk是1.8的,但是我想我的tomcat指定一个自定义的jdk怎么办呢,莫急,待老夫慢慢道来. 1.需要有一个除默认外的jdk的安装包(不用配置任何环境变量),如下图: 2.进入tom ...
- 【转】linux中do{...} while(0)的解释
在看ldlm的代码过程中遇到了一个很奇怪的问题,有很多宏定义使用了do while(0)这种看起来好像没啥用的代码.然后我就问问师兄,才得知,这种用法很常见,自己又查了一下资料,原来在linux内核代 ...
- java第一天
今天完成的事情: [主线] 1.什么是接口??? 接口(interface)是类与类之间的一种约定,一般而言,实现某个接口,意味着该类必须实现接口中的所有方法. 2.接口的特性. ...
- 老王讲自制RPC框架.(二.动态代理)
(#简介) 什么是动态代理?动态代理是实现阶段不关心代理是谁,而在运行阶段才指定代理对象是哪一个,动态代理在做框架方面使用非常 广泛,比如spring的aop,其核心就是采用动态代理机制,下面让我们来 ...
- restassured - JsonPath
https://github.com/rest-assured/rest-assured/blob/master/json-path/src/test/java/io/restassured/path ...