zoukankan      html  css  js  c++  java
  • 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 放置的是在单人维护模式下还能够被操作的指令。在in底下 的指令可以被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目录
  • 相关阅读:
    js 自动下载函数
    集群中用Memcached来实现session共享
    PDO防注入原理分析以及使用PDO的注意事项
    侧边栏
    helloworld
    angularjs 获取地址传参
    ionic 上拉加载更多&瀑布流加载&滚动到底部加载更多 主意事项
    亿级Web系统搭建——单机到分布式集群
    php 模拟表单提交
    R语言curve绘图函数
  • 原文地址:https://www.cnblogs.com/zhengna/p/13152515.html
Copyright © 2011-2022 走看看