一、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/testfile
chown
更改属主、属组chgrp
可以单独更改属组,不常用
- 特殊权限,如下所示:
SUID
用于二进制可执行文件,执行命令时取得文件属主权限,如/usr/bin/passwd
SGID
用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组SBIT
用于目录,该目录下新建的文件或目录,仅root
和自己可以删除,如/tmp
- 网络管理,如下所示:
- 网络状态查看
- 网络配置
- 路由命令
- 网络故障排除
- 网络服务管理
- 常用网络配置文件
- 网络状态查看工具,
net-tools
和iproute
,如下所示;
net-tools
,有ipconfig、route、netstat
iproute2
,有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,ifconfig
ip link set dev eth0 up,ifup eth0
ip addr add 10.0.0.1/24 dev eth1,ifconfig eth1 10.0.0.1 netmask 255.255.255.0
ip 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
- 网络故障排除命令,如下所示:
ping
traceroute
mtr
nslookup
telnet
tcpdump
netstat
ss
- 网络服务管理,网络服务管理程序分为两种,分别为
SysV
和systemd
,如下所示:
service network start|stop|restart
chkconfig -list network
systemctl list-unit-files NetworkManager.service
systemctl start|stop|restart NetworkManager
systemctl enable|disable NetworkManager
- 网络配置文件,
ifcfg-eth0
,/etc/hosts
。 - 软件安装,如下所示:
- 软件包管理器
rpm
包和rpm
命令yum
仓库- 源代码编译安装
- 内核升级
grub
配置文件
- 软件包管理器,包管理器是方便软件安装、卸载,解决软件依赖关系的重要工具,如下所示:
CentOS、RedHat
使用yum
包管理器,软件安装包格式为rpm
Debian、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.repo
wget -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.gz
tar -zxf openresty-VERSION.tar.gz
cd openresty-VERSION/
./configure --perfix=/usr/local/openresty
make -j2
make 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