Linux知识点小结

2019-10-13 23:21:09刘景俊

4.1 配置文件

/etc/hosts私有IP对应主机名
/etc/resolv.confnameserver DNS的IP
/etc/sysconfig/network其中NETWORKING=要不要有网络,HOSTNAME=主机名,NETWORKING_IPV6=支持ipv6否
/etc/sysconfig/network-scripts/ifcfg-xxx其中DEVICE=网卡代号,BOOTPROTO=是否使用dhcp,HWADDR,IPADDR,NETMASK,ONBOOT,GATEWAY
4.2 网络设计到的一些命令

router -n查看路由的命令,特别是要看带G的,表示gateway,而带U的表示up。
netstat -anp查看所有启动的tcp,udp,unix stream的应用程序,以及他们的状态,具体可以参考TCP/IP,JavaSocket简单分析一文。
5 安全

5.1 PAM

PAM总体来讲只需要简单了解就行,是一个可插拔的认证模块。按照我的说法,是开发Linux的极客们搞出来的可复用的一个组件。举个例子,现在有一个app,想要验证当前的登录用户是否有权限操作某个目录,那么在PAM里面有现成的模块,app只需要include这个模块,给出一个配置文件,就可以了。有一个非常好的关于PAM的视频教程,请看这里

PAM是应用程序用来进行身份验证的。早期的身份验证和应用程序本身耦合,后来把身份验证单独抽出来,通过PAM来进行管理 /etc/pam.d/xxx 是能用pam来进行管理的应用程序PAM设置,在安装应用程序的时候安装。/etc/security/mmm, /lib/security/pam_mmm是一套。 总体来说PAM是利用Linux系统本身提供的机制,来进行验证

5.2 SELinux

关于SELinux也有一个非常好的视频教程,请看这里

getenforce来查看SELinux是否被启用 /etc/sysconfig/selinux enforcing启用SELinux SELinux对“运行程序”配置和检查其是否有权限操作“对象”(文件系统),而普通的ACL(rwx)就是根据文件所属owner及其组来判断。SELinux是看bin的type和目录文件的type是否兼容,来决定bin是否能操作资源

5.3 防火墙

对于iptables也是一知半解,所以下面只是学习时候的一些摘录。特别一点,要开启内核参数net.ipv4.ip_forward=1,在/etc/sysctl.conf文件中,用sysctl -p来保存。所谓ip_forward指的是内核提供的从一个iface到另外一个iface的IP包转发,比如将IP包从192.168.1.10的eth0转发到10.0.0.123的eth1上。专业的防火墙配置是需要专业技能的。

tcp_wrapper需要libwrap.so的支持,所有凡是ldd出来没有的bin,都不能用tcp_wrapper
iptables是按照规则进行短路判断的,即 满足条件1->执行action1->结束
iptables-save来更加清晰的查看
先删掉全部规则,然后添加,比较简单。添加的时候,先添加策略,再添加细部规则。一般来讲,我们需要关注的是filter这个表的INPUT与OUTPUT
iptables -A(I) INPUT(OUTPUT,FORWARD) -i(o) iface -p tcp(ump,imp,all) -s (!)source -d dest -j ACCEPT(REJECT,DROP), 还支持的参数 —dport —sport
6 工具