信安Note_day27
Linux應(yīng)用程序管理
應(yīng)用程序與系統(tǒng)命令的關(guān)系
文件位置
-
系統(tǒng)命令:一般在/bin和/sbin目錄中,或為Shell內(nèi)部指令
-
應(yīng)用程序:通常在/usr/bin和/usr/sbin目錄中
主要用途
-
系統(tǒng)命令:完成對系統(tǒng)的基本管理工作,例如IP配置工具
-
應(yīng)用程序:完成相對獨立的其他輔助任務(wù),例如網(wǎng)頁瀏覽器
適用環(huán)境
-
系統(tǒng)命令:一般只在字符操作界面中運行
-
應(yīng)用程序:根據(jù)實際需要,有些程序可在圖形界面中運行
運行格式
-
系統(tǒng)命令:一般包括命令字、命令選項和命令參數(shù)
-
應(yīng)用程序:通常沒有固定的執(zhí)行格式
應(yīng)用程序目錄結(jié)構(gòu)
/usr/bin :普通執(zhí)行程序文件
/usr/sbin :服務(wù)器執(zhí)行程序文件和管理程序文件
/etc :應(yīng)用程序配置文件
/var/log :日志文件
/usr/share/doc :應(yīng)用程序文檔文件
/usr/share/man :應(yīng)用程序手冊頁文件
常見的軟件包封裝類型
rpm軟件包(CentOS常見):擴展名為“.rpm”
deb軟件包(Ubantu常見):擴展名為“.deb”
源代碼軟件包(CentOS常見):一般為“.tar.gz”、“.tar.bz2”等格式的壓縮包包含程序的原始代碼
綠色免安裝的軟件包(很少):在壓縮包內(nèi)提供已編譯好的執(zhí)行程序文件解開壓縮包后的文件即可直接使用
RPM包管理
概述
由 Red Hat 公司提出,被眾多 Linux 發(fā)行版所采用 建立統(tǒng)一的數(shù)據(jù)庫文件
詳細記錄軟件包安裝、卸載等變化信息
自動分析軟件包依賴關(guān)系
管理RPM軟件包的rpm命令
rpm命令管理軟件包和yum 命令管理軟件包結(jié)果是一樣的,yum方式效率更高,不需要額外指定軟件包路徑即可高效解決軟件包依賴關(guān)系并進行安裝(都是管理.rpm格式的軟件包)
執(zhí)行“man rpm”命令可獲得關(guān)于 rpm 命令的詳細幫助信息。
查詢已安裝的 RPM 軟件信息:
格式(rpm -q[子選項] [軟件名])
-
-qa:查看系統(tǒng)中已安裝的所有RPM軟件包列表
-
-qi:查看指定軟件的詳細信息
-
-ql:查詢指定軟件包所安裝的目錄、文件列表
-
-qf:查詢文件或目錄屬于哪個RPM軟件
-
-qc:僅顯示指定軟件包安裝的配置文件
-
-qd:僅顯示指定軟件包安裝的文檔文件
查詢未安裝的 RPM 軟件包文件中信息:
格式(rpm -qp[子選項] RPM包文件)
-
-qpi:通過.rpm包文件查看該軟件的詳細信息
-
-qpl:查看.rpm安裝包內(nèi)所包含的目錄、文件列表
-
-qpc:查看.rpm安裝包內(nèi)包含的配置文件列表
-
-qpd:查看.rpm安裝包內(nèi)包含的文檔文件列表
注意:使用rpm 命令只能查詢通過 RPM方式安裝的軟件包信息用,其他途徑安裝到系統(tǒng)中的軟件包,rpm 命令將無法獲取相關(guān)信息。
安裝、升級、卸載 RPM 軟件包(較少使用)
命令格式:rpm -ivh 具體安裝包路徑及名稱
-i:安裝一個新的 rpm 軟件包 ? -h:以“#”號顯示安裝的進度 ? -v:顯示安裝過程中的詳細信息 ? -e:卸載軟件包 ?-U:升級某個 rpm 軟件,若原本未裝,則進行安裝 ?-F:升級某個 rpm 軟件,若原本未裝,則放棄安裝 ? --force:強制安裝所指定的rpm軟件包 ? --nodeps:安裝、升級或卸載軟件時,忽略依賴關(guān)系源代碼軟件包
概述
優(yōu)點:
-
獲得最新的軟件版本,及時修復bug
-
根據(jù)用戶需要,靈活定制軟件功能
應(yīng)用場合舉例:
-
安裝較新版本的應(yīng)用程序時
-
當前安裝的程序無法滿足需要時
-
需要為應(yīng)用程序添加新的功能時
編譯安裝源代碼包
軟件素材參考:http://sourceforge.net
完整性校驗:
-
md5sum校驗工具案例:
-
[root@localhost ~]# md5sum axel-1.0a.tar.gz
2d94c0b36b374834567f1fcec5f89119 axel-1.0a.tar.gz
-
(2d94c0b36b374834567f1fcec5f89119為MD5校驗和)
-
對于下載回來的軟件包文件,如果MD5校驗和與官方提供的不一致,則說明該軟件包在網(wǎng)絡(luò)傳輸過程中可能被非法改動過
-
對于校驗和不一致的軟件包,應(yīng)盡量不要使用,以免帶來病毒、木馬等不安全因素
確認源代碼編譯環(huán)境
需安裝支持 C/C++程序語言的編譯器
如:
gcc-4.4.7-4.el6、gcc-c++-4.4.7-4.el6
make-3.81-20.el6.……
(# yum install -y pcre* apr* gcc* make //安裝命令)
編譯安裝過程
源碼安裝步驟:
首先:下載源代碼安裝包文件
步驟1:tar解包
-
用途:解壓并釋放源代碼包到指定的目錄
步驟2:./configure 配置
-
用途:設(shè)置安裝目錄、安裝模塊等選項
步驟3:make 編譯
-
用途:生成可執(zhí)行的二進制文件
步驟4:make install 安裝
-
用途:復制二進制文件到系統(tǒng),配置應(yīng)用環(huán)境
最后:初始化、測試及應(yīng)用、維護軟件
# yum install -y pcre* apr* gcc* make # tar -zxvf httpd-2.4.25.tar.gz -C /usr/local/ # cd httpd-2.4.25 # ./configure --prefix=/usr/local/httpd //配置 # make ? //編譯 # make install //安裝 # cd /usr/local/httpd/bin/ # ./apachectl start //啟動Apache服務(wù) # ./apachectl stopLinux賬號和權(quán)限管理
用戶和組賬號概述
Linux基于用戶身份對資源訪問進行控制
用戶帳號:
-
超級用戶:root,類似于Windows系統(tǒng)中的Administrator用戶
-
普通用戶:自己新建的用戶都屬于普通用戶,一般只在用戶自己的宿主目錄中有完全權(quán)限
-
程序用戶:權(quán)限最低,一般只能操作程序相關(guān)聯(lián)的文件,用于維持系統(tǒng)或某個程序的正常運行,一般不允許登錄到系統(tǒng)。
組帳號:
-
基本組(私有組)
-
附加組(公共組)
UID和GID:
-
UID(User IDentity,用戶標識號),唯一
-
GID(Group IDentify,組標識號),唯一
-
root用戶的UID的固定值為0、root組帳號的GID號為固定值0
-
1~499的UID、GID默認保留給程序用戶使用,普通用戶/組使用的UID、GID號在500~60000之間
用戶賬號文件
/etc/passwd
保存用戶名稱、宿主目錄、登錄Shell等基本信息。
文件位置:/etc/passwd,每一行對應(yīng)一個用戶的帳號記錄
[root@localhost ~]# head -2 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin [root@localhost ~]# tail -1 /etc/passwd teacher:x:1001:1001:teacher:/home/teacher:/bin/bash ?-
字段1:用戶帳號的名稱
-
字段2:用戶密碼字串或者密碼占位符“x”
-
字段3:用戶帳號的UID號
-
字段4:所屬基本組帳號的GID號
-
字段5:用戶全名
-
字段6:宿主目錄
-
字段7:登錄shell
/etc/shadow
保存用戶的密碼、賬號有效期等信息
文件位置:/etc/shadow,每一行對應(yīng)一個用戶的密碼記錄
[[root@localhost ~]# head -2 /etc/shadow root:$1$55HB4pbx$acHqk4lZiHTZ9cw0ZJe8f0:14374:0:99999:7::: bin:*:14374:0:99999:7::: [root@localhost ~]# tail -1 /etc/shadow teacher:$1$BT7teaYX$s2sr6uFUwKhtU.8/8VpzB1:14374:0:99999:7::: ?文件的每一行內(nèi)容包含九個用冒號“:”分隔的配置字段
-
字段1:用戶帳號的名稱
-
字段2:加密的密碼字串信息
-
字段3:上次修改密碼的時間
-
字段4:密碼的最短有效天數(shù),默認值為0
-
字段5:密碼的最長有效天數(shù),默認值為99999
-
字段6:提前多少天警告用戶口令將過期,默認值為7
-
字段7:在密碼過期之后多少天禁用此用戶
-
字段8:帳號失效時間,默認值為空
-
字段9:保留字段(未使用)
默認只有root用戶能夠讀取文件中的內(nèi)容,并且不允許root直接編輯該文件中的內(nèi)容。(只能通過命令修改)
上次修改密碼的時間,表示從1970年01月01日(可理解為Unix系統(tǒng)的誕生日)算起到最近一次修改密碼時間隔的天數(shù) 。
管理用戶賬號
添加用戶賬號 useradd
當用戶創(chuàng)建時,會默認創(chuàng)建一個同名的用戶組。
命令:useradd [選項]… 用戶名
選項:
-u(一般不修改):指定 UID 標記號
-d:指定宿主目錄,缺省為 /home/用戶名
-e:指定帳號失效時間
-g:指定用戶的基本組名(或GID號)
-G:指定用戶的附加組名(或GID號)
-M:不為用戶建立并初始化宿主目錄
-s:指定用戶的登錄Shell
案例:
-
指定mike的基本組為mike,并加入到ftpuser組
-
指定家目錄為/ftphome/mike
-
不允許mike通過本地登錄服務(wù)器
[root@localhost ~]# useradd -d /ftphome/mike -G ftpuser -s /sbin/nologin mike
注意:在創(chuàng)建之前,對應(yīng)的基本組、附加組必須存在。
設(shè)置/更改用戶密碼 passwd
命令:passwd [選項]… 用戶名
選項:
-
-d:清空用戶的密碼,使之無需密碼即可登錄
-
-l:鎖定用戶帳號
-
-S:查看用戶帳號的狀態(tài)(是否被鎖定)
-
-u:解鎖用戶帳號/centos 7不需要修改密碼
注意:不指定用戶名時,修改當前賬號的密碼。
修改用戶賬戶屬性 usermod
主要修改已存在用戶的信息
命令:usermod [選項]… 用戶名
選項:
-
-l:更改用戶帳號的登錄名稱
-
-L:鎖定用戶賬戶
-
-U:解鎖用戶賬戶
以下選項與useradd命令中的含義相同: -u、-d、-e、-g、-G、-s。
刪除用戶賬號 userdel
命令:userdel [-r] 用戶名
(添加 -r 選項時,表示連用戶的宿主目錄一并刪除)
[root@localhost ~]# useradd stu01 [root@localhost ~]# ls -ld /home/stu01/ drwx------ 2 stu01 stu01 4096 09-09 12:38 /home/stu01/ [root@localhost ~]# userdel -r stu01 [root@localhost ~]# ls -ld /home/stu01/ ls: /home/stu01/: 沒有那個文件或目錄 ?用戶賬號的初始配置文件(重點)
主要的用戶初始配置文件:
-
~/.bash_profile
每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執(zhí)行一次!默認情況下,他設(shè)置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件
-
~/.bashrc
該文件包含專用于你的bash shell的bash信息,當?shù)卿洉r以及每次打開新的shell時,該文件被讀取.
-
~/.bash_logout
退出登錄時,執(zhí)行的文件
-
/etc/profile
此文件為系統(tǒng)的每個用戶設(shè)置環(huán)境信息,當用戶第一次登錄時,該文件被執(zhí)行.
-
/etc/bashrc
為每一個運行bash shell的用戶執(zhí)行此文件.當bash shell被打開時,該文件被讀取.
/etc目錄下的文件,對所有用戶都適用,也就是說在文件中修改的配置信息,所有用戶都要執(zhí)行。
而前三個文件,是用戶目錄下的隱藏文件。都是新建用戶帳號時,從 /etc/skel 目錄中復制而來。所以,若希望每個用戶在新建時都默認存在一些文件,可以直接進入/etc/skel目錄下創(chuàng)建文件。
另外,/etc/profile中設(shè)定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設(shè)定的變量(局部)只能繼承/etc/profile中的變量,他們是“父子”關(guān)系。
管理組賬號
組賬號文件
與用戶帳號文件相類似
-
/etc/group(常用):保存組帳號基本信息
-
/etc/gshadow:保存組帳號的密碼信息
文件內(nèi)的最后一個字段中列出屬于該組的用戶成員(一般不包括基本組對應(yīng)的用戶帳號),多個成員之間以逗號“,”分隔
添加組賬號 groupadd
命令:groupadd [-g GID] 組賬號名
[root@localhost ~]# groupadd -g 1000 market //添加組賬號market [root@localhost ~]# tail -1 /etc/group market:x:1000:添加刪除組成員 gpasswd
設(shè)置組帳號密碼(極少用)、添加/刪除組成員
命令:gpasswd [選項]… 組帳號名
常用命令選項
-
-a:向組內(nèi)添加一個用戶
-
-d:從組內(nèi)刪除一個用戶成員
-
-M:定義組成員列表,以逗號分隔
刪除組賬號 groupdel
命令:groupdel 組帳號名
案例:# groupdel market
刪除組帳號后,從/etc/group文件中將查不到相應(yīng)的記錄
注意:任何用戶的基本組都不可以直接刪除
文件/目錄的權(quán)限和歸屬
訪問權(quán)限
-
讀取 r:允許查看文件內(nèi)容、顯示目錄列表
-
寫入 w:允許修改文件內(nèi)容,允許在目錄中新建、移動、刪除文件或子目錄
-
可執(zhí)行 x:允許運行程序、切換目錄
歸屬(所有權(quán))
-
屬主:擁有該文件或目錄的用戶帳號
-
屬組:擁有該文件或目錄的組帳號
字段說明
-rw-r---wx. 2 root root 1481 Feb 28 ?2020 anaconda-ks.cfg 第一個字段:表示文件類型("-"表示文件,"d "表示目錄)。 第2-10字段:表示文件權(quán)限,前3字段為所有者權(quán)限(rw-),中間3字段為屬組權(quán)限(r--),最后3字段為其他用戶權(quán)限(-wx) 第11字段:表示selinux安全機制特性,對于關(guān)閉了selinux的操作系統(tǒng)在新建文件或目錄時沒有這個"." 第12字段: 對于文件來說:文件硬鏈接數(shù)量;對于目錄來說:該目錄下子目錄數(shù)量,子子目錄數(shù)量不計算在內(nèi)。 第4、5列:表示當前用戶的所有者和所屬組 第6列:當前文件的大小,單位默認為字節(jié) 第7、8、9列:修改文件的時間,可通過touch命令刷新該時間 第10列:當前文件或目錄的名稱文件類型(第一個字段)
-
p:表示命名管道文件
-
d:表示目錄文件
-
l:表示符號連接文件
-
-:表示普通文件
-
s:表示socket套接口文件,比如我們啟用mysql
-
時,會產(chǎn)生一個mysql.sock文件
-
c:表示字符設(shè)備文件,例: 虛擬控制臺 或tty0
-
b:表示塊設(shè)備文件,例: sda, cdrom
設(shè)置文件和目錄的權(quán)限 chmod
方法一
chmod [ugoa] [+-=] [rwx] 文件或目錄…
-
(u、g、o、a 分別表示屬主、屬組、其他用戶、所有用戶 )
-
(+、-、= 分別表示增加、去除、設(shè)置權(quán)限)
-
chmod a=zwx
-
chmod g-zx
方法二
chmod nnn 文件或目錄… (nnn為3位八進制數(shù))
-
r、w、x、- 權(quán)限字符還可分別表示為8進制數(shù)字4、2、1、0,每一位二進制位,即代表一組權(quán)限。
-
案例:chmod 777 ==》 chmod a=zwx
-
chmod 555 ==》 權(quán)限為:“-r-xr-xr-x”
命令選項:
-
-R:遞歸修改指定目錄下所有子項的權(quán)限
設(shè)置文件和目錄的歸屬 chown
chown命令
-
chown 屬主 文件或目錄 (chown root aaa)
-
chown :屬組 文件或目錄 (chown :root aaa)
-
chown 屬主:屬組 文件或目錄(chown zhangsan:root aaa)
命令選項-R:遞歸修改指定目錄下所有文件、子目錄的歸屬
總結(jié)
以上是生活随笔為你收集整理的信安Note_day27的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记一次.net core调用微信云开发H
- 下一篇: 从加密硬件开始,三未信安想在云时代转型云