03-許可權管理\rpm軟體包管理\yum工具
阿新 • • 發佈:2020-10-13
一、什麼是許可權
# 許可權主要用來約束使用者能對系統所做的操作
二、為什麼要使用許可權
# 因為系統中不可能只存在一個root使用者,一定會有多個使用者, # 為了保護每個登陸使用者的隱私和工作環境,所以就有了許可權。
三、許可權與使用者之間的關係
# 1.系統為每個檔案定義了三種身份, 屬主, 屬組, 其他人 # 2.每一種身份分別對應了三種許可權, r 讀 w 寫 x 執行
""" [root@kxq-pythonedu ~]# ll useradd_2.sh -rw-r-----. 1 adm root 618 9月 28 11:27 useradd_2.sh 三個使用者訪問檔案: adm: 按照檔案的所屬主身份進行訪問,而所屬主定義的身份為 rw- 讀寫許可權 kxq(root): 按照檔案的所屬組身份進行訪問,而所屬組定義的身份為 r-- 只有讀許可權 gougou: 按照檔案的其他人身份進行訪問,而其他人定義的身份為 --- 無許可權"""
1、許可權中的rwx是幹什麼的
""" 字母 含義 對應許可權 r(read) 讀取許可權 4 w(write) 寫入許可權 2 x(execute) 執行許可權 1 -(沒有許可權) 沒有許可權 0 644 rw-r--r-- 755 rwxr-xr-x """
示例:
rwxrw-r-- alice hr file1.txt
""" file1.txt檔案屬於alice所擁有, 屬於hr組成員擁有, alice擁有 rwx 讀寫執行 hr組擁有讀寫許可權 其他人 只讀許可權 Q1: alice對file1檔案擁有什麼許可權? rwx 讀寫執行 Q2: jack 對 file1.txt 檔案有什麼許可權? 前提:jack 屬於 hr 組 rw 讀寫 Q3: tom 對 file1.txt 檔案有什麼許可權? r--只讀"""
2、為什麼要修改許可權
""" [root@kxq-pythonedu ~]# chmod 640 useradd_2.sh # 屬主: rw- 讀寫執行 6 # 屬組: r-x 讀和執行 5 # 其他: r-x 讀和執行 5 [root@kxq-pythonedu ~]# chmod 755 useradd_2.sh [root@kxq-pythonedu ~]# ll useradd_2.sh -rwxr-xr-x. 1 adm root 618 9月 28 11:27 useradd_2.sh """
3、變更一個檔案屬主和陣列
[root@kxq-pythonedu ~]# chown -R www.www web-demo/
demo示例:
1、安裝php環境
[root@kxq-pythonedu ~]# setenforce 0 #關閉selinux [root@kxq-pythonedu ~]# systemctl stop firewalld #關閉firewalld防火牆 [root@kxq-pythonedu ~]# yum install httpd php -y [root@kxq-pythonedu ~]# systemctl start httpd [root@kxq-pythonedu ~]# wget http://fj.xuliangwei.com/public/kaoshi.zip [root@kxq-pythonedu ~]# unzip kaoshi.zip -d /var/www/html/
2、如果不調整許可權,前臺會提示寫入成功,但實際會失敗
tail -f /var/log/httpd/error_log
3、變更寫入目錄的屬主和屬組 ( 不要修改為 777 )
3.1、檢查程序執行的使用者身份是什麼: apache
[root@kxq-pythonedu ~]# ps -ef |grep httpd | head -2 root 24130 1 0 10:13 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND #Master程序 apache 24132 24130 0 10:13 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND #Worker程序
3.2、檢查程序要寫入的目錄是什麼許可權:
[root@kxq-pythonedu ~]# ll -d /var/www/html/ drwxr-xr-x. 2 root root 77 9月 29 10:21 /var/www/html/
""" 總結: 寫不進去的原因: 程序會呼叫apache使用者往 /var/www/html目錄寫, 而apache使用者對/var/www/html目錄僅擁有 讀和執行,所以會失敗. """
3.3、調整/var/www/html 屬主和屬組
[root@kxq-pythonedu ~]# chown apache.apache /var/www/html/ [root@kxq-pythonedu ~]# ll -d /var/www/html/ drwxr-xr-x. 2 apache apache 77 9月 29 10:21 /var/www/html/
3.4、最後驗證程式是否能正常上傳檔案至/var/www/html/中
[root@kxq-pythonedu ~]# ll /var/www/html/2020-09-29/ -d drwxr-xr-x. 2 apache apache 25 9月 29 10:27 /var/www/html/2020-09-29/ [root@kxq-pythonedu ~]# ll /var/www/html/2020-09-29/ -rw-r--r--. 1 apache apache 438 9月 29 10:27 2_oldxu.txt
四、rpm軟體包管理
1、什麼是rpm
# redhat package mananger 紅帽包管理工具, xxx.rpm 主要用來安裝軟體包.
""" 1.rpm包 可以通過rpm工具 yum工具管理 2.二進位制包 解壓即用 3.原始碼包 編譯 ---> 二進位制可執行檔案 rpm工具安裝會牽扯到依賴關係: A包 -> B包 -> C包 --> D包 --> E包 ---> F包 """
查詢命令:
""" [root@kxq-pythonedu ~]# rpm -q httpd #查詢安裝或者沒有安裝 [root@kxq-pythonedu ~]# rpm -qa #顯示系統中所有已安裝的軟體包 [root@kxq-pythonedu ~]# rpm -qa | grep httpd #查詢所有系統已安裝的軟體包,過濾指定的包名 [root@kxq-pythonedu ~]# rpm -qc httpd #僅檢視httpd這個包的配置在哪裡 [root@kxq-pythonedu ~]# rpm -ql httpd #檢視httpd這個包所有的檔案儲存的路徑 """
痛點: rpm工具還是無法解決依賴間關係, 所有就有了 yum工具.
五、yum工具
1、什麼是yum
# yum包管理工具,主要用安裝軟體, 通過網際網路安裝軟體.並能解決依賴間關係.
1、什麼是源,什麼是倉庫
""" 源: 儲存在伺服器中的一個repo檔案, 檔案中儲存的是倉庫的地址 倉庫: 一推軟體包的集合,源如果指向這個倉庫,那麼伺服器就可以直接獲取該倉庫中的軟體包 """
2、如何配置源
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
3、使用yum
3.1、安裝
# [root@kxq-pythonedu ~]# yum install samba -y
3.2、更新
# [root@kxq-pythonedu ~]# yum update samba -y
3.3、解除安裝
# [root@kxq-pythonedu ~]# yum remove samba -y
3.4、查詢
# 知道命令,但是不知道安裝哪個軟體包, # 知道配置檔案的路徑,但是不知道是哪個軟體包生成出來的. [root@kxq-pythonedu ~]# yum provides ifconfig [root@kxq-pythonedu ~]# yum provides /etc/my.cnf
3.5、清理快取
# [root@kxq-pythonedu ~]# yum clean all #清理所有的快取 # [root@kxq-pythonedu ~]# yum makecache #生成快取 # [root@kxq-pythonedu ~]# yum repolist #檢視倉庫中的軟體包