Linux教程

linux系统安全-1

本文主要是介绍linux系统安全-1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、linux简介

1.1 linux发展历程

linux系统诞生于1991年,由芬兰大学生林纳斯·托瓦兹和后来陆续加入的众多爱好者共同开发完成。

linux常见的发行版有redhat、Suse、debian等。

  • 1992年,Patrick Volkerding创建了Slackware
  • 1993年,Lan Murdock创建了Debian
  • 1995年1月,Bob Young创办了RedHat(小红帽)
  • 1996年,SUSE推出了一个完全自家打造的发行版-S.u.S.E.Linux 4.2
  • 2004年10月20日,Mark Shuttleworth创办了Ubuntu

 linux是开源软件,是源代码开放的UNIX分支。具备现代一切功能完整的UNIX系统所具备的全部特征。

linux的发行遵守GUN的通用公共许可证。

linux可以安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频控制台、大型计算机等。

严格来讲,linux本身只表示linux内核,但实际上人们已经习惯了用linux来形容整个基于linux内容的操作系统。

1.2 关于内核版本

linux的内核版本主要由3块组成:主版本号.次版本号.修订次数

通常我们常见的版本号是2.6.18,目前最新的版本号是5.7.2

 对于版本号我们需要重点关注次版本号,次版本号如果是偶数表示稳定版,奇数表示开发版。开发版通常有较多bug,不建议用于生产环境。

官网:www.kernel.org

2、文件系统

2.1 文件/目录

在linux系统中,有一个非常重要的概念,那就是,一切皆是文件。linux系统把一切都看做是文件,包括硬件设备。linux系统把每个硬件都看成是一个文件,通常称为设备文件。这样用户就可以通过读写文件的方式来实现对硬件设备的访问。linux系统在启动时,第一个挂载的是根文件系统,就是下图中的根\。下图中显示的就是常见的从根开始的文件目录结构。

二级目录

  • /bin 放置的是在单人维护模式下还能够被操作的指令。在\bin底下 的指令可以被root与一般账号所使用。
  • /boot 这个目录主要放置开机会使用到的文件,包括Linux核心文件以及开机选单与开机所需配置文件等。
  • /dev 在Linux系统上,任何装置与接口设备都是以文件的形态存在于这个目录当中的。
  • /etc 系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件、各种服务的启始档等。
  • /home 这是系统默认的用户家目录(home directory)。
  • /lib 放置的是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库。
  • /media 放置的是可移除的装置,包括软盘、光盘、DVD等等装置都暂时挂载于此。
  • /opt 给第三方协力软件放置的目录。
  • /root 系统管理员(root)的家目录。
  • /sbin 此目录下的为开机过程中所需要的,包括了开机、修复、还原系统所需要的指令。
  • /srv srv可以视为service的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录。
  • /tmp 这是让一般使用者或者是正在执行的程序暂时放置文件的地方。

三级目录

  • /user/lib 包含各种应用软件的函式库、目标文件(Object file),以及不被一般使用者惯用的执行档或脚本(script)。
  • /usr/local 系统管理员在本机自行安装自己下载的算计(非distribution默认提供者),建议安装到此目录,这样比较便于管理。
  • /var/lib 程序本身执行的过程中,需要使用到的数据文件放置的目录。
  • /var/log(重要) 登录文件放置的目录,里面比较重要的文件如/var/log/messages,/var/log/wtmp(记录登入者的信息)等。
  • /etc/init.d/ 所有服务的预设启动script都是放在这里的。
  • 账号相关的重要配置文件
  • 下面我们对系统内与账号相关的重要配置文件做进一步讲解。

2.2  /etc/password

 

2.3  账号

系统的默认账号及其uid值如下图所示。

lp取0-499之间。

2.4  /etc/shadow

Shadow文件中MD5 HASH等算法

密码示例:root:$1$Bg1H/4mz$X89TqH7tpi9dX1B9j5YsF.:14838:0:99999:7:::

示例的密码域$1$Bg1H/4mz$X89TqH7tpi9dX1B9j5YsF.其实是由三部分组成:$id$salt$encrypted

其中id值是指的加密算法,salt是指的随机数,encrypted是指的加密密文

  • id值:id为1时,采用md5进行加密;id为5时,采用SHA256进行加密;id为6时,采用SHA512进行加密。
  • salt值:是某个固定长度的随机字符串,也就是每次修改passwd之后,都是随机生成该字符串。
  • 密文的得来是通过char *crypt(const char *key,const char *salt);来计算出来的。

3、基本操作

文件与目录管理

在linux系统中,定位一个文件或目录时有两种方式:绝对路径和相对路径。

  • 绝对路径的写法一定由根目录/写起。
  • 相对路径的写法不是由/写起。相对路径意指相对于目前工作目录的路径!

目录的基本操作

  • cd 变换目录
  • pwd 显示目前的目录
  • mkdir 创建一个新的目录
  • rmdir 删除一个空的目录
  • ls 文件与目录的检视

用户、组与权限管理

  • 用户    UID    /etc/password    /etc/shadow
  • 组    GID    /etc/group    /etc/gshadow
  • 从命令行中查看权限 ls -l
  • 创建用户 useradd
  • 创建组 groupadd
  • 更改文件所有权 chown
  • 更改组所有权 chgrp
  • 设置权限 chmod
  • 权限赋予 sudo

用户管理

  • 添加用户 useradd
  • 删除用户 userdel -r
  • 锁定用户 passwd -l
  • 用户属性 usermod
  • 当前用户 id

当前登录用户

执行w命令可以确定当前哪些用户已登录系统

输出信息中各列含义:

  • USER字段显示当前登录系统的用户名
  • TTY字段显示分配给用户会话的终端。ttyX表示在控制台登录,pts/X和ttypX表示网络连接
  • FROM字段显示远程登录主机的IP地址
  • LOGIN@字段显示登录用户的本地起始时间
  • IDLE字段显示最近一个进程运行开始算起的时间长度
  • JCPU字段显示在该控制台或网络连接的全部进程所用的时间
  • PCPU字段显示WHAT栏中当前进程所使用的处理器时间
  • WHAT字段显示用户正在运行的进程

 端口开放情况

  • netstat -pan命令查看当前开放的端口
  • lsof -i 显示进程和端口对应关系

进程信息

  • 使用命令ps -aux查看进程

服务信息

  • 用chkconfig --list查看服务启动信息
  • 各服务的启动脚本存放在/etc/init.d/和/etc/xinetd.d目录
这篇关于linux系统安全-1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!