Centos 7 重要系统配置文件
一、网卡配置文件
-
配置文件位置
/etc/sysconfig/network-scripts/网卡名
-
详细参数说明
HWADDR= | 网卡MAC地址 |
TYPE=Ethernt | 网卡类型:以太网 |
PROXY_METHOD=none | 代理方式:关闭状态 |
BROWSER_ONLY=no | 只是浏览器(yes|no) |
BOOTPROTO=static | 获取IP方式(static|dhcp|none) |
DEFROUTE=yes | 设置为默认路由(yes|no) |
IPV4_FAILURE_FATAL=no | 是否开启IPV4致命错误检测 |
IPV6INIT=yes | IPV6是否自动初始化 |
IPV6_DEFROUTE=yes | PV6是否可以为默认路由 |
IPV6_FAILURE_FATAL=no | 是不开启IPV6致命错误检测 |
IPV6_ADDR_GEN_MODE=stable-privacy | IPV6地址生成模型 |
NAME=eth0 | 网卡物理设备名称 |
UUID= | UUID识别码 |
ONBOOT=no | 开机自启(yes |
IPADDR= | IP地址 |
NETNASK=255.255.255.0 | 子网掩码(PREFIX=24) |
GATEWAY= | 网关 |
DNS1= | 首选DNS |
DNS2- | 备选DNS |
-
简单网卡配置
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes DEVICE=eth0 ONBOOT=yes IPADDR=10.10.10.31 NETMASK=255.255.255.0
-
重启网卡方法
systemctl restart network 针对所有网卡重启
systemctl status networ 查看网上状态ifdown eth0 关闭eth0网卡
ifup etho 开启eth0网卡
二、主机名配置文件,hosts与hostname
要理解 /etc/hosts 与 hostname 之间的关系,首先需要明白域名和主机名的区别。
-
什么域名
无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INTERNET)中存在,每个域名都对应一个IP地址,但一个IP地址可有对应多个域名(例如:linuxsir.org)。
-
2.什么是主机名
主机名是用于什么的呢?在一个局域网
中,每台机器都有一个主机名
,用于主机与主机之间的便于区分,就可以为每台机器设置主机名,以便于以容易记忆的方法来相互访问。比如我们在局域网中可以根据每台机器的功用来为其命名。
-
3.域名(Domain)和主机名(hostname)的区别
主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改 /etc/hosts 文件,加入自己的主机名解析。
例子:比如我们有三台主机,每台做不同的事,一台做MAIL服务器,一台做FTP服务器,一台做SMB服务器,所以我们就可以这样来设计主机名:
27.0.0.1 localhost.localdomain localhost
192.168.1.2 ftp.localdomain ftp
192.168.1.3 mail.localdomain mail
192.168.1.4 smb.localdomin smb
-
4.域名解析文件/etc/hosts说明
/etc/hosts 的内容一般有如下类似内容:
127.0.0.1 lochost.localdomain localhost
192.168.1.100 debian.com debian
192.168.1.120 ftpserver ftp120
注:127.0.0.1 是回环地址,比如我们不想让局域网的其它机器看到我们测试的网络程序,就可以用回环地址来测试。
一般情况下hosts文件的每行为一个主机,每行由三部份
组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
hosts文件的格式如下:
第一部份: 网络IP地址;
第二部份: 主机名.域名,注意主机名和域名之间有个半角的点,比如 localhost.localdomain;
第三部份: 主机名(主机名别名) ,其实就是主机名;
当然每行也可以是两部份
,就是主机IP地址和域名。比如 192.168.1.195 debian
。
etc/hosts文件的作用: 将主机名(配置三部分)或域名(配置两部分)解析到IP。
/etc/hostname 存放主机名,/etc/hosts 存放域名与ip的对应关系,其实主机名和 /etc/hosts 没什么关系,只不过如果 /etc/hosts 中的IP和主机名不对应的话,就不能用主机名来访问这台主机了,所以建议将主机名加进/etc/hosts中,避免访问时用的域名和Shell提示符中的主机名不一致造成混淆。所以手工设置主机名,应该改的是另外的一个配置文件(如/etc/sysconfig/network),修改了之后“最好”把/etc/hosts也对应修改一下。
三、磁盘挂载文件
-
文件位置
/etc/fstab
-
文件内容
Linux系统下的/etc/fstab 文件 包含了需要开机后自动挂载的文件系统记录,Linux系统启动时将读取这个文件来自动挂载文件系统。我们可以通过修改这个文件将文件系统设置为开机自动挂载。
UUID=64fc4e32-9cc9-4af9-8846-dc13865f770e / ext4 defaults 1 1 UUID=14c3958d-b0a9-41bd-a046-06e148013349 /boot ext4 defaults 1 2 UUID=15399f4c-8788-4348-b066-34179fe887cb swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 #自动挂载光驱到/mnt/cdrom
-
文件各列含意
-
第一列:Device,磁盘设备文件或该设备的Label或UUID。可以使用
dumpe2label
命令查看设备标签、UUID。或者使用简单命令blkid
查看UUID。注意 :使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号,使用uuid挂载的话就不用担心会发生错乱的问题了
-
第二列:第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下
-
第三列:filesystem:磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、
iso9660
等 -
第四列:parameters:文件系统的参数,一般设置为默认 :defaults
-
Async/sync | 设置是否同步方式运行,默认为async |
auto/noauto | 执行mount -a 命令时,是否主动挂载,默认为auto |
rw/ro | 是否以只读/读写方式挂载 |
exec/noexec | 限制是否能够进行“执行”操作 |
user/nouser | 是否允许用户使用mount命令挂载 |
suid/nosuid | 是否允许suid存在 |
usquota | 启动文件系统支持磁盘配额 |
grpquota | 启动文件系统支持群组磁盘配额 |
default | 默认参数rw,suid,dev,exec,auto,nouser,async |
-第五列:能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0 或者1。0 代表不做dump备份,1 代表要每天进行dump备份,2 代表不定期进行dump操作
第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。
0 不要检验,1 最早检验(一般根目录会选择最早检验),2 1级别检验完成后进行检验
四、开机自动执行命令文件rc.local
-
文件位置
/etc/rc.local
-
文件属性
在Centos7下,rc.local文件,开机默认是不执行的。它是个软链接
[root@data-1-1 ~]# ll /etc/rc.local lrwxrwxrwx. 1 root root 13 Apr 8 17:11 /etc/rc.local -> rc.d/rc.local
实际文件不具备执行权限,添加执行权限.
[root@data-1-1 ~]# ll /etc/rc.d/rc.local -rw-r--r--. 1 root root 524 Jun 20 09:12 /etc/rc.d/rc.local [root@data-1-1 ~]# chmod +x /etc/rc.d/rc.local
-
开机自启设置
systemctl start rc-local.service systemctl enable rc-local.service
-
文件示例
#!/bin/sh # #This script will be executed *after* all the other init scripts. #You can put your own initialization stuff in here if you don't #want to do the full Sys V style init stuff. touch /var/lock/subsys/local #每次系统启动时都会touch这个文件,这个文件的修改时间就是系统的启动时间 /etc/rc.d/init.d/httpd start #apache服务就会在开机时自动启动
五、运行级别
-
centos7的运行级别都定义在
/lib/systemd/sysem
下:ls -ltr /lib/systemd/system/runlevel*.target lrwxrwxrwx. 1 root root 17 Oct 25 23:46 /lib/systemd/system/runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 13 Oct 25 23:46 /lib/systemd/system/runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 15 Oct 25 23:46 /lib/systemd/system/runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 17 Oct 25 23:46 /lib/systemd/system/runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 Oct 25 23:46 /lib/systemd/system/runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 13 Oct 25 23:46 /lib/systemd/system/runlevel6.target -> reboot.target lrwxrwxrwx. 1 root root 16 Oct 25 23:46 /lib/systemd/system/runlevel5.target -> graphical.target
-
设置运行级别
systemctl get-default 获得当前的运行级别 systemctl set-default multi-user.target 设置默认的运行级别为mulit-user systemctl isolate multi-user.target 在不重启的情况下,切换到运行级别mulit-user下 systemctl isolate graphical.target 在不重启的情况下,切换到图形界面下
六、系统变量配置文件
-
环境变量的分类
-
生效范围分类
-
系统环境变量:公共的,对全部的用户生效
-
用户环境变量:用户私有的,只对该用户生效
-
生存周期分类
-
永久环境变量:在变量脚本文件中配置,
-
临时环境变量:使用时在shell中临时定义,退出shell后失效
-
-
查看环境变量
env
查看当前用户全部的环境变量- ·
echo $变量名
查看具体变量
-
常用环境变量
-
PATH
可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序。如果可执行程序的目录不在PATH指定的目录中,执行时需要指定目录。-
PATH环境变量存放的是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录。
-
PATH缺省包含了Linux系统命令所在的目录(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin),如果不包含这些目录,Linux的常用命令也无法执行(要输入绝对路径才能执行)。
-
在用户的.bash_profile文件中,会对PATH进行扩充,如下:
export PATH=$PATH:$HOME/bin
-
如果PATH变量中没有包含圆点.,执行当前目录下的程序需要加./或使用绝对路径。
-
-
LANG
LANG环境变量存放的是Linux系统的语言、地区、字符集,它不需要系统管理员手工设置,/etc/profile会调用/etc/profile.d/lang.sh脚本完成对PATH的设置。CentOS7.x 字符集配置文件在/etc/locale.conf文件中cat /etc/locale.conf LANG="en_US.UTF-8"
-
HOSTNAME
服务器主机名 -
SHELL
用户当前 使用的Shell解释器 -
HISTSIZE
保存历史命令的数目 -
USER
当前登录用户名 -
HOME
当前登录用户家目录
-
-
设置环境变量
变量名='值' export 变量名export 变量名='值'如果环境变量的值没有空格等特殊符号,可以不用单引号包含。 export ORACLE_HOME=/oracle/home export ORACLE_BASE=/oracle/base export ORACLE_SID=snorcl11g export NLS_LANG='Simplified Chinese_China.ZHS16GBK' export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.
-
系统环境变量文件的设置
-
在
/etc/profile
文件中设置。用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环境变量。 -
在
/eetc/profile.d
目录中增加环境变量脚本文件,这是Linux推荐的方法。/etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件。/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d下对应的 shell 脚本即可。ls /etc/profile.d/ 256term.csh colorgrep.csh colorls.csh csh.local lang.sh less.sh which2.csh 256term.sh colorgrep.sh colorls.sh lang.csh less.csh sh.local which2.shcat which2.sh # Initialization script for bash and sh# export AFS if you are in AFS environment alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
-
在
/etc/bashrc
文件中设置。该文件配置的环境变量将会影响全部用户使用的bash shell。但是,Linux也不建议在/etc/bashrc文件中设置系统环境变量。
-
-
用户环境变量文件设置
在用户的主目录,有几个特别的文件,用
ls .bash_*
查看。.bash_profile
用户登录时执行,可以用该文件来配置专属环境变量。(推荐首选).bashrc
当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置.bash_logout
当每次退出系统(退出bash shell)时执行该文件。.bash_histort
保存了当前用户使用过的历史命令
-
环境变量脚本文件执行顺序
/etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc 同名的环境变量,如果在多个脚本中有配置,以最后执行的脚本中的配置为准。
-
环境变量的生效
-
在Shell下,用export设置的环境变量对当前Shell立即生效,Shell退出后失效。
在脚本文件中设置的环境变量不会立即生效,退出Shell后重新登录时才生效,或者用source命令让它立即生效,例如:
source /etc/profile
-
-
虽然设置环境变量的方法有多种,但是建议系统环境变量建议在/etc/profile.d目录中配置,用户环境变量在用户的.bash_profile中配置,不建议在其它脚本文件中配置环境变,会增加运维的麻烦,容易出错。
七、登录前、后提示信息配置文件
- 登录前信息配置文件
/etc/issue
,当一个网络用户或通过串口登录系统上时,/etc/issue的文件内容显示在login提示符之前 - 登录后信息配置文件
/etc/motd
,用户登录成功后,显示在终端界面里。
八、系统日志文件
-
内核及公共消息日志
/var/log/messages
-
计划任务日志
/var/log/cron
-
系统引导日志
/var/log/dmesg
-
邮件系统日志
/var/log/maillog
-
最近用户登录事件
/var/log/lastlog
-
用户登录、注消及系统开、关机事件
/var/log/wtmp
-
当前登录的每个用户的详细信息
/var/lrun/utmp
-
与用户验证相关的安全性事件
/var/log/secure
-
日志消息级别
- 0 EMERG (紧急)会导致主机系统不可用的情况
- 1 ALERT (警告) 必须马上采取措施解决问题
- 2 CRIT (严重) 比较严重的发问
- 3 ERR (错误) 运行出现错误
- 4 WARNING (提醒) 可能会影响系统功能的事件
- 5 NOTICE (注意) 不会影响系统但值得注意
- 6 INFO (信息) 一般信息
- 7 DEBUG (调试) 程序或系统调试信息
九、系统硬件信息文件
-
cpu信息文件
/proc/cpuinfo
-
内存信息文件
/proc/meminfo
-
挂载信息
/proc/mounts