Linux06--etc目录及系统配置文件

一 重要目录及文件

1 重要目录

/etc                    : 系统配置目录
/bin -> /usr/bin /root  : 保存常用命令的目录
/root                   : 超级管理员目录
/home                   : 普通管理员目录
/usr                    : 存放应用程序的目录
/boot                   : 存放系统启动文件
/dev                    : 存放硬件相关信息
/proc                   : 存放系统运行的信息
/mnt                    : 临时挂载目录
/opt                    : 相当于下载目录

/usr/local              : 安装第三方软件的目录
/tmp                    : 临时文件
/var                    : 存放日志的目录
/run                    : 存放应用程序运行时产生的临时文件

2 /etc目录下重要文件

# 网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-[网卡名称]

# 解析映射文件
公网DNS:/etc/resolv.conf 
本地DNS:/etc/hosts

# 主机名称文件
/etc/hostname 

# 磁盘配置文件
/etc/fstab

# 开机脚本文件
/etc/rc.local 

# 启动级别文件
/usr/lib/systemd/system/runlevel*level  # centos7
/etc/inittab  # centos6
    
# 变量加载文件
/etc/profile    # 初始化一些系统变量  
/etc/bashrc 
~/.bashrc  
~/.bash_profile  
	
	
# 登录提示文件
/etc/motd
/etc/issue

二 /etc目录下重要文件详解

1 网卡配置文件

# 网卡配置文件地址: /etc/sysconfig/network-scripts/ifcfg-[网卡名称]


# 1.查看当前系统网卡信息命令  
ip a   ====>  ip addr
ifconfig
    
ipconfig : 查看windows主机的网卡、用在centos6上   

nmtui    : 依赖于NetworkManager
  nmtui命令会开启一个图形化的配置工具,nmtui可提供一个文本界面来与NetworkManager交互用于配置网络。
  该工具包含在NetworkManager-tui子软件包中。
  需要单独安装 NetworkManager-tui
    
  lo   : 回环网络    用于本地开发测试,排除网络的干扰
  etho : 公网网卡   


# 2.查看网卡配置信息  
/etc/sysconfig/network-scripts/ifcfg-[网卡名称]   # 网卡的文件路径地址
    
eg:cat /etc/sysconfig/network-scripts/ifcfg-eth0  


# 打开网卡配置文件,完成静态ip配置,修改完毕后重启网络服务即可:systemctl restart network
DEVICE=eth0           # 网卡名字
BOOTPROTO=static       # 网卡获得ip地址的方式 
                             dhcp   以dhcp服务,动态获取IP
                             static 指定为静态,手工指定IP
                             none   根据其他选项,决定动态还是静态

NM_CONTROLLED=no          # 表示该网卡 是否受NetworkManager服务管理
ONBOOT=yes            # 网络服务启动时,是否激活网卡   yes代表激活,no代表禁用
TYPE=Ethernet             # 网卡类型:以太网

IPADDR=10.1.1.11       # IP 地址
NETMASK=255.255.255.0     # 子网掩码
GATEWAY=10.1.1.1          # 默认网关
DNS1=10.1.1.1             # DNS1 服务器
DNS2=8.8.8.8              # DNS2 服务器
PEERDNS=yes         # 是否允许网卡在启动时,向DHCP服务器查询DNS信息
                               设置为yes时,此文件设置的DNS,将覆盖/etc/resolv.conf
                               若开启了DHCP,则默认为yes,故DHCP的dns 也会覆盖/etc/resolv.conf

HWADDR=14:da:e9:eb:a9:61  # 网卡的MAC地址
USERCTL=no          # 是否允许普通用户启动或者停止该网卡
IPV6INIT=no          # 是否在该网卡上启动IPV6的功能


# 3.网卡重启命令  
systemctl restart network  # 重启网络 就是所有网卡都重启

ifdown 或 ifup  [网卡名字]  # 暂停 或重启 指定网卡 


# 4.故障排查  
  1.确认网关地址是否通畅:
    先ping 网关,再ping 公网:ping www.baidu.com  
        
  2.确认网卡配置是否正确:
    vi /etc/sysconfig/network-scripts/ifcfg-[网卡名称]  
    
  3.确认网络管理服务是否关闭:  
    systemctl stop NetworkManager     # 关闭NetworkManager 
    systemctl disable NetworkManager  # 开机不自启 
        
    # Linux系统管理网络有两个服务:Network 和 NetworkManager,只能启动一个,关闭NetworkManager 
      NetworkManager作用:是redhat6自带的检测网络、自动连接网络的图形化工具。
      NetworkManager服务会干扰网络配置  eg:DNS经常会被刷掉,所以通常关闭
        
  4.确认虚拟网络编辑配置  
  5.确认虚拟软件服务开启  
  6.确认虚拟网卡配置信息  

2 解析映射文件

# 0 dns检索优先级
浏览器DNS缓存 -> 本地系统DNS缓存 -> 本地计算机HOSTS文件 -> ISP DNS缓存(公网DNS解析文件) -> 递归or迭代搜索


# 1.公网DNS  
    114.114.114.114  # 中国电信
    223.5.5.5        # 阿里云 有点问题
    8.8.8.8          # 谷歌
    
    # 1.公网DNS配置文件:/etc/resolv.conf 
        这个文件可以查看和临时配置公网DNS服务器(域名解析)  

    # 2.永久修改DNS信息,需要修改网卡配置文件  
        vim /etc/sysconfig/network-scripts/ifcfg-eth0  

        systemctl restart network  # 重启网络

        cat /etc/resolv.conf  
            # Generated by NetworkManager  
            search localdomain    
            nameserver 114.114.114.114  
            nameserver 8.8.8.8  
        
        # resolv.conf文件中:search、domain、nameserver 参数解释
        nameserver [ip]  
            该选项用来制定DNS服务器的,可以配置多个nameserver指定多个DNS  最多3个
        domain [域名]         
            用来指定本地的域名,在没有设置search的情况下,search默认为domain的值
        search [域名1] [域名2]
            原来当访问的域名不能被DNS解析时,resolver会将该域名加上search指定的参数,
            重新请求DNS,直到被正确解析或试完search指定的列表为止

# 2.本地DNS:/etc/hosts
ip地址   域名   # 可空格 指定多个域名

3 主机名称文件

# 主机名就相当于当前主机的名称。默认主机名:localhost.localdomain  

# 1.修改主机名  
   修改主机名实际上是修改 /etc/hostname 文件
   
   第一种方式:  # 注:立即生效
       hostnamectl set-hostname [主机名]  
       
   eg:    
       hostnamectl set-hostname linux  
       cat /etc/hostname   
           linux  
     
   第二种方式:  # 注:重启生效
       vim /etc/hostname  
     

# 2.作用  
   1.方便区分主机  
   2.大规模集群中,方便连接 
       # 在本地dns中,将ip与主机名 做一个映射,后续连接需要ip的地方,就可以直接用主机名代替
   
   
# 3.知识储备:  
   # scp : 通过网络传输文件  
   
     格式: scp [当前主机的文件路径] [传输到的系统用户名]@[ip]:[路径]
   
   # ansible : 主机清单 --> 主机组

4.磁盘配置文件

# /etc/fstab 文件是配置磁盘挂载的配置文件  

# 1.磁盘永久挂载

# 方式一:将挂载信息配置到/etc/fstab文件中  # 先做快照,防止配置失误后,可恢复!

    分区的路径 挂载目录的路径 挂载分区的文件系统类型 权限 是否备份 是否检测  
    /dev/mapper/centos-root  /     xfs   defaults   0   0  
    /dev/sdb1               /mnt   xfs   defaults   0   0  

# 注:
    1.当挂载信息出现问题时,linux主机将无法正常开机  
    2.在添加完配置信息之后,一定要检测语法是否正确  # mount -n  同一挂载点,若被多个磁盘挂载,会被覆盖
    3.挂载完要重启  


# 方式二:在开机自启动脚本中增加挂载命令
	开机脚本文件作用:实现系统启动后,读取文件中的命令,从而实现一些操作随系统启动自动运行

    # 将挂载命令添加到:/etc/rc.local 文件--开机脚本文件
        mount /dev/sdb1 /mnt  
        
    1.为rc.local文件添加可执行权限  
        chmod +x /etc/rc.d/rc.local   
    2.修改rc.local文件  # 添加命令语句:mount /dev/sdb1 /mnt   # 试一下1/2的顺序
        vim /etc/rc.local
    3.重启  
        reboot  

5.网络服务文件

# 1.网络服务文件: /etc/services 

# 2.文件格式
service-name    port/protocol                   [aliases..]    [#comment]
网络服务的名称   端口/通信使用的协议(TCP/UDP)      服务别名        服务注释  以#标记开头

# 3.查询 某个服务
grep '^ftp\|^ssh' /etc/services

6.修改root密码

# 忘记密码如何重置密码?  
    # 思路:进入到单用户模式下,再修改root密码

    1.关闭selinux  # 必须是永久关闭
    2.重启  
    3.在启动界面上,按e键,进入单用户模式  
    4.在包含linux16 这一行,将ro修改为rw,并且在其后面增加 init=/sysroot/bin/sh  # 让单用户模式默认进入sh命令  
    5.按ctrl+X键,重新引导系统  
    6.执行命令:chroot /sysroot/ ,切换到原来的系统中  
    7.修改root密码  # passwd root
        passwd [指定需要修改密码的用户]  
    8.使密码生效  
        touch /.autorelabel
    9.重新启动客户机


# 在命令行中修改密码  # 前提:知道原密码  
    passwd root  
        Changing password for user root.  
        New password:    # 输入新密码
        BAD PASSWORD: The password is a palindrome  
        Retype new password:   # 确认新密码
        passwd: all authentication tokens updated successfully.  

7.设置启动系统启动目标

# 1.查看当前系统运行模式:  
    1.runlevel       # 查看的是数字模式  
    2.systemctl get-default  # 查看的是全称模式  

 
# 2.修改系统运行模式:
    systemctl set-default [模式名称] 
	
    eg: systemctl set-default graphical 

# 3.启动系统启动目标 (设置时不要加target)
    # centos7的7种运行目标
    0.poweroff target   # 关机 
    1.rescue target     # 单用户模式  只能在主机本机上操作,远程连接进入不到
    2.multi-user target # 多用户模式,无网络
    3.multi-user target # 多用户模式,有网络  
    4.未使用  
    5.graphical target  # 图形界面模式
    6.reboot target     # 重启
    
    # centos6的7中运行级别 (与上几乎对应)

8.变量加载文件

# 配置环境变量和别名文件:  
    /etc/profile      # 系统级别配置文件
    /etc/bashrc       # 系统级 (定义别名)
    /etc/profile.d/   # 系统级别的配置目录

    ~/.bash_profile   # 用户级别配置文件 (用户自定义的环境变量)  
    ~/.bashrc         # 用户级 (定义别名)  


# 适用于任何用户:  系统变量 
    /etc/profile.d  
    /etc/profile
    /etc/bashrc  
                  
# 只适用于~用户:  用户变量
    ~/.bash_profile
    ~/.bashrc


# ps:
1. vim /home/user1/.bash_history   # 每次登陆用户的操作都记录其中

2. su - user1进行操作然后退出,查看该文件内容

3. vim /home/user1/.bash_logout  # 切换用户后,退出日志会添加一条  

4. > /home/user1/.bash_history   # 这样每次退出用户后都会自动清空~/.bash_history中的内容

9.用户登录(切换)

# 切换用户

# 1.su [用户名]   
    # 相当于系统运行时,换一个用户,变量文件只加载 bashrc 文件,且当前目录不会切换
    优先级: 用户变量 > 系统变量   ~/.bashrc > /etc/bashrc   

    # eg:
    su root  
        ~/.bashrc  
        /etc/bashrc 

# 2.su - [用户名]: 
    # 相当于重新开机登录用户,所有变量文件都重新加载
    优先级:/etc/profile > ~/.bash_profile > ~/.bashrc > /etc/bashrc  

    # eg:
    su - root  
        Last login: Sat Sep 18 12:00:12 CST 2021 on pts/3  
        /etc/profile  
        ~/.bash_profile  
        ~/.bashrc  
        /etc/bashrc  
 
# 退出登录 
    exit 

10.登录提示文件

# /etc/motd  : 文件中内容,会在用户登录系统之后进行显示  

# /etc/issue : 文件中内容,会在用户登录系统之前进行显示  
posted @ 2022-03-31 00:10  Edmond辉仔  阅读(842)  评论(2)    收藏  举报