手工SEO

手工SEO首页 DEDE教程 正文

Linux知识点小结

手工SEO 2020-03-04 22:00:42 DEDE教程 200℃ 手工SEO

这里讨论的是我对线上的Linux机器的需求,所以只讨论稳定发行版,且是比较保守的版本。比如CentOS 7的xfs不予讨论,并不是说xfs不好,而是以目前我的Linux水平需要更新很多xfs的知识,驾驭需要时间。CentOS 7将ifconfig,netstat等原来常用的命令也干掉了。下面我们以CentOS 6作为基础,谈一谈我对Linux的基本需求。

1.1 最小化安装

CentOS有一个minimal版本,相对于标准版去掉了很多Service,比如Network Manger,安装最小版本以后的网络配置是需要admin进行全手工配置文件配置的。我个人认为这样是比较好的,因为可以更好的理解Linux内核是如何看待这些配置文件的,那些是内核真正需要的,那些是修改以后可以直接改动到内核的性能。对于一些必要的监控工具,完全可以通过yum install来完成。标准版更加适合平时的练习,作为线上机器,还是最小化安装,做到能不开的服务就不开,能关掉的端口就关掉,这样既能将宝贵的硬件资源留下来给应用程序,也能够做到更加的安全,因为攻击的入口就是通过网络。

1.2 足够安全

除了将能关的端口关掉,能不用的服务关掉以外,安全还需要做到特定的服务只能访问特定的内容。哪怕是root账户,不能访问的文件和文件夹还是不能访问,更加不能操作。因为极有可能攻击者获取到root权限,这个时候就基本是无所欲为了。开启SELinux以后,能够做到在不修改SELinux的情况下,指定的服务只能访问指定的资源。

1.3 资源按需调度

我们经常会遇到这样一个问题,假设将磁盘sda挂载到/var目录,但是由于log太多或者上传的文件等等其他因素将硬盘吃光了,再创建一块sdb磁盘就无法挂载到/var目录了,其实Linux自带的lvm已经解决了这个问题,并且CentOS默认就是用lvm来管理磁盘的。我们需要学会如何格式化一块硬盘为lvm,然后挂载到对应目录,在空间被吃光前能够添加一块硬盘就自动扩容。

1.4 网络监控

说白了就是在Linux本地利用好iptables,来规划服务哪些网络流量,抛弃哪些网络流量。以及在进行组网的时候需要用router来进行网关的创建,在遇到网络问题的时候通过netstat来查看网络访问异常。网络这块内容很多很杂,各种参数,TCP/IP协议栈等等,但是往往问题还就是出在网络这块,所以要给与高度的关注。

2 Linux的理念与基础

对Linux敬仰如滔滔江水^_^,小谈几点我对Linux的认识。

2.1 Linux的文件系统

Linux将所有的事物都看成文件,这一点人尽皆知。我想说的是,除了传统的ext文件系统,Linux在抽象不同的资源的时候其实有各种不同的文件系统,都是从需求和使用出发,怎么方便怎么来,比如proc文件系统就是针对进程的抽象,使得修改对应进程的值就可以直接改变进程的行为。再比如,对于远程ssh登录的pts设备,Linux有对应的devpts文件系统。

Linux知识点小结

2.2 Linux的权限管理

Linux的-rwxrwxrwx权限管理也可谓人尽皆知,其实Linux自己也意识到了这样的权限管理所带来的一些局限性。首先rwx的权限管理是基于用户和组的,并且只是大致的分为owner|group|other这三类,无法再作更加细粒度的划分。有鉴于此,Linux目前默认是有ACL(Access Control List)管理的,所谓ACL就是能够提供更加细粒度的用户和组管理,比如可以明确哪个user可以有什么样的权限。如下示例

getfacl abc # file: abc # owner: someone # group: someone user::rw- user:johny:r-x group::r-- mask::r-x other::r--

而SELinux提供了不基于用户与组的权限管理,SELinux是基于应用程序的,什么样的应用程序可以使用什么资源,对于这些资源这个应用程序能干嘛,这个就是SELinux的管理方式。

2.3 Linux上的Service

Linux上的Service组织得非常清晰,当然也是传统所致。/etc/init.d/里面包含了所有的Service启动脚本,对应的二进制文件在/usr/bin 、 /usr/sbin 、 /usr/local/bin等目录下,一般而言配置文件在/etc/app_name下,还有一个chkconfig的工具来管理各个runlevel下需要启动的Service。这样的约定俗成使得管理员在配置和使用的时候非常方便。Linux标准的Service都会将log记录到/var/log/messages中,使得系统管理员不需要翻阅各种log,直接在/var/log/messages中就可以找到绝大部分的log来判断当前系统是否正常。更甚的,syslogd被rsyslogd替换以后,可以将/var/log/messages中的内容通过UDP发送到远端用专业的log分析工具进行分析。我们需要学习Linux上Service的这些优秀的编程习惯和技巧。

3 磁盘

根据$1中的需求,主要是创建Linux下的LVM,以及一些基本的磁盘操作。

df -lah 查看磁盘的使用情况

上一篇:不允许错过的Linux常用命令集合

下一篇:在Nginx服务器上屏蔽IP的一些基本配置方法分享

网站分类
标签列表