linux简单知识自我总结



网卡配置:
    TYPE=Ethernet(最常用的)
    BOOTPROTO=none/dhcp(获取方式)
    IPADDR0=
    PREFIX0=
    GATEWAY0=
    DEFROUTE=yes
    ONBOOT=
     若是dhcp就不需要写ipadd和prefix
第一天:
   selinux-------
      sestatus:查看状态
      setenforce:设置selinux在强制和警告间切换
      更改安全值:chcon -t 安全值 文件名
      恢复安全值:restorecon -v 文件名
      查看进程的安全值:ps -Z
      安全值的主配置文件:                    /etc/selinux/config

   也可以利用图形化界面实现,但前提是要有图形化功能(安装policycoreutils-gui工具),之后在控制台或者终端输入system-config-selinux即可进入配置
    
    bool值:
       查看:getsebool -a |grep XX
       设置:setsebool (-P)           xxxx_SS_wd on
       同时设置多个:setsebool -P xxxx_SS_wd=on xxxx_Sd_wd=on
      
   在linux中除了防火墙之后还有tcp_wrappers用来安全防护:
       对服务的本身进行控制
    其主要有两个配置文件:
       /etc/hosts.allow
       /etc/hosts.deny
   语法规则:服务: 控制对象  宏
     如:  sshd: 172.16.40.0/24 EXCEPT 172.16.40.3

     注意: 匹配时先匹配allow中的,再匹配deny中的,之后前者未匹配才匹配后者;
           控制对象可以是ip也可以是网段,掩码可以用简写(/24)也可以用32位形式写
           宏原则上在allow和deny中都可以定义,但在allow中意义不大,因为就算在allow中定义了,还是要去deny中匹配
     几大宏:
        LOCAL     主机中不含.的主机(通常是指自己)
        KNOWN     所有在DNS中可以解析到的主机
        UNKNOWN   所有在DNS不可以解析到的主机
        PARANOID  所有在DNS中正向解析与反向解析不匹配的主机
        ALL       代表匹配所有(这个主机和服务都可以定义)
       还有一个非常有用的定义方式:
          EXCEPT

    openssh:
       服务:openssl
     可以实现安全远端文件copy:
    scp /root/aaa root@x.x.x.x/root/bbb

    还可以在两主机之间建立信任的通信(无需密码验证登录)
      方法:
          创建证书:ssh-keygen -t rsa(选择加密算法)
          完成后将公钥发送给对方:
                    scp /root/.ssh/id_rsa.pub root@x.x.x.x:/root/.ssh/authorized_keys(默认位置)
         之后就可以登录对方:ssh
    同时对方也可以建立:形成双方信任
         

      关于ssh服务器的几点features:
        首先需要openssh-server服务(默认安装)
          A.设置登录端口
            ssh的默认端口是22,但可以在主配置文件中进行修改:
               /etc/ssh/sshd_config
              将端口的注释去掉,再修改一个端口即可
            重启服务:systemctl restart
sshd.service
           B.设置root不能ssh登录:
              在主配置文件中设置                 PermitRootLogin no即可
           C.设置allow的用户:
               在主配置文件的最后加上:
             AllowUsers user XX DD
        以上特性都需要重启服务后实现

      基于证书的ssh登录:
         创建证书并设定大小:
             ssh-keygen -t rsa -b 4096
             修改公钥文件名,因为缺省是authorized_keys ,改为id_rsa.pub
             之后将私钥和公钥导出,在X-shell中设置,登录

     关于命令的缓存(history):
          A.设置history缓存大小;
                在、/root/.bash_profile
                中加上HISTSIZE=X
          B.设置执行时间:
              在/etc/bashrc中添加
               ISTFILESIZE=SS
               HISTSIZE=DD
               HISTTIMEFORMAT="%Y%m%d--%H%M%S"
               export HISTTIMEFORMT
        之后重新登录查看

第二天
   1.DHCP环境搭建:
      安装DHCP服务
      编辑配置文件
       /etc/dhcp/dhcpd.conf
    设置全局参数和局部参数;全局的对于所有的局部都实用
    必须要的两个全局参数:
      ddns-update-style(none|interim|ad-hoc)设置DNS动态更新类型
        none:不更新
        interim:互动更新
        ad-hoc:特殊dns更新
     ignore client-updates:忽略客户端更新

   局部模版:
    subnet 172.16.40.0 mask 255.255.255.0 {
      range 172.16.40.100 172.16.40.150;
      option routers 172.16.40.254;
      option subnet-mask 255.255.255.0;
      option ntp-servers 172.16.40.252;
      option domain-name-servers 172.16.40.253;
      default-lease-time 21600;
      max-lease-time 43200;
      filename "aaa"
      next-server 172.16.40.240

  最后两行是用于网络引导安装,确定网络引导文件和由谁来引导(引导服务器)

   除了批量dhcp,还可以根据mac下放:
     host fantasia {
        hardware ethernet xx:xx:xx:xx:xx:xx;
        fixed-address X.X.X.X;
        option routers X.X.X.X;
         option-name-servers X.X.X.X;
}
      多作用于就是用一个全局,多个局部,下放不同网段的地址,写多个
      subnet x.x.x.x mask x.x.x.x {}

linux下系统常见问题及其修复:
     1.Linux的启动过程简概
        硬盘读取引导扇区(这部分出问题,可以将硬盘数据备份后,重新格式化硬盘)
        加载LIL0或者Grub(7.0中是grub2)(这部分出错,7.0就可以利用重新安装grub2,重新生成grub.cfg文件解决,6.0可以重装grub并将提前备份的grub.conf文件重写)
        加载内核(kernel,以只读形式挂载)(出问题后,重装kernel并需重装grub,以及相关文件)
        挂载根文件系统
        启动init,所有进程的父进程
        读取/etc/inittab,定义启动级别
        启动服务
        读取开机启动脚本/etc/rc.local中的文件(自己编写的脚本所在目录)


    A.grub出错
      7.0:
          从光盘启动系统,进入troubleshooting下的救援系统
          切换系统到硬盘系统(chroot /mnt/sysimage)
          之后会发现boot下少了grub2目录,重装grub2(grub2-install /dev/sda(重装的位置必须是第一个分区))
          grub2重装完成后,在grub2还没有grub.cfg文件,还需要重新生成:
           grub2-mkconfig -o /boot/grub2/grub.cfg
           之后会发现grub2下有了grub.cfg,之后exit,重启,将启动位置改为hardware即可
    
   

       6.0:
          需要事先有备份的kernel:
               root (hd0,0)
        kernel /vmlinuz-2.6.32-131.0.15.el6.x86_64 ro root=UUID=54ba193f-e355-469e-934c-6688f5c0bb7a rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
        initrd /initramfs-2.6.32-131.0.15.el6.x86_64.img
        之后重启修改引导位置即可
   
     注意:在进行修改的时候,必须先将系统切换到硬盘系统(chroot),而且在输入上面信息的时候不能错一个字符

   B.kernel出错:
          从光盘启动系统,进入troubleshooting下的救援系统
          切换系统到硬盘系统(chroot /mnt/sysimage)
          由于是从光盘启动,现在要将kernel修复以便可以正常从硬盘启动,所以需要在硬盘中安装kernel,但需要挂载光盘到硬盘,因此需要在硬盘中新建一个目录来存放rpm包(目录名随意,以/cdroom为例)
           mkdir /cdroom
           之后挂载光盘到/cdroom
           mount /dev/sr0 /cdroom
           之后cd 到/cdroom/Packages下安装kernel
           安装完成后还需要安装grub2(grub2-install /dev/sda)以及重新生成grub.cfg(grub2-mkconfig -o /boot/grub2/grub.cfg)
           完成后推出重启,改变引导位置即可

        6.0和7.0差不多,只是也需要将grub.conf的信息手动输入到grub



 at:计划任务
      可以用来在多长时间后实现某种功能,是一次性的 at now +X时间
         atq可以查看
         atrm可以删除,后加序号
     可以通过/etc/at.deny来限制谁可以使用计划任务
    默认没有at.allow文件,但可以手动添加,当deny和allow同时存在时,先执行allow的
      write可以用来发私信,write 用户名

  crontab:周期性的计划任务
     crontab -e:编辑计划任务
       分 时 日 月 周 指令 内容
     crontab -l:查看
    crontab -r:删除,全部删除
   任务存放位置:/var/spool下(at、cron)
   配置文件:/etc/crontab
   也可以设置cron.deny和allow
  同时还支持在开机后多长时间执行某个指令:
    /etc/cron.weekly(monthly、daily、hourly)

   计划任务总的就是可以在某个特定时间执行某个任务的一种功能



 磁盘配额:
      若想使用整个磁盘来做磁盘配额,则直接格式化磁盘,若只想用一个分区做,则需要先划分区:
      划分区:
           fdisk -l:查看分区列表(82表示swap,83表示ext2,3,4或者xfs文件系统,5表示扩展
分区,b表示fat32文件系统)
           fdisk /dev/sda
             n(创建新分区)
              e(创建扩展分区)
         完成后保存退出,partx -a /dev/sda(让刺痛识别分区)
       分区划好后就是格式化分区:
         mkfs.ext4(6.0) /dev/sdaX(逻辑分区号),mkfs.xfs(7.0)
        格式化完成后创建目录,用于实现磁盘配额(如:/cipan)
      之后:
         6.0:mount  /dev/sdaX  /cipan
                mount -o remount,rw,usrquota,grpquota
              为了验证可以使用mount查看
             挂载成功后刷新数据库:
               quotacheck -cumg /dev/sdaX(但在刷新前需要将selinux设置好,一般设置为警告)
              刷新后激活磁盘配额:
                  quotaon /dev/sdaX
               完成后创建一个或多个新用户用于验证
               用户创建完成修改/cipan的权限,方便 切换用户后可以使用该目录,并且利用edquota 用户名:编辑磁盘配额限制(前面的soft和hard是表示文件大小的限制,单位是K,inodes后面的soft和hard表示文件数量的限制)
 
       之后切换用户验证:
          su - XX
         dd if=/dev/zero of=/cipan/XX bs=YY count=NN
        if后面表示从哪而获取空间,/dev/zero表示无线零资源
       of后面表示路径和文件名,XX表示文件名
      bs表示区块的大小
     count表示区块数目
    bs*count就是真实大小

   quota -p XX YY NN:可以将XX用户的限制copy给YY和NN用户


  Linux下的挂载:
      1.手动挂载
            mount -t(type,以某种类型挂载,默认是auto,但有的必须指定挂载type) -o(指定参数)  /dev/sda5(指定挂载设备)  /mnt(指定挂载点)
  
     注意:一个设备可以挂载在多个目录下,一个目录虽然也可以挂载多个设备,但同一时刻只有一个设备生效,最后一个生效,其他设备存在,但只有后一个卸载前一个才生效
     umount:卸载,后加设备或者挂载点都可,但有的加挂载点不行,所以最好都加设备

     2.开机挂载
        编辑/etc/fstab文件:
   挂载设备     挂载点      类型      参数(默认为defaults)    0 0:第一个0表示不设置dump,1表示设置dump1天一次,2表示2天一次一般分区设置为0;第二个0表示是否开机自检,0表示不自检,1表示第一个自检,2表示在第一个之后自检

   注意:在开机挂载中,可能会由于/etc/fstab文件出错而重启后进入超级守护进程或者相关服务出错,需要配置正确的/etc/fstab才能正常运行

    UUID存放位置:/dev/disk/by-uuid
    或者使用blkid查看

     3.自动挂载(实现在需要时挂载,不需要后,在一定时间戳后自动取消)
         A.自动挂载是基于服务的(autofs),若没有该服务需要先安装
          B.设置主配置文件在:/etc/auto.master
             里面可以设置辅助配置文件
       /XX          /etc/auto.XX
       XX为目录名(默认/misc)

        C.设置辅助配置文件:/etc/auto.XX
    格式:
     MM(触发条件,也是挂载设备的目录名)     -fstype=is9660,ro(设定类型及参数)             :/dev/sr0(挂载设备)
         D.进入/XX利用cd MM触发即可
     自动挂载对需要根据设备的类型来设置挂载类型

 实现集中验证(nis):
      分为server端和client端,在server上创建用户,实现在client端可以切换
      server端:
          1.配置yum,安装服务ypserv
          2.创建nis用户的专用目录
          3.添加nis验证用户及密码
          4.指定nis域,进入/etc/sysconfig/network写入:NISDOMAIN=xx.com
          5.运行nidomainname  xx.com
          6.将xx.com写入开机启动脚本:
            echo “/bin/nisdomainname example.com” >> /etc/rc.local
         7.启动ypserv服务查看ypserv状态:
          8.生成nis服务器:
              /usr/lib64/yp/ypinit -m
               输入服务器名
                ctrl+d退出
         9.重启相关服务,若向开机生效,则设置开机启动
         10.使用nfs共享nis用户的家目录

      client端:
          1.设置selinux为警告,重启
           2.client端加入nis域,重启服务
           3.设置自动挂载  


sudo:实现对特定用户在特定主机上使用特定命令,对权限的一个下放
   配置文件位置:/etc/sudoers
     文件格式:默认 root     all=(all) all
                              特定用户  在那些主机上   (那些用户 )   可以使用
的命令  

     root用户可以根据需求修改配置文件,控制普通用户使用系统
    除了直接进入配置文件外,还可以利用visudo命令进入,visudo的好
处在于,出错时会报错;并且visudo还能呢个防止两个用户同时修改

    注意:在修改时,要注意语法格式,可能会因为语法格式报错,注意
分隔符可能是,tab等


对分区的操作:划分区,格式化分区,挂载,使用
  划分区:fdisk
  格式化分区:mkfs.格式 分区
  挂载:mount(可以写到/etc/fstab下)

   当swap分区不够用时,增加swap分区的方法:
        方法1:
                利用磁盘剩余空间或者未使用的分区来做
           1.将未使用的分区的ID改为82(因为可以通过
id号来区分分区的作用,82是swap),具体方法是进
入分区操作,利用t改变
           2.利用探测命令让内核识别分区
           3.格式划分区(命令和文件系统格式化不同,
mkswap),同时还要注意uuid,后面会用到
           4.激活swap分区(swapon  /dev/sdaX),可以
先查看大小,再激活
           5.写入开机挂载(/etc/fstab)
           6.重启验证

     方法2:
          利用分区剩余空间
        1.选择分区剩余空间大的操作(df -h)
        2.创建一定大小的文件(dd if=
/dev/zero of=/swapfile bs=YY count=XX)
        3.格式化创建的swapfile文件(mkswap
  /swapfile)
       4.激活swap(swapon /swapfile)
       5.写入fstab,查看优先级(swapon -s,越大越优)
       6.为使其生效,先关swap,再重启(swapoff -a;
swapon -a )


    LVM逻辑卷管理器:优势----可以随意扩大或减少分
区大小
       创建逻辑卷的步骤:
               1.通过pvcreate命令将Linux分区或物理磁盘
处理成物理卷(PV)
               2.通过vgcreate命令将建好的物理卷处理成
卷组(Vg)
               3.通络lvcreate命令将卷组分成若干逻辑卷
(Lv)
      我们真正可以操作(格式化等)的是Lv,可以动态
调整并且不会影响逻辑卷

     具体步骤:
            1.创建物理分区(fdisk)或者添加磁盘;注意在创建时,需要修改id为8e,因为lvm的代码是8e
            2.使用pvcreate创建物理卷:pvcreate /dev/sdaX /dev/sdaY /dev/sdaZ ......
            3.使用vgcreate创建卷组:vgcreate vg0(卷组名) /dev/sdax /dev/sday /dev/sdaz .... 后面还可以使用 -s来设置PE大小(默认PE大小是4MB,可以修改,但必须是2的次方大小)
            4.使用lvcreate创建逻辑卷:lvcreate -l(小写l是指定多少个PE,n*PE就是容量;大写L就是直接指定大小)XX  NN(卷组名) -n LVM1(逻辑卷名)
             5.格式化,挂载逻辑卷(所有的操作只能对逻辑卷进行)mkfs.XX /dev/vg0/LVM1;创建挂载目录/LVM,mount /dev/vg0/LVM1 /LVM
            基本操作完成,可以通过pvdisplay/vgdisplay/lvdisplay查看
             6.可以将其写入开机挂载中:/etc/fstab

    关于LVM的其他操作:
           1.扩大pv/vg/lv空间:
                  物理卷:pvextend   /dev/sdaE
                  卷组:vgextend  vg0  /dev/sdaE
                   完成后可以使用vgdisplay查看
             重点是对逻辑卷的操作: 
                  逻辑卷:lvextend -L mm(K、M、G)    /dev/vg0/LVM1
                     在对逻辑卷扩容时,还需要系统重新识别:resize2fs  /dev/vg0/LVM1(如果是xfs文件系统,则需要使用xfs_growfs  /dev/vg0/LVM1)

             2.缩小lv的空间:
                  a.缩小之前,如果是挂载了,需要先卸载:umount /dev/vg0/LVM1
                  b.强制检查:e2fsck -f /dev/vg0/LVM1
                  c.缩小文件系统:resize2fs  /dev/vg0/LVM1  XX(缩小到XX,单位:K,M,G)(注意,如果是xfs文件系统,需要使用xfs_growfs,不是resize2fs)
                  d.调整逻辑卷大小:lvresize -L XX /dev/vg0/LVM1
                  e.使用vgreduce命令刷新
                  f.检查,重新挂载

    总结:创建的步骤是:创建物理分区-----创建物理卷-----创建卷组------创建逻辑卷------格式化,挂载
               删除的步骤是:删除逻辑卷-------删除卷组-----删除物理卷------删除分区
               lvremove  /dev/vg0/LVM1
               gvremove vg0
               pvremove /dev/sdaX
               pvremove /dev/sdaY
                    .......
        
    
    RAID阵列: 管理raid的工具mdadm
          raid具体功能:帮助安全的文件操作、
文件备份,分为软raid和硬raid,硬raid稳定
,性能好,但成本高,软raid成本低,但稳
性不强,容易破坏
 
     raid分为多种,raid0、1、5、6、10、50等
raid0就是同时读写多个硬盘,读写速度快
raid1是镜像方式,数据安全,全备份,因此
磁盘利用率低,有一半做备份,利用率1/2
raid5,分成区块,各块独立,有校验算法,
部分损坏可以根据其他推算出来,至少需要三块,利用率:N-1/N
raid6,在raid5的基础上增加了一层校验,至少需要4块,利用率:N-2/N
raid10就是结合raid0、1优点

  对于软raid的管理工具mdadm,有基本的create
assemble build manage misc grow monitor等
功能

     实现一个软raid的方法:(可以用整个磁盘做,也可以用分区做)
              1.创建物理磁盘/分区,修改代码为fd
              2.创建阵列设备:mknod /dev/mdX(x是编号,必须是/dev/mdX) b(块设备) 9(主设备号,不能变) 1(从设备号,唯一);创建完成后,检查时候有该设备(ls  /dev/mdX)
              3.创建raid阵列:
                    mdadm -C(create) /dev/mdX  -l(级别,0、1、10、5、6、50) L -n(物理分区数目) N
 分区名,以空格隔开
               可以使用mdadm -D /dev/mdX,查看状态
             4.格式化raid设备:
                       mkfs.ext3 /dev/mdX
              5.创建raid目录并挂载:
                      mkdir /mnt/raid
                 munt /dev/mdX /mnt/raid,之后进入raid目录验证是否有lost+found目录,有代表raid创建成功
             6.设置配置文件:/etc/mdadm.conf,默认没有,需要手动添加
           可以使用mdadm -Ds查看需要配置的内容,之后复制到配置文件,或者直接生成后重定向到配置文件: mdadm -Ds > /etc/mdadm.conf
             7.设置开机挂载
    注意:如果重启后raid无法使用。可以使用mdadm -A /dev/mdX (设备名) /dev/sdb /dev/sdc (用到的磁盘名 )

       注意:当raid和lvm同时使用时,先做raid再做lvm,并且在写入开机挂载时,注意写的是lvm的内容,而raid的不用再写
    





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值