linux基礎操作11------(運行級別)

一.前言

這個是linux最后一章節內容,主要還是介紹一下,這個就和安全有關系了,內容還是很多的,但是呢,大家還是做個了解就好了。

二.權限掩碼

運行級別 0 關機

運行級別 1 單用戶 ,這個類似于windows安全模式,可以用于找回密碼等操作。

運行級別 2 不帶網絡的多用戶 ,這種是不能聯網的。

運行級別 3 完整的多用戶模式 multi-user.target , 我們平常使用的模式

運行級別 4 保留

運行級別 5 桌面模式 graphical.target , 桌面版系統就是這個模式,如果不想開機進入圖形化界 面,就需要修改運行級別,可以試一下

運行級別 6 重啟

centos6是通過數字來設置,centos7都不是用數字了,而是用下面的方式,不過數字設置依然有效:

#切換運行級別

init

# 執行init 6,就會重啟,執行init 0就會關機

#查看運行級別

runlevel

systemctl get-default #

#設置運行級別,設置之后一重啟就改變了

systemctl set-default graphical.target #設置默認運行級別為圖形,注意沒有安裝圖形化界面 工具的話是不能切換為桌面版的

systemctl set-default multi-user.target #設置默認運行級別為命令行?

2.1 掩碼

查看掩碼值

umask

[root@localhost ~]# umask
0022

這個值就決定著我們創建文件的初始權限,比如我們創建個目錄和文件,如下

[root@localhost ~]# mkdir jaden

[root@localhost ~]# touch wulaoban.txt

[root@localhost ~]# ll -h

總用量 4.0K

-rw-------. 1 root root 1.3K 3月 15 20:14 anaconda-ks.cfg

drwxr-xr-x 2 root root 6 3月 27 09:29 jaden

-rw-r--r-- 1 root root 0 3月 27 09:29 wulaoban.txt

# 可以看到,目錄的初始權限為755,文件的初始權限為644。這些權限都是通過umask掩碼計算得來的。

# 文件權限計算:0666-0022 = 0644

# 目錄權限計算:0777-0022 = 0755?

我們還可以修改掩碼值來控制初始文件和文件夾的權限:

#修改文件vim /etc/profile,找到umask來修改

root 默認權限掩碼 022

普通用戶 默認權限掩碼 002?

2.2?inode和block?

inode :存儲除文件名以外的屬性,比如文件路徑,inode全稱index node,索引節點的意思。索引主 要是用于方便我們進行文件查找的。我們也叫它為目錄文件。

block: 存儲文件的內容。?

[jaden@localhost ~]$ df -h #查看硬盤空間

文件系統 容量 已用 可用 已用% 掛載點

devtmpfs 980M 0 980M 0% /dev

tmpfs 991M 0 991M 0% /dev/shm

tmpfs 991M 9.6M 981M 1% /run

tmpfs 991M 0 991M 0% /sys/fs/cgroup

/dev/sda1 100G 2.0G 98G 2% /

tmpfs 199M 0 199M 0% /run/user/0

tmpfs 199M 0 199M 0% /run/user/1000

[jaden@localhost ~]$ df -ih # 查看inode空間

文件系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點

devtmpfs 245K 369 245K 1% /dev

tmpfs 248K 1 248K 1% /dev/shm

tmpfs 248K 707 247K 1% /run

tmpfs 248K 16 248K 1% /sys/fs/cgroup

/dev/sda1 50M 60K 50M 1% /

tmpfs 248K 1 248K 1% /run/user/0

tmpfs 248K 1 248K 1% /run/user/1000

可以看到我們的虛擬機,硬盤100G,inode空間為50M,所以其實硬盤會劃分兩個空間,一個是存數據 的空間,一個是存文件索引的空間。每個文件會用多個block塊來存儲,這個block就類似于windows上 我們說的簇,文件數據的最小存放空間單元,每個文件都會有一條目錄索引記錄到inode空間中,方便 以后我們找尋找個文件。

?

我們在linux上創建文件的時候,可能會看到一個報錯信息: No space left on device ,意思是沒有 可用空間了。說明要么是硬盤確實存滿了,要么是inode空間存滿了,如果是inode空間存滿了,那么就 去刪除那些臨時文件或者一些無用的空文件、小文件等等來清理inode空間。?

三.特殊權限?

講這個的原因是,后期安全課程中有一個叫做提權的概念,可以借助到特殊權限來進行權限提升,讓普 通用戶能變為root用戶。

3.1 suid

例子1:

passwd 是用來修改密碼的一個命令文件

[root@localhost ~]# passwd jaden

#看一下passwd文件的權限

[root@localhost ~]# ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd

# 可以看到ugo權限組合中的u權限rws,這個s其實就是x權限,但是s就是用來標記這個文件是一個具有suid權限的特殊執行文件。由于權限位只有9位,所以特殊權限的執行權限用s代替了x。

# 有執行權限的時候是小寫的s,去掉用戶的執行權限之后,這個地方是大寫的S。如下[root@localhost ~]# chmod u-x /usr/bin/passwd

[root@localhost ~]# ll /usr/bin/passwd

-rwSr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd

# 再將執行權限加回來,看效果,又變回了小s

[root@localhost ~]# ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd

# 那么,為什么會給這個文件一個叫做suid的權限呢?這個文件是用來修改密碼的執行文件,普通用戶是不是 也可以修改自己的密碼啊,對吧,但是修改密碼修改的是/etc/shadow文件內容,看一下/etc/shadow文件 權限:

[root@localhost ~]# ll /etc/shadow

---------- 1 root root 768 3月 27 10:45 /etc/shadow

# /etc/shadow文件權限是000,普通用戶根本就沒有修改這個文件的權限。因為如果普通用戶能修改這個文件,那么root用戶的密碼就能被普通用戶修改了,這就很不安全,對吧。但是每次改密碼都找root用戶,也 是很麻煩的,所以普通用戶也有自己改密碼的需求,這怎么辦。比如我們登錄一下普通用戶,修改一下密碼試試?

[jaden@localhost ~]$ passwd

更改用戶 jaden 的密碼 。

為 jaden 更改 STRESS 密碼。

(當前)UNIX 密碼: # 普通用戶修改密碼,必須要輸入原來的密碼,root用戶不需要

新的 密碼: # 而且密碼復雜度要高,比如我設置的是123@qq.com,才行

無效的密碼: 密碼少于 8 個字符

[jaden@localhost ~]$ passwd

更改用戶 jaden 的密碼 。

為 jaden 更改 STRESS 密碼。

(當前)UNIX 密碼: 新的 密碼:

重新輸入新的 密碼:

passwd:所有的身份驗證令牌已經成功更新。

# 普通用戶修改密碼其實比較麻煩,要輸入原密碼、還要將密碼復雜度加高。

# 普通用戶也要用passwd修改密碼,有這種需求,所以給系統給passwd執行文件了一個特殊權限,就是s。

[root@localhost ~]# ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd

# 那么普通用戶使用這個文件的時候,可以擁有這個文件屬主的執行權限,也就是root的x權限。所以我們看 到普通用戶可以使用passwd來修改自己的密碼,這就是suid權限的意思,但是只能修改當前自己的用戶密 碼,而且是用的root身份來執行的,如下,用普通用戶修改一下root用戶的密碼,看看效果

[jaden@localhost ~]$ passwd root

passwd:只有根用戶才能指定用戶名。 # 只有root用戶才能指定用戶名來修改某個用戶的密碼,普通用戶 不能指定用戶名,只能修改自己的。

# 如果將passwd文件的s權限去掉了,那么普通用戶就沒有修改密碼的能力了,如下[root@localhost ~]# chmod u-s /usr/bin/passwd

[root@localhost ~]# ll /usr/bin/passwd

-rwxr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd

# 切換到普通給用戶修改密碼看效果:

[jaden@localhost ~]$ passwd

更改用戶 jaden 的密碼 。

為 jaden 更改 STRESS 密碼。

(當前)UNIX 密碼:

新的 密碼: # abc.123.xx

重新輸入新的 密碼:

passwd: 鑒定令牌操作錯誤

# 發現密碼修改不了了。因為passwd沒有了suid權限。、

# 我們把suid權限再給加回去就可以了。

[root@localhost ~]# chmod u+s /usr/bin/passwd

[root@localhost ~]# ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd

例子2:

netstat -ltp

# root用戶身份運行,結果如下

[root@localhost ~]# netstat -ltp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

PID/Program name

tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN

1185/sshd

tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN

1330/master

tcp6 0 0 [::]:ssh [::]:* LISTEN

1185/sshd

tcp6 0 0 localhost:smtp [::]:* LISTEN 1330/master

#普通用戶運行,結果如下

[jaden@localhost ~]$ netstat -ltp #p參數普通用戶不能使用

(No info could be read for "-p": geteuid()=1000 but you should be root.) # 看到了 一個報錯提示,并且PID數據沒顯示

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

PID/Program name

tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN

-

tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN

-

tcp6 0 0 [::]:ssh [::]:* LISTEN

-

tcp6 0 0 localhost:smtp [::]:* LISTEN

-

# 給netstat執行文件加上suid權限

[root@localhost ~]# chmod u+s /usr/bin/netstat

[root@localhost ~]# ll /usr/bin/netstat

-rwsr-xr-x. 1 root root 155008 8月 9 2019 /usr/bin/netstat

#普通用戶再運行,就不報錯了,而且看到了PID數據

[jaden@localhost ~]$ netstat -ltp
Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

PID/Program name

tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN

1185/sshd

tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN

1330/master

tcp6 0 0 [::]:ssh [::]:* LISTEN

1185/sshd

tcp6 0 0 localhost:smtp [::]:* LISTEN

1330/master

#加上suid權限,就表示普通用戶使用這個執行文件的時候,會用root的身份來運行。#這是suid的作用,但是好多黑客利用它來進行惡意的權限提升。

sgid 其他用戶,擁有該文件屬組的權限 locate 針對命令文件,一般是讀取文件,不能用來搞事情,所 以簡單了解一下即可。

# 這個sgid,我找了很久,也就找到一個例子,就是這個locate指令。

# 先安裝一下locate指令,如果不知道安裝哪個軟件包,就查詢一下yum provides locate

# yum install mlocate.x86_64 -y # 需要用root用戶來安裝
?

[root@localhost ~]# locate

locate: 沒有指定任何搜索模式[

root@localhost ~]# touch test.txt

[root@localhost ~]# locate test.txt

locate: 無法執行 stat () `/var/lib/mlocate/mlocate.db': 沒有那個文件或目錄

[root@localhost ~]# ls

anaconda-ks.cfg jaden jaden2 test.txt wu2.txt wulaoban.txt

[root@localhost ~]# locat wulaoban.txt

-bash: locat: 未找到命令

[root@localhost ~]# locate wulaoban.txt

locate: 無法執行 stat () `/var/lib/mlocate/mlocate.db': 沒有那個文件或目錄

[root@localhost ~]# updatedb # 更新一下文件路徑記錄的緩存,就可以通過locate查看到文件的路徑了。

[root@localhost ~]# locate wulaoban.txt

/root/wulaoban.txt

[root@localhost ~]# ll /var/lib/mlocate/mlocate.db

-rw-r----- 1 root slocate 1389239 3月 27 13:43 /var/lib/mlocate/mlocate.db

[root@localhost ~]# which locate

/usr/bin/locate

[root@localhost ~]# ll /usr/bin/locate

-rwx--s--x 1 root slocate 40520 4月 11 2018 /usr/bin/locate

[root@localhost ~]# chmod g-x /usr/bin/locate

[root@localhost ~]# ll /usr/bin/locate

-rwx--S--x 1 root slocate 40520 4月 11 2018 /usr/bin/locate

[root@localhost ~]# chmod g+x /usr/bin/locate

[root@localhost ~]# ll /usr/bin/locate

-rwx--s--x 1 root slocate 40520 4月 11 2018 /usr/bin/locate?

#切換到普通用戶

[jaden@localhost ~]$ ls

jaden jaden2 jaden2.txt jaden.txt

[jaden@localhost ~]$ locate jaden.txt # 普通用戶也是在slocate組的,所以可以通過locate

查看文件路徑

/home/jaden/jaden.txt

[jaden@localhost ~]$ updatedb

updatedb: 無法為 `/var/lib/mlocate/mlocate.db' 打開臨時文件

[jaden@localhost ~]$ ll /usr/bin/locate

-rwx--s--x 1 root slocate 40520 4月 11 2018 /usr/bin/locate

# 這個簡單了解一下即可。

sticky 叫做粘滯位,這個是針對目錄的權限,很多用戶共同使用的目錄,實現用戶之間不能互相刪除改 變對方的文件的權限

# 例子:

[jaden@localhost ~]$ ll /

總用量 20

lrwxrwxrwx. 1 root root 7 3月 15 20:10 bin -> usr/bin

dr-xr-xr-x. 5 root root 4096 3月 15 20:14 boot

...

drwxrwxrwt. 13 root root 4096 3月 27 13:58 tmp # 可以看到一個權限位是t,所有用戶都有 這個目錄的操作權限。

# 為什么需要這么個權限呢?我們自行搞一個目錄來看效果:

[root@localhost ~]# cd /

[root@localhost /]# mkdir data

[root@localhost /]# chmod 777 data

[root@localhost /]# ll

總用量 20

lrwxrwxrwx. 1 root root 7 3月 15 20:10 bin -> usr/bin

dr-xr-xr-x. 5 root root 4096 3月 15 20:14 boot

drwxrwxrwx 2 root root 6 3月 27 14:01 data

drwxr-xr-x 19 root root 3160 3月 27 09:22 dev

# 切換到普通用戶,去data目錄中寫入文件

[jaden@localhost ~]$ cd /data/

[jaden@localhost data]$ touch jaden.txt

[jaden@localhost data]$ ls jaden.txt

# 再切換到root下,寫文件

[root@localhost /]# cd data/

[root@localhost data]# touch root.txt

[root@localhost data]# ll

總用量 0

-rw-rw-r-- 1 jaden jaden 0 3月 27 14:02 jaden.txt

-rw-r--r-- 1 root root 0 3月 27 14:03 root.txt?

# 現在這個data目錄的權限是777,所以任意用戶都可以往里面寫文件。

# 再切換回普通用戶,來刪除一下root用戶創建的root.txt

[jaden@localhost data]$ ll

總用量 0

-rw-rw-r-- 1 jaden jaden 0 3月 27 14:02 jaden.txt

-rw-r--r-- 1 root root 0 3月 27 14:03 root.txt

[jaden@localhost data]$ rm -rf root.txt

[jaden@localhost data]$ ll

總用量 0

-rw-rw-r-- 1 jaden jaden 0 3月 27 14:02 jaden.txt

# 刪除成功了。這就容易混亂了,不同用戶之間的文件都可以互相修改刪除等。

# 創建data目錄的目的就是讓大家共享這個目錄,但是不能讓用戶做一些惡意的操作,比如惡意刪除其他用戶 創建的文件,那么就可以用到sticky 粘滯位來標記這個目錄,如下[root@localhost data]# chmod o+t /data/

[root@localhost data]# cd ..

[root@localhost /]# ll

總用量 20

lrwxrwxrwx. 1 root root 7 3月 15 20:10 bin -> usr/bin

dr-xr-xr-x. 5 root root 4096 3月 15 20:14 boot

drwxrwxrwt 2 root root 23 3月 27 14:04 data

drwxr-xr-x 19 root root 3160 3月 27 09:22 dev

# 此時再用root在data目錄中去創建個root.txt文件

[root@localhost /]# cd data/

[root@localhost data]# touch root.txt

[root@localhost data]# ll

總用量 0

-rw-rw-r-- 1 jaden jaden 0 3月 27 14:02 jaden.txt

-rw-r--r-- 1 root root 0 3月 27 14:08 root.txt

# 再切換到普通用戶,刪除root.txt試試

[jaden@localhost data]$ ll

總用量 0

-rw-rw-r-- 1 jaden jaden 0 3月 27 14:02 jaden.txt

-rw-r--r-- 1 root root 0 3月 27 14:08 root.txt

[jaden@localhost data]$ rm -rf root.txt

rm: 無法刪除"root.txt": 不允許的操作

# 粘滯位保護了共享目錄中,不同用戶之間不能互相刪除對方的文件。

# /tmp/目錄就是這么一個目錄。

查看 /tmp 目錄的權限?

[root@localhost data]# stat /tmp

????????文件:"/tmp"

????????大小:4096 塊:8 IO 塊:4096 目錄

設備:801h/2049d Inode:75 硬鏈接:13

權限:(1777/drwxrwxrwt) ... # 1777,這個1就是粘滯位權限的值,suid這個值是4,sgid這個值是2。

四.su和sudo

4.1 su?

su全稱:switch user

# root用戶可以很方便的切換到任意用戶

[root@localhost ~]# su - jaden

上一次登錄:一 3月 27 15:03:29 CST 2023從 192.168.2.110pts/1 上

[jaden@localhost ~]$ ls

jaden jaden2 jaden2.txt jaden.txt?

[jaden@localhost ~]$ exit # 退出,又回到root用戶了

登出

[root@localhost ~]#

# 普通用戶切換到root用戶,必須輸入root密碼

[jaden@localhost ~]$ su - root

密碼: # 需要輸入root用戶的密碼

上一次登錄:一 3月 27 10:48:24 CST 2023從 192.168.2.110pts/0 上

[root@localhost ~]# exit

登出

[jaden@localhost ~]$

# 不帶-也是可以的,帶-的話,就是切換完用戶之后,直接到用戶家目錄下,不帶-就不是家目錄。

[jaden@localhost ~]$ su root

密碼:

[root@localhost jaden]# exit

4.2?sudo?

sudo全稱:superuser do,它的作用是用來授權的。就是給普通用戶高級權限用的。原因就是很多的操 作,如果都需要root用戶去做,太麻煩了,所以可以給普通用戶做一些授權,普通用戶操作就方便了。 授權就用到了sudo,sudo并不是一下子給用戶很多權限,而是一個命令一個命令的授權。

sudo需要修改配置才能開啟。?

# root用戶才能修改這個配置。

1.配置/etc/sudoers

# 直接visudo就能編輯這個文件

[root@localhost ~]# visudo

#用戶名 所有終端 = 運行的用戶身份 命令ALL,ALL是所有指令,不能給所有的,不然權限太高了

#在100行下面添加如下內容

jaden ALL=(ALL) /bin/systemctl,/usr/bin/vim,/usr/sbin/reboot # 單獨給指令 權限,而且要寫指令的絕對路徑,逗號分割

# 修改完配置文件,保存退出之后,立馬就生效了,不需要重啟或者重新登錄。

#切換到普通用戶,查看可以使用的授權命令

sudo -l

[jaden@localhost ~]$ sudo -l

我們信任您已經從系統管理員那里了解了日常注意事項。

總結起來無外乎這三點:

????????#1) 尊重別人的隱私。

????????#2) 輸入前要先考慮(后果和風險)。

????????#3) 權力越大,責任越大。

[sudo] jaden 的密碼: # 需要輸入jaden用戶的密碼

匹配 %2$s 上 %1$s 的默認條目:

????????!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset,

????????env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME

????????LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",

????????env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE?

????????LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

用戶 jaden 可以在 localhost 上運行以下命令: # 提示可以使用sudo來執行的命令

????????(ALL) /bin/systemctl, /usr/bin/vim, /usr/sbin/reboot

[jaden@localhost ~]$

2.使用sudo執行命令

# 授權的命令使用起來和普通指令是不同的,需要使用sudo來執行命令,也就是以授權的方式來執行指令。

# 比如reboot重啟

[jaden@localhost ~]$ sudo reboot

Connection closing...Socket close.

Connection closed by foreign host.

...

# 比如重啟網卡

# sudo systemctl restart network #start,stop,restart

# 比如:vim權限

[jaden@localhost ~]$ vim /etc/shadow

[jaden@localhost ~]$ sudo vim /etc/shadow

# 注意,vim的權限很大,比如可以修改密碼,可以修改授權配置文件等,甚至root用戶的密碼都可以修改, 所以不要將vim的root權限給普通用戶。

五.linux普通用戶提權?

5.1?sudo提權?

就是我們進行sudo授權時給的授權太高,或者給授權時控制的不合理,就會被普通用戶利用來提權。

示例1:

vim # 命令模式執行: !/

????????# 通過vim修改/etc/sudoers,授權ALL

????????# 再通過vim進入一個文件

????????# :輸入指令,是可以直接輸入系統指令的,前面加一個!即可,比如創建一個文件,!touch 3.txt

????????# 查看3.txt信息如下

????????[jaden@localhost ~]$ ll

????????總用量 0

????????-rw-r--r-- 1 root root 0 3月 27 17:05 3.txt # 以root用戶身份創建的文件

????????# 如果在vim文件時,執行!/bin/bash,就進入到了root的命令終端,可以為所欲為。

????????# 這就是sudo提權,但是sudo提權需要借助到可以執行系統指令的交互式的功能,比如vim。

示例2:

????????find # sudo find . -exec bash \; # 直接進入root的命令終端,這個指令退出root終端可能 要退好幾次才行,看find找到了幾個文件,找到了3個文件,就輸入三次exit才能退出。

示例3:

????????awk # sudo awk 'BEGIN {system("/bin/bash")}' jaden.txt # 直接進入到root命令終 端,exit直接退出。

# 還有好多指令可以提權,比如cp命令也可以提權,將其他電腦上的/etc/shadow文件拷貝到這個系統中, 密碼就改掉了,再su切換到root即可等等,還有什么mv、vi、sed修改文件、chmod改重要文件權限等等這 里就不多提了。大家可以試試,普通用戶使用sudo來修改shadow文件的root用戶的密碼。?

5.2?臟牛提權?

dcow全稱dirty cow,臟牛,原理:Linux內核的內存子系統在處理寫入時復制(copy-on-write, COW, 組合起來是牛的意思)時產生了競爭條件。惡意用戶可利用此漏洞,來獲取高權限,對只讀內存映射進 行寫訪問,所以大家都管這個提權方式叫做臟牛提權。原理這一塊大家不需要掌握,會監測是否存在這 個漏洞即可。

倉庫地址:https://github.com/gbonacini/CVE-2016-5195

# github上對它有介紹,比如哪些版本的系統有這樣的漏洞。要某個系統版本和gcc版本同時滿足的時候才會 有這個漏洞,我們的centos7.8雖然系統版本能對上,但是gcc版本高,對不上,所有沒有這個漏洞,不能用 這個程序提權,所以我給大家準備了一個虛擬機系統,大家打開直接用來玩玩即可。?

#上傳文件 臟牛提權.zip

unzip 臟牛提權.zip

cd CVE-2016-5195-master/

make ????????#編譯

./dcow -s ????????#提權

# 看內核版本,比如我們使用的

[jaden@dms CVE-2016-5195-master]$ cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)?

說明這個系統有這個漏洞,解決這個漏洞就是升級系統或者升級gcc軟件版本。也可以用我們的centos7.8自己試試,應該是不能提權。

六.總結?

本期的linux基礎到這已經全部更新完,本期還涉及到了網路安全的內容,大家做個小知識了解一下就好了,后期還會更新其他的知識點,期待大家的點贊關注加收藏。?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906498.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906498.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906498.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

QT+Visual Studio 配置開發環境教程

一、QT架構 Qt Creator 是一個輕量級、跨平臺的 IDE,專為 Qt 開發量身打造,內置對 qmake/CMake 的深度支持、Kits 配置管理、原生 QML 調試器以及較低的資源占用維基百科。 而在 Windows 環境下,Visual Studio 配合 Qt VS Tools 擴展則可將 Q…

(2)JVM 內存模型更新與 G1 垃圾收集器優化

JVM 內存模型更新與 G1 垃圾收集器優化 🚀 掌握前沿技術,成為頂尖 Java 工程師 2?? JVM 內存模型更新 👉 點擊展開題目 JVM內存模型在Java 17中有哪些重要更新?如何優化G1垃圾收集器在容器化環境的表現? &#x1…

TASK04【Datawhale 組隊學習】構建RAG應用

目錄 將LLM接入LangChain構建檢索問答鏈運行成功圖遇到的問題 langchain可以便捷地調用大模型,并將其結合在以langchain為基礎框架搭建的個人應用中。 將LLM接入LangChain from langchain_openai import ChatOpenAI實例化一個 ChatOpenAI 類,實例化時傳入超參數來…

springAI調用deepseek模型使用硅基流動api的配置信息

查看springai的官方文檔,調用deepseek的格式如下: spring.ai.deepseek.api-key${your-api-key} spring.ai.deepseek.chat.options.modeldeepseek-chat spring.ai.deepseek.chat.options.temperature0.8 但是硅基流動的格式不是這樣,這個傘兵…

SpringMVC 通過ajax 實現文件的上傳

使用form表單在springmvc 項目中上傳文件,文件上傳成功之后往往會跳轉到其他的頁面。但是有的時候,文件上傳成功的同時,并不需要進行頁面的跳轉,可以通過ajax來實現文件的上傳 下面我們來看看如何來實現: 方式1&…

Docker安裝Fluentd采集中間件

Fluentd 簡介 :Fluentd 是一個高性能、可擴展的數據收集與聚合工具,能夠統一數據收集和消費,實現各種數據源到各種數據接收器的高效傳輸,廣泛應用于日志收集等領域。 功能特點 : 統一日志收集 :支持從各種…

07SpringMVC底層形象解析

目錄 一、基于餐廳比喻的代碼示例 ,幫助你理解各組件間的協作關系 1. DispatcherServlet 配置(服務員) 2. HandlerMapping 配置(菜單索引) 3. Controller 實現(廚師) 4. Service 層&#x…

eclipse 生成函數說明注釋

在Eclipse中生成函數說明注釋(JavaDoc風格)可以通過以下方法實現: 快捷鍵方式: 將光標放在函數上方輸入/**后按回車鍵Eclipse會自動生成包含參數和返回值的注釋模板 菜單方式: 選中函數點擊菜單欄 Source > Gen…

【題解-洛谷】P6180 [USACO15DEC] Breed Counting S

題目:P6180 [USACO15DEC] Breed Counting S 題目描述 Farmer John 的 N N N 頭奶牛,從左到右編號為 1 …

基于Android的XX校園交流APP

開發語言:Java框架:ssmAndroidJDK版本:JDK1.8服務器:tomcat7數據庫:mysql 5.7數據庫工具:Navicat12開發軟件:eclipse/myeclipse/ideaMaven包:Maven3.3.9 系統展示 APP登錄 APP首頁…

25、工業防火墻 - 工控網絡保護 (模擬) - /安全與維護組件/industrial-firewall-dcs-protection

76個工業組件庫示例匯總 工業防火墻 - 工控網絡保護 (模擬) 概述 這是一個交互式的 Web 組件,旨在模擬工業防火墻在保護關鍵工控網絡(特別是 DCS - 分布式控制系統)免受網絡攻擊(如勒索軟件傳播)方面的核心功能。組件通過可視化簡化的網絡拓撲、模擬網絡流量、應用防火…

kotlin flow的兩種SharingStarted策略的區別

一 兩種 SharingStarted 策略的區別: SharingStarted.Eagerly: 立即開始收集上游流,即使沒有下游訂閱者持續保持活躍狀態,直到 ViewModel 被清除優點:響應更快,數據始終保持最新缺點:消耗更多資源&#x…

Windows_RustRover Rust語言開發環境構建

Windows_RustRover Rust語言開發環境構建 一、Rust語言簡介(一)起源與發展(二)語言特點(三)應用場景(四)社區與生態 二、RustRover(一)主要功能(二…

XCOSnTh-fatfsShell

#include "XCOSnTh.h" #include "ff.h" #include "stdio.h" static char pwd[1024]"1:"; static char pwdCount2; FRESULT lsExe(char *path,int(*printf)(const char* format, ...)) {FRESULT res;DIR dir;FILINFO fno;// 打開根目錄…

篇章十 消息持久化(二)

目錄 1.消息持久化-創建MessageFileManger類 1.1 創建一個類 1.2 創建關于路徑的方法 1.3 定義內部類 1.4 實現消息統計文件讀寫 1.5 實現創建消息目錄和文件 1.6 實現刪除消息目錄和文件 1.7 實現消息序列化 1. 消息序列化的一些概念: 2. 方案選擇&#xf…

中間件-seata

分布式事務seata 角色組成角色指責AT模式TCC模式 角色組成 TC:事務協調者,維護全局和分支事務的狀態,驅動全局事務提交或回滾。TM:事務管理者,定義全局事務的范圍:開始全局事務、提交或回滾全局事務。RM&am…

python代碼繪制某只股票最近90天的K線圖、均線、量能圖

運行代碼,要求輸入股票代碼和名稱,其他參數可省略 import akshare as ak import matplotlib.pyplot as plt import pandas as pd import mplfinance as mpf import matplotlib.dates as mdates import numpy as np import os from datetime import date…

Xilinx 7Series\UltraScale 在線升級FLASH STARTUPE2和STARTUPE3使用

一、FPGA 在線升級 FPGA 在線升級FLASH時,一般是通過邏輯生成SPI接口操作FLASH,當然也可以通過其他SOC經FPGA操作FLASH,那么FPGA就要實現在啟動后對FLASH的控制。 對于7Series FPGA,只有CCLK是專用引腳,SPI接口均為普…

Azure 應用服務中的異常處理、日志記錄和通知:綜合指南

簡介 Azure 應用服務是基于云的應用程序,使開發人員能夠在云上構建、部署和管理應用程序。與任何應用程序一樣,制定適當的異常處理、日志記錄和通知實踐至關重要,以確保應用程序平穩運行,并快速識別和解決任何問題。在本篇博文中&…

Java 應用如何實現 HTTPS:加密數據傳輸的實用指南

Java 應用如何實現 HTTPS:加密數據傳輸的實用指南 在當今的互聯網環境中,數據安全至關重要,HTTPS 作為加密的數據傳輸協議,為 Java 應用提供了安全通信的保障。本文將深入探討 Java 應用如何實現 HTTPS,通過詳細代碼實…