Linux基础

课件

01-linux入门

第一章 Linxu基础1

1.1 网络安全介绍

护网行动是以公安部牵头的,用以评估企事业单位的网络安全的活动。

具体实践中。公安部会组织攻防两方,进攻方会在一个月内对防守方发动网络攻击,检测出防守方(企事业单位)存在的安全漏洞。

通过与进攻方的对抗,企事业单位网络、系统以及设备等的安全能力会大大提高。

“护网行动”是国家应对网络安全问题所做的重要布局之一。“护网行动”从2016年开始,随着我国对网络安全的重视,涉及单位不断扩大,越来越多的单位都加入到护网行动中,网络安全对抗演练越来越贴近实际情况,各机构对待网络安全需求也从被动构建,升级为业务保障刚需。

1.2 linux操作系统由来和介绍

软件:驱动硬件

硬件:看得见,摸得着

操作系统:特殊的软件,控制硬件,内核+软件操作系统:

unix(1969年诞生于贝尔实验室)

硬件-系统(hp-ux)-软件

BSD: freeBSD 黑莓

ios,mac os,苹果的 第一代 操作系统于1984年 发布

ms-dos 单任务

window 1.0 1985年发布 windows NT

开源 闭源

minix

linux: 1991年 林纳斯.托瓦兹 linux内核 1.0/GPL

现在的操作系统:多任务,多用户 GNU: 贡献了很多免费使用的软件 GPL 协议

gnu/linux:

红帽系 : fedora redhat centos 最稳定企业服务器操作系统centos6 2.6.32 centos7 3.10 centos8 4.10

debian系: ubuntu kali 国产linux 内核 5.10 版本新 人工智能 自动驾驶 大数据

suse: opensuse suse企业版

1.3 linux系统的安装

1. centos系统的安装

ios镜像下载地址:https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.8.2003/isos/x86_64/CentOS-7-x86_64-DVD-20  03.iso

1.4 远程连接linux

linux远程控制: telnet协议: 明文 ssh协议: 加密

第一步:查看ip地址 ip addr

1.5 linux系统的关机和重启

#远程登录linux系统
ssh [email protected]
#断开连接
exit
#重启系统
reboot
#立即关机
shutdown -h now
#十分钟之后关机
shutdown -h 10

1.6 linux文件的操作

#查看目录下的文件 ls全称list
例子1:ls test09.txt #查看test09.txt是否存在
例子2:ls *.txt   #查看以txt结尾的所有文件
例子3:ls -1    #以一行一个文件的方式显示
例子4:ls -a 文件名		
#查看所有文件,包括隐藏文件
例子5:ls -a -1
#查看所有文件,以一行一个来显示
以.开头的文件是隐藏文件,默认不显示
#查看目录下有哪些文件
ls

#新建文件 touch
例子1: touch 1.txt #创建单个文件
例子2: touch test{01..10}.txt #批量创建文件
例子3: touch /root/4.txt #在指定的/root目录下,创建文件4.txt

#新建一个文件
touch 文件名

#新建多个文件
touch {文件名..文件名}.文件类型

#删除
例子1: rm /opt/123.txt #将/opt目录下的123.txt文件删除,需要回复y确认删除 例子2: rm -f /opt/test01.txt #将/opt目录下的test01.txt文件删除,不需要回复

#删除一个目录,linux的参数大部分没有先后顺序 [root@localhost ~]# rm -fr dev [root@localhost ~]# rm -rf dev01 [root@localhost ~]# rm -f -r dev02 [root@localhost ~]# rm -r -f dev03
#删除文件
rm 文件名

#不提示直接删除
rm -f 文件名

#默认取消执行
ctrl+c

#复制
cp全称copy
例子1:cp test01.txt /opt/	#将当前目录下的test01.txt复制到/opt目录下例子2:cp -a dev04 /opt/	#将目录dev04复制到/opt下
#复制文件
cp 原文件 复制后的文件名

#重命名
mv全称move
例子1:mv .123.txt 123.txt	#将.123.txt文件重命名为123.txt
例子2:mv 123.txt /opt	#将当前目录下的123.txt移动到/opt目录下
#重命名文件
mv 原文件 重命名后的文件名

1.7 linux目录的操作

#创建文件夹 创建目录directory mkdir 全称make directory
例子1:mkdir dev	#创建一个dev目录
例子2:mkdir dev{01..10}	#批量创建多个目录
例子3:mkdir -p 1/2/3/4/5/6 #一次性创建多级子目录
#创建文件夹
mkdir 文件夹名

#切换目录
cd #全称change directory
例子1:
cd local #切换到子目录local
cd /usr/local #切换到目录/usr/local
cd .. #切换到上一级目录

#重命名目录
mv 原目录 重命名后的目录名

#复制目录
cp -a 原目录 复制后的目录名

#删除目录
rm -f -r 目录名
rm -r -f 目录名
rm -rf 目录名
rm -fr 目录名

1.8 文件和目录操作回顾

截至

#打印当前工作目录 print work directory
pwd

#文件详细信息
ls -l

1.9 vi文件编辑器

#vi编辑器
例子1: vi test03.txt	#编辑文件test03.txt
默认是常规模式,按ioa键进入编辑模式在编辑模式中按esc回到常规模式
常规模式按:进入命令模式 命令模式按esc回到常规模式

第二章 Linux基础2

2.1 centos7图形化界面

目录结构

相对路径:从所在目录开始绝对路径:从根开始

命令9:

/bin	#存放二进制的可执行文件,命令,特别重要,不能删除!
/boot	#开机启动需要的文件, 特别重要,不能删除! 
/dev	#device设备文件,特别重要,不能删除!
/etc	#存放配置文件,特别重要,不能删除! 
/home	#普通用户的家目录
/lib	#library 32位库,一般是so结尾,特别重要,不能删除! 
/lib64	#library 64位库,一般是so结尾,特别重要,不能删除! 
/media	#多媒体 (音乐 视频 文档)
/mnt	#mount挂载光盘,U盘 
/opt	#部分软件安装存储目录
/proc	#process进程 , 特别重要,不能删除! 
/root	#root用户的家目录,特别重要,不能删除! 
/run	#运行,程序运行的时候产生的文件
/sbin	#super bin超级用户才能使用的命令 ,特别重要,不能删除!
/srv	#源代码
/sys	#system系统目录 ,特别重要,不能删除! 
/tmp	#用来存放临时文件的目录
/usr	#用户级的目录,特别重要,不能删除!
/var	#variable 变化的文件,特别重要,不能删除!

命令11:

#统计
wc
wc -l按行统计,不会单独使用,需要接在管道后面例子1:
[root@localhost ~]# cat test03.txt |wc -l 18
[root@localhost ~]# cat -n test03.txt
1	sdsdsdsdsdsdsd是的是的
2	
3	sdsd 
4	65656
5	sdsd 
6	sdsd 
7	sdsd 
8	33333
9	565656565
10	33333
11	565656565
12	33333
13	565656565
14	33333
15	565656565
16	
17	
18	sdssds ;;;;

命令12:

#生成数字序列 seq
例子1:产生一个5到12的序列
[root@localhost ~]# seq 5 12
5
6
7
8
9
10
11
12
例子2:产生一个5到12等宽的序列
[root@localhost ~]# seq -w 5 12
05
06
07
08
09
10
11
12

命令13:

#切换目录
cd 全称 change directory
例子1:cd /opt

命令14:

#打印当前目录
pwd == print work directory
例子1:
[root@localhost opt]# pwd
/opt

命令15:

#按行过滤字符串
grep
例子1: #普通过滤
[root@localhost ~]# grep '3' test03.txt
33333
33333
33333
33333
例子2: #显示行号
[root@localhost ~]# grep -n '3' test03.txt
8:33333
10:33333
12:33333
14:33333

grep精准匹配-w

命令16:

#按列过滤
awk
例子1: 取列,$1代表第一列,$2代表第二列,$NF代表最后一列
[root@localhost ~]# cat test01.txt
row 1, cell 1 row 1, cell 2
row 2, cell 1 row 2, cell 2
[root@localhost ~]# awk '{print $1}' test01.txt
row
row
[root@localhost ~]# awk '{print $2}' test01.txt
1,
2,
例子2:以逗号,做分隔符
[root@localhost ~]# cat test01.txt
row 1, cell 1 row 1, cell 2
row 2, cell 1 row 2, cell 2
[root@localhost ~]# awk -F ',' '{print $1}' test01.txt
row 1
row 2
[root@localhost ~]# awk -F ',' '{print $NF}' test01.txt
cell 2
cell 2

命令17:

#排序
sort
例子1:
[root@localhost ~]# cat test02.txt
3
2
6
4
8
7
5
3
2
1
2
3
4
5
6
9
1
5
7
[root@localhost ~]# cat test02.txt|sort -n
1
1
2
2
2
3
3
3
4
4
5
5
5
6
6
7
7
8
9

命令18:

#统计去重
uniq
例子1:
[root@localhost ~]# cat test02.txt|sort -n
1
1
2
2
2
3
3
3
4
4
5
5
5
6
6
7
7
8
9
[root@localhost ~]# cat test02.txt|sort -n|uniq -c
2 1
3 2
3 3
2 4
3 5
2 6
2 7
1 8
1 9

6.用户和用户组管理

命令19:

#创建用户
useradd
#创建一个用户
例子1:useradd test1
#创建用户,并给用户指定用户组
例子2:
[root@localhost tmp]# useradd -g test1 test3
[root@localhost tmp]# id test3
uid=1002(test3) gid=1000(test1) 组=1000(test1)

命令20:

#设置密码
passwd
例子1:passwd test1
#用root用户给普通用户修改密码
[root@localhost ~]# passwd test1
更改用户 test1 的密码 。
新的 密码:123456
无效的密码: 密码是一个回文
重新输入新的 密码:123456
passwd:所有的身份验证令牌已经成功更新。
#普通用户自己修改密码
[test1@localhost ~]$ passwd
更改用户 test1 的密码 。
为 test1 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
无效的密码: 密码少于 8 个字符
新的 密码:
无效的密码: 密码少于 8 个字符
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
passwd: 已经超出服务重试的最多次数
[email protected]
1qaz@WSX
例子3:
#f交互修改密码
echo 123456|passwd --stdin test1

命令21:

#检查用户是否存在
id
例子1:
#用户存在,系统的返回结果
[root@localhost ~]# id test1
uid=1000(test1) gid=1000(test1) 组=1000(test1)
#用户不存在,系统的返回结果
[root@localhost ~]# id test2
id: test2: no such user

命令23:

#删除用户
userdel
例子1:
#被删除的用户还在登录状态
[root@localhost ~]# userdel test1
userdel: user test1 is currently used by process 2356
#被删除的用户,退出登录之后,可以正常删除
[root@localhost ~]# userdel test1

命令12:

#修改用户信息
usermode
#锁定用户
例子1:
[root@localhost ~]# usermod -L test1
[root@localhost ~]# lchage -l test1
帐号被锁。
至少: 0
至多: 99999
警告: 7
不活跃: 从不
最后一次改变: 2021年07月20日
密码过期: 从不
密码不活跃: 从不
帐号过期: 从不
#禁止用户登录
[root@localhost ~]# usermod -s /sbin/nologin test2
[root@localhost ~]# grep -w 'test2' /etc/passwd
test2:x:1001:1001::/home/test2:/sbin/nologin

命令24:

#查看用户详细信息
lchage
例子1:
[root@localhost ~]# lchage -l test1
帐号没被锁。
至少: 0
至多: 99999
警告: 7
不活跃: 从不
最后一次改变: 2021年07月20日
密码过期: 从不
密码不活跃: 从不
帐号过期: 从不

所有的用户信息存储在/etc/passwd文件中

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd
daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
test1:x:1000:1000::/home/test1:/bin/bash

#passwd文件解释
root:x:0:0:root:/root:/bin/bash
test1:x:1000:1000::/home/test1:/bin/bash
test2:x:1001:1001::/home/test2:/sbin/nologin
test3:x:1002:1000::/home/test3:/sbin/nologin
haha:x:1004:1004:putong user:/home/haha:/bin/bash
第一列:用户名
第二列:x
第三列:uid
第四列:gid
第五列:注释,一般为空
第六列:家目录的位置
第七列:使用shell的名称,默认使用/bin/bash

所有的用户密码信息存储/etc/shadow

[root@localhost ~]# cat /etc/shadow
root:$6$QM3AHtFflOvGbCnt$2wTYZrnO8c66vycaxprE79G.I7hiy8EqXntG86FXxqlSawjtKoTjAnA
a9xFA3ad1QpFskJRPt0QeDPBnZZAdx0::0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
adm:*:18353:0:99999:7:::
lp:*:18353:0:99999:7:::
sync:*:18353:0:99999:7:::
shutdown:*:18353:0:99999:7:::
halt:*:18353:0:99999:7:::
mail:*:18353:0:99999:7:::
operator:*:18353:0:99999:7:::
games:*:18353:0:99999:7:::
ftp:*:18353:0:99999:7:::
nobody:*:18353:0:99999:7:::
systemd-network:!!:18827::::::
dbus:!!:18827::::::
polkitd:!!:18827::::::
tss:!!:18827::::::
abrt:!!:18827::::::
sshd:!!:18827::::::
postfix:!!:18827::::::
chrony:!!:18827::::::
test1:$6$7PLnhlcr$4SCHINbWrameVSn6rxYgDOeUBwvYOHVbEOIudtNxWXIl5ULSt1Om8FvK6R3s9f
I0qNef1vq8NhVMNJwudmfkM1:18828:0:99999:7:::

命令12:

命令12:

命令12:

7.权限管理
root用户权限最高
user普通用户
users用户组
文件权限
命令25
[root@localhost ~]# cat /etc/shadow
root:$6$QM3AHtFflOvGbCnt$2wTYZrnO8c66vycaxprE79G.I7hiy8EqXntG86FXxqlSawjtKoTjAnA
a9xFA3ad1QpFskJRPt0QeDPBnZZAdx0::0:99999:7:::
bin::18353:0:99999:7::: daemon::18353:0:99999:7:::
adm::18353:0:99999:7::: lp::18353:0:99999:7:::
sync::18353:0:99999:7::: shutdown::18353:0:99999:7:::
halt::18353:0:99999:7::: mail::18353:0:99999:7:::
operator::18353:0:99999:7::: games::18353:0:99999:7:::
ftp::18353:0:99999:7::: nobody::18353:0:99999:7:::
systemd-network:!!:18827::::::
dbus:!!:18827::::::
polkitd:!!:18827::::::
tss:!!:18827::::::
abrt:!!:18827::::::
sshd:!!:18827::::::
postfix:!!:18827::::::
chrony:!!:18827::::::
test1:$6$7PLnhlcr$4SCHINbWrameVSn6rxYgDOeUBwvYOHVbEOIudtNxWXIl5ULSt1Om8FvK6R3s9f
I0qNef1vq8NhVMNJwudmfkM1:18828:0:99999:7:::
r 4 代表读权限 read
w 2 代表写权限 write
x 1 代表执行权限

  • 0 空权限位
    权限值表
    0 —
    1 –x
    2 -w-
    3 -wx
    4 r–
    5 r-x
    6 rw-
    7 rwx
    rw- r– r–
    user group other
    命令26

Tags:

No responses yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注