一、Linux 的文件及目录的权限、文件权限的修改、权限管理、网络管理、查看及修改网络配置、网络故障排除、网络管理配置、软件包管理器、rpm 及 yum 安装、源代码编译安装和内核升级
- 查看文件权限,如
-rw-------1 root root 1523 sep 28 12:05 anaconda-ks.cfg中,-r是类型,w-------1是权限,root root是所属用户和组,anaconda-ks.cfg是文件名。 - 文件类型,如下所示:
-普通文件d目录文件b块特殊文件c字符特殊文件l符号链接f命名管道s套接字文件
- 文件权限的表示方法,如下所示:
- 字符权限表示方法,
r是读,w是写,x是执行 - 数字权限的表示方法,
r=4,w=2,x=1 -rw-r-xr-- 1 username groupname mtime filename中,rw-是文件属主的权限,r-x是文件属组的权限,r--是其他用户的权限- 创建新文件有默认权限,根据
umask值计算,属主和属组根据当前进程的用户来设定
- 目录权限的表示方法,如下所示:
x进入目录rx显示目录内的文件名wx修改目录内的文件名
- 修改权限命令,如下所示:
chomd修改文件、目录权限,如chmod u+x /tmp/testfile、chmod 755 /tmp/testfilechown更改属主、属组chgrp可以单独更改属组,不常用
- 特殊权限,如下所示:
SUID用于二进制可执行文件,执行命令时取得文件属主权限,如/usr/bin/passwdSGID用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组SBIT用于目录,该目录下新建的文件或目录,仅root和自己可以删除,如/tmp
- 网络管理,如下所示:
- 网络状态查看
- 网络配置
- 路由命令
- 网络故障排除
- 网络服务管理
- 常用网络配置文件
- 网络状态查看工具,
net-tools和iproute,如下所示;
net-tools,有ipconfig、route、netstatiproute2,有ip、ss
- 网络状态查看命令,
ifconfig,eth0第一块网卡,也就是网络接口,第一个网络接口可能叫做下面的名字,如下所示:
eno1板载网卡ens33 PCI-E网卡enp0s3无法获取物理信息的PCI-E网卡CentOS 7使用了一致性网络设备命名,以上都不匹配则使用eth0
- 网络接口命名修改,如下所示:
- 网卡命名规则受
biosdevname和net.ifnames两个参数影响 - 编辑
/etc/default/grub文件,增加biosdevname=0 net.ifnames=0 - 更新
grub,如grub2-mkconfig -o /boot/grub2/grub.cfg - 重启,
reboot,网卡命名组合如下:
| biosdevname | net.ifnames | 网卡名 |
|---|---|---|
| 0 | 1 | ens33 |
| 1 | 0 | em1 |
| 0 | 0 | eth0 |
- 查看网关命令,可以使用
route -n,使用-n参数不解析主机名。 - 查看网络情况,查看网卡物理连接情况,可以使用
mii-tool eth0。 - 网络配置命令,如下所示:
ifconfig <接口> <IP地址> [netmask 子网掩码]ifup <接口>ifdown <接口>
- 网关配置命令,添加网关,如下所示:
route add default gw <网关ip>route add -host <指定ip> gw<网关ip>route add -net <指定网段> netmask <子网掩码> gw <网关ip>
- 网络命令集合,
ip命令,如下所示:
ip addr ls,ifconfigip link set dev eth0 up,ifup eth0ip addr add 10.0.0.1/24 dev eth1,ifconfig eth1 10.0.0.1 netmask 255.255.255.0ip route 10.0.0/24 via 192.168.0.1,route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1
- 网络故障排除命令,如下所示:
pingtraceroutemtrnslookuptelnettcpdumpnetstatss
- 网络服务管理,网络服务管理程序分为两种,分别为
SysV和systemd,如下所示:
service network start|stop|restartchkconfig -list networksystemctl list-unit-files NetworkManager.servicesystemctl start|stop|restart NetworkManagersystemctl enable|disable NetworkManager
- 网络配置文件,
ifcfg-eth0,/etc/hosts。 - 软件安装,如下所示:
- 软件包管理器
rpm包和rpm命令yum仓库- 源代码编译安装
- 内核升级
grub配置文件
- 软件包管理器,包管理器是方便软件安装、卸载,解决软件依赖关系的重要工具,如下所示:
CentOS、RedHat使用yum包管理器,软件安装包格式为rpmDebian、Ubuntu使用apt包管理器,软件安装包格式为deb
rpm包,rpm包格式,如vim-common-7.4.10-5.el7.x86_64.rpm,其中vim-common是软件名称,7.4.10-5是软件版本,el7是系统版本,x86_64是平台。rpm命令,rpm命令常用参数,如下所示:
-q查询软件包-i安装软件包-e卸载软件包
yum包管理器,如下所示:
rpm包的问题,需要自己解决依赖关系,软件包来源不可靠CentOS yum源- 国内镜像
yum配置文件,如下所示:
/etc/yum.repos.d/CentOS-Base.repowget -O /etc/yum.repos.d/CentOS-Base.repo
yum命令常用选项,如下所示:
install安装软件包remove卸载软件包list|grouplist查看软件包update升级软件包
- 其它方式安装,二进制安装和源代码编译安装,源代码编译安装如下所示:
wget https://openresty.org/download/openresty-1.15.8.1.tar.gztar -zxf openresty-VERSION.tar.gzcd openresty-VERSION/./configure --perfix=/usr/local/openrestymake -j2make install
- 升级内核,
rpm格式内核,如下所示:
- 查看内核版本,
uname -r - 升级内核版本,
yum install kernel-3.10.0 - 升级已安装的其它软件包和补丁,
yum update
- 源代码编译安装内核,如下所示:
- 安装依赖包,
yum install gcc gcc-c++ make ncurses-devel openssl-devel elfutils-libelf-devel - 下载并解压内核,
https://www.kernel.org,tar xvf linux-5.1..10.tar.xz -C /usr/src/kernels - 配置内核编译参数,
cd /usr/src/kernels/linux-5.1.10/,make menuconfig | allyesconfig | allnoconfig - 使用当前系统内核配置,
cp /boot/config-kernelversion.platform /usr/src/kernels/linux-5.1.10/ .config - 查看
CPU,lscpu - 编译,
make -j2 all - 安装内核,
make modules_install,make install










