Linux 高阶
linux 自有服务器
自由服务是指 不需要用户自己安装 我们就可以直接调用的服务器
1. 运行模式
在linux中存在一个进程 init 初始化进程,进程ID是1
查看进程: ps -ef|grep init
该进程存在一个对应的配置文件:inittab
Cat /etc/inittab
使用systemd时不再使用inittab。
在此处添加配置不会对系统产生任何影响。
Ctrl-Alt-Delete由/usr/lib/systemd/system/Ctrl-Alt-del.target处理
systemd使用“targets”而不是runlevels。默认情况下,有两个主要目标:
multi-user.target:类似于运行级别3
graphical.target:类似于运行级别5
要查看当前默认目标,请运行:
systemctl获取默认值
要设置默认目标,请运行:
systemctl设置默认目标.TARGET
与级别相关的几个命令 临时切换 不是永久切换
- Init 0 关机
- Init 3 切换到无图形化界面
- Init 5 切换到图形化界面
- Init 6 重启电脑
如何设置永久模式?
该inittab配置即可
id:5:Initdefault
用户管理组和用户组
用户管理
添加用户
常用语法 user 选项 用户名
常用选项:
- g :表示指定的用户的用户主组,选项的值可以是用户组的id 也可以是组名
- G: 表示指定的用户的用户附加组,选项的值可以是用户组的id 也可以是组名
- u:uid 用户的id (标识符)系统默认会从500之后按顺序分配uid,如果不想使用系统分配,可以通过选项自定义(类似自选靓号)
- c 添加注释
创建用户 不带选项
验证是否成功
- 验证在passwd中是否有用户名 cat/etc/passwd
- 验证是否存在家目录 在centos下随机产生一个同名家目录 ls /home

用户名 密码:用户id 用户组id 注释 家目录 解释器
- 密码 一般都是x 密码占位
- 用户id:用户识别符
- 用户组id:表示拥护主组
- 注释:解释是干嘛的
- 家目录: 用户登陆后默认的位置
- 解释器shell: 等待用户进入系统 进入指令,该解释器会收集用户输入的指令,传给内核处理
注意:在不添加选项的时候,执行useradd会执行一系列的操作
- 创建同名的家目录
- 创建同名的用户组
案例:添加选项,用户list 让list 属于501主组 附属组500 自选靓号666
Useradd -g 501 -G 500 -u 666 list
附加组会在有组的后面 在group里看

查看主组在passwd中 看附属组在group中看
修改用户
常用语法:usermod 选项 用户名
用法:Usermod user modify 用户修改
常用选项
- g :表示指定的用户的用户主组,选项的值可以是用户组的id 也可以是组名
- G: 表示指定的用户的用户附加组,选项的值可以是用户组的id 也可以是组名
- u:uid 用户的id (标识符)系统默认会从500之后按顺序分配uid,如果不想使用系统分配,可以通过选项自定义(类似自选靓号)
- l 修改用户名
案例:修改张三用户主组 为500 附加组为501
Usermod -g 500 -G 501 zhangsan
案例:修改用户名为李四
Usermod -l 新用户名 旧用户名
Usermod -l lisi zhangsan
设置密码
不允许没有密码的用户,不然会被锁定 需要设置才登陆
用法: passwd
Passwd 用户名
cat /etc/shadow 可以看到加密后的密码
设置完密码可以登录用户了 su 用户名
删除用户
常用语法 userdel 选项 用户
用法:Userdel user delete
常用选项
-r 表示删除的同时 删除其家目录
注意:已经登陆的用户不能删
解决方法: kill 对应用户的全部进程 ps -ef |grep 用户名 删除主进程 左边第一个
注意除了修改自己的密码 对别的都没有权限 除了root
用户组
用户组管理每个用户 每个用户都有一个用户组,系统可以集中管理,不同linux系统对用户组的规定不同。
用户组涉及 删除 添加 修改,组的增加删除修改 就是对etc/group文件的更新

文件结构
用户组名:密码:用户组id:组内用户
密码:x表示占位符 可以设置密码,大部分不设置密码
组内用户名: 表示附加族是改组的用户名称
用户组的添加
常用语法: groupadd 选项 用户祖名
常用选项:
- g:类似用户添加里的 -u -g 选择自己设置一个自定义的用户组id数字 如果自己不指定,则默认从500之后递增
案例: 使用groupadd 指令创建新的用户组 administrator
groupadd administrator
用户组编辑
常用选项:groupmod 选项 用户组名
常用选项:
- g:类似用户添加里的 -u -g 选择自己设置一个自定义的用户组id数字 如果自己不指定,则默认从500之后递增
- n: 类似于用户修改的-l 表示可以修改名称
案例:修改administrator
Groupmod -g 520 -n admin administrator
用户组的删除
常用语法 groupdel 用户名

如果要删除一个组 但是这个组是某个用户的主组时,不允许删除,除非移除用户
挪组用户
Usermod -g 0 用户名 0是root组
设置主机名
设置主机名
Hostname
Hostname -f FQDN(全限定域名)
临时设置主机名(立竿见影) 需要切换用户
Hostname 主机名
永久设计主机名(需要重启)
先找到一个文件
/etc/sysconfig/network 【主机名的配置文件】
需要和临时主机名相同
Hostname -f搜索失败
解决方案 修改linux下的hosts文件 将计算机名指向自己的
Vim/etc/hosts 在后面加主机名 勿删
问题 不设置FQDN会怎么样
- 很多开源软件 例如(apache)无法启动 或者出错
- 方便记忆 看到主机会比较清晰
- 如果不设置则会影响本机的域名解析
rpm 管理
作用:rpm的作用类似于windows电脑管家中的软件管理,安全卫士里的软件管家等。主要是对linux服务器上的软件包进行对应的管理操作,管理分为:查询卸载,安装
- 查询某个软件的安装情况
rpm-qa |grep
选项
- 查询,query
- 全部,all
查询linux上是否安装firefox和qq
rpm -qa|grep firefox
- 卸载某个软件
**rpm -e 软件的名称**
火狐卸载的时候没有依赖关系,所以可以直接卸载
但是在卸载Apache卸载时有报错,有依赖关系 无法卸载
当存在以来关系是可以强制卸载
**rpm -e 软件包 nodeps** - 软件的安装
想要装软件,可以和windows一样,找到安装包
软件包的获得方式 - 去官网下载
- 不介意老版本的话,可以从镜像文件中读取
- 此处以光盘文件为例 查看块状是被
lsblk(list block devices)

- name:名称
- Size 设备大小
- type类型
- mountpoint:挂载点类似windows下的盘符
- 如何挂载和解挂(等于盘符,linux无法分配盘符)
- 解挂——命令 :umount
- Umount +路径

- 挂载光盘
命令:mount
语法: mount+设备的源地址 要挂在的的位置路径
设备的原始地址:地址统一都在/dev下 然后根据大小确定name值 例如 /dev/sr0
要挂在的位置路径 挂在目录一般都在/mnt 可以自建
- 如何挂载和解挂(等于盘符,linux无法分配盘符)
- 此处以光盘文件为例 查看块状是被
mount /dev/sro /mnt/dvd

- 安装软件的命令:
rpm -ivh 命令完整名称
选项
- i: install 安装
- v :显示进度条
- h:表示以“#”方式显示进度条 ########
rpm -ivh firefox
计划任务
Cron/crontab计划任务
作用:操作系统不可能24小时都有人此操作 有些时候需要指定任务
如 每天夜里2点重新启动http服务 可以交给计划任务
语法:#crontab 选项
常用选项:
1. -l:list 列出制定用户的计划任务列表
2. -e:edit 编辑指定用户的计划任务列表
3. -u:user:制定的用户ing,如果不指定 则表示当前用户
4. -r:remove 删除指定用户的计划任务列表
- 列出

- 编辑计划任务(重点)
Crontabl -e
计划任务的规则语法格式如下:以行为单位 一行一个计划
分 时 日 月 周 需要执行的计划命令
例如如果想要每天的12点执行reboot 则可以携程
0 0 _ _ * reboot
取值范围:
分:0-59
时:0-23
日:1-31
月:1-12
周:0-7#0和7 表示星期天
四个符号:
*:表示取值范围中的每一个数字
-:做区间表达式 想要表达1-7 可以写成1-7
/:表示每多少个
例如: 想每10分钟一次 在分的位置写 */10
,:表示多个取值
比如在1点,2点,6点执行 可以在时的位置写1,2,6
问题1:
每月1,10,22,的4:45 重启network 服务
45 4 1,10,22 * * service network restart
问题2:
每周六 ,周日的1:10分重启network
10 1 * * 6,7 service network restart
问题3:
每天18点 到23点之间每隔30分钟重启network 服务
*/30 18-23 * * * service network restart
问题4 :
每隔 两天的上午8点到11点的第三和第15分钟执行一次重启
3,15 8-11 */2 * * reboot
案例:测试 每1分钟 网root目录中的rt.text 追加信息
计划任务
*/1 * * * * date +"\%F\%T" >>/root/rt.text
crontab权限问题 本身是任何用户都可以创建自己的计划任务,但是超级管理员可以通过配置来设置某县用户不允许设置计划任务。
配置文件 etc/cron.deny
进入配置 里面写用户名 一行一个即可
还有一个配置文件(白名单) 自创建
etc/cron.allow
**:注意。白名单优先级高于白名单**
权限管理
1. 权限概述
Ls -l
总叙述:linux一般可存或者可取的身份大体分为3个类别:owner,group,others,且3中身份都有read,write,execute 等权限
a. 权限介绍
什么是权限?
在多用户(不同时)计算机系统的管理中,权限是某个特定用户具有的系统资源使用权利。像是文件夹,特定系统指令的使用或存储量的限制
在linux中有读,写,执行权限:
读:
对于文件夹 读权限影响用户是否能列出目录结构
对于文件来说,读权限影响用户是否能查看文件内容
写:
对文件夹来说,写权限影响用户是否可以在文件夹下“创建/删除/复制、移动”文档
对于文档 写权限影响用户是否可以编辑文件内容
执行:
一般对于文件夹来说,特别是脚本文件。
b. 身份介绍
i. owner身份(文件所有者 默认为文档的创建者)
由于linux是多用户多任务的操作系统,所以我们需要设置权限,让文件具有私密性。
ii. group身份 (与文件所有者同族的用户)
组的概念
iii. others身份 (其他人)
iv. root用户 超级管理员
c. Linux 权限查看
ls -l

十位字符的表示含义
i. 第一位表示文档类型
- 表示文件
d表示文件夹
l表示软连接
s表示套接字
ii. 第2-4位 表示文档所有者的权限情况
1) 第二位表示读权限
2) 第三位表示写
3) 第四位表示执行
iii. 第5-7表示一个组中其它用户的权限
iv. 第8-10是其他用户
权限位置不会改变
2. 权限设置
语法 chmod 选项 权限模式 文档
注意事项
常用选项:
-r 递归设置权限 文件夹时使用
权限模式:就是该文档需要设置的权限信息
文档: 可以是文件也可以是文件夹 i可以是相对路径或者绝对路径
提权漏洞
a. 字母形式
给谁设置
i. U :表示给所有者身份owner (user)
ii. g:表示给同组其他用户 (group)
iii. O:表示others 给其他用户设置权限
iv. A :表示给所有人设置权限
如果在设置权限的时候不给别人设置权限。就是给所用户设置权限
权限字符
A w x
权限分配方式
+ 增加
- 删除
=表示将权限设置成具体的值

注意事项:
使用root 权限创建目录 他的权限是drwxr-xr-x
在子目录下再创建一个文件给予777权限
这个时候用other 用户无法删除文件 同样不允许创建文件/移动/重命名文件
属主与属组设置
属主:所属的主人(文件的主人)
属组:所属的用户组

左边是属主。右边是所属组
在创建文件时自动生成。(用户名,用户所属的主组名称)
删除某个用户 对应文件的属主和属组可以去修改
- Chown
作用:更改文档的所属用户
语法:#chown -R username 文件路径 - Chgrp
作用:更改文档的所属用户组
语法:chgrp -R groupname 文档路径
可以合起来一起实现两个功能 、
语法:chown -R username:groupname 文档路径
网络设置
首先要知道网卡的配置文件的路径:/etc/sysconfig/network-scripts
在目录中网卡的配置文件命名格式为ifcfg-名字
Onboot: 是否开机启动
bootproto:ip分配方式,dhcp表示动态主机自动分配
hwaddr:硬件地址,mac地址
重启网卡
重启服务: Systemctl restart network.service
(有的版本不能用)
有一个共性目录/etc/init.d
重启网卡还可以使用这个命令:
/etc/init.d/network restart
扩展: 如果要修改网卡的配置文件,但是目录很长,可以创建快捷方式也成软连接,方便去使用
ln -s 原始路径 快捷方式路径
Ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth0
通过ls -l
L 是是link 链接类型 后面的->的是原始路径
扩展2: 如何重启单个网卡?
停止某个网卡:#ifdown 网卡名
开启某个网卡:#ifup 网卡名
Ifdown ens33
Ifup ens33
提示:在实际工作不要随意重启或者禁用网卡
ubuntu 关闭防火墙
1 启用
sudo ufw enable
sudo ufw default deny
作用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。
2 关闭
sudo ufw disable
2 查看防火墙状态
sudo ufw status
3 开启/禁用相应端口或服务举例
sudo ufw allow 80 允许外部访问80端口
sudo ufw delete allow 80 禁止外部访问80 端口
sudo ufw allow from 192.168.1.1 允许此IP访问所有的本机端口
sudo ufw deny smtp 禁止外部访问smtp服务
sudo ufw delete allow smtp 删除上面建立的某条规则
sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22 要拒绝所有的TCP流量从10.0.0.0/8 到192.168.0.1地址的22端口
可以允许所有RFC1918网络(局域网/无线局域网的)访问这个主机(/8,/16,/12是一种网络分级):
sudo ufw allow from 10.0.0.0/8
sudo ufw allow from 172.16.0.0/12
sudo ufw allow from 192.168.0.0/16

浙公网安备 33010602011771号