linux基础

1.环境变量:区别,系统级与用户级。登录仅执行一次和shell创建都执行一镒。
a)/etc/.bashrc:系统级。为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
b)/etc/.bash_profile:系统级。此文件为系统的每个用户设置环境信息,当用户第一次登录时执行。(系统不同,文件名可能不同:便都包含有profile)
c)~/.bashrc:用户级。当前用户登录时以及每次打开新的shell时,该该文件被读取.(多个用户多个)
d)~/.bashrc:用户级。当前用户可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!
修改文件后,马上生效:source 文件名。111

git撤消操作–更正,错误

文件状态:在working area,stage,local repos,remote repos
1.处于工作区域状态,还未add:git checkout <file> #用.号代替file,表示所有文件
2.处于暂存区状态,刚刚add了:git reset HEAD <file> #不填写file,表示所有文件
3.处于本地仓库状态,add并commit了:git reset HEAD <commit_id>#使用git log查commit_id
4.已经在远程仓库,已push了:git reset --hard <commit_id> #使用git log查commit_id


****上面的不太合理 ,请看git基础****

linux登录安全

查看登录成功的用户日志:last -n 10 #日志源是/var/log/wtmp
查看登录失败的用户日志:lastb -n 10 #日志源是/var/log/btmp

1.安装一个跳板机–有固定IP
2.设置目标机器登录必须为固定IP才能登录
3.禁用root使用ssh登录,创建非另一个用户登录
4.使用新创建的用户登录,如果需要root,使用su -转到root登录

dpkg、rpm 和 apt-get、yum 的区别及使用

一般来说著名的 Linux 系统基本上分两大类:

RedHat 系列:Redhat、Centos、Fedora 等
Debian 系列:Debian、Ubuntu 等
Dpkg (Debian系):Ubuntu
RPM (Red Hat系):CentOS、Fedora

RedHat 系列

常见的安装包格式 rpm 包,安装rpm包的命令是“rpm -参数”
包管理工具 yum
支持 tar 包
Debian系列

常见的安装包格式 deb 包,安装 deb 包的命令是“dpkg -参数”
包管理工具 apt-get
支持 tar 包
tar 只是一种压缩文件格式,所以,它只是把文件压缩打包而已。

rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。优缺点来说,rpm一般都是预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。

列出系统中已安装的所有套件:

dkpg -l
1
rpm -qa
1
yum list installed

#####安装
rpm -Uivh xxx.rpm
dpkg -i xxx.deb

centos7的firewalld

在7版本中,用自带的firewalld代替了iptables.
1.firewalld基本使用:systemctl控制firewalld
systemctl status firewalld.service #查看状态
systemctl start firewalld.service #启动
systemctl stop firewalld.service #关闭
systemctl disable firewalld.service #禁止开机启动

2.控制端口:firewall-cmd工具设置firewalld
firewall-cmd –add-port=80/tcp –zone=public –permanent #增加端口
firewall-cmd –reload #重新加载配置
firewall-cmd –remove-port=80/tcp –zone=public –permanent #删除端口
firewall-cmd –list-all #查看所有配置

3.禁止IP
firewall-cmd –add-rich-rule=’rule family=”ipv4″ source address=”1.2.3.4″ reject’ –permanent –zone=public #此处用reject而不用drop,自行百度firewall中的reject与drop的区别
删除禁止IP规则:firewall-cmd –remove-rich-rule=’rule family=”ipv4″ source address=”1.2.3.4″ reject’ –permanent –zone=public

4.使用ipset禁用IP https://www.itlnmp.com/401.html
倒入 ipset 规则
firewall-cmd –permanent –zone=public –new-ipset-from-file=/path/blacklist.xml
#此命令会把blacklist.xml文件复制到/etc/firewall/ipsets/目录下,以后运行将用此目录文件为准!,blacklist.xml文件格式见文末
然后封禁 blacklist
firewall-cmd –permanent –zone=public –add-rich-rule=’rule source ipset=blacklist reject’
删除规则:firewall-cmd –permanent –zone=public –remove-rich-rule=’rule source ipset=blacklist reject’


#####附:
由firewalld 提供的zone按照从不信任到信任的顺序排序。
丢弃 drop
任何流入网络的包都被丢弃,不作出任何响应。只允许流出的网络连接。
阻塞 block
任何进入的网络连接都被拒绝,并返回 IPv4 的 icmp-host-prohibited 报文或者 IPv6 的 icmp6-adm-prohibited 报文。只允许由该系统初始化的网络连接。
公开 public
用以可以公开的部分。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。
外部 external
用在路由器等启用伪装的外部网络。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。
隔离区dmz
用以允许隔离区(dmz)中的电脑有限地被外界网络访问。只接受被选中的连接。
工作 work
用在工作网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
家庭 home
用在家庭网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
内部 internal
用在内部网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
受信任的 trusted
允许所有网络连接。

#####说明
–permanent 表示永久的配置,不加的话,重新启动后失效
firewall-cmd 设置的信息在/etc/firewald/zones下

######参考
http://blog.csdn.net/xlgen157387/article/details/52672988

RHEL7、CentOS7 下使用 Firewall 封IP

######附:
reject相当于接了骗子电话,回复拒绝
drop相当于骗子电话都不接,直接拒接

blacklist.xml文件格式:
http://www.firewalld.org/documentation/man-pages/firewall-offline-cmd.html

<?xml version="1.0" encoding="utf-8"?>
  <ipset type="hash:net">
  <short>blacklist</short>
  <entry>1.2.3.4</entry>
  <entry>1.2.3.5</entry>
  <entry>1.2.3.6</entry>
</ipset>

selinux与iptables的区别

iptables用于设置防火墙(firewall), 即管理内外通信。
iptables 能做到“控制内部机器上网与不上网,访问哪些网站的控制”

但日志只能记录关于访问ip数据的相关信息

SELinux主要用于对文件(file), 文件夹 (directory), 过程(process)的限制。