日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

信安Note_day27

發布時間:2023/12/31 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 信安Note_day27 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux應用程序管理

應用程序與系統命令的關系

文件位置

  • 系統命令:一般在/bin和/sbin目錄中,或為Shell內部指令

  • 應用程序:通常在/usr/bin和/usr/sbin目錄中

主要用途

  • 系統命令:完成對系統的基本管理工作,例如IP配置工具

  • 應用程序:完成相對獨立的其他輔助任務,例如網頁瀏覽器

適用環境

  • 系統命令:一般只在字符操作界面中運行

  • 應用程序:根據實際需要,有些程序可在圖形界面中運行

運行格式

  • 系統命令:一般包括命令字、命令選項和命令參數

  • 應用程序:通常沒有固定的執行格式

應用程序目錄結構

/usr/bin :普通執行程序文件

/usr/sbin :服務器執行程序文件和管理程序文件

/etc :應用程序配置文件

/var/log :日志文件

/usr/share/doc :應用程序文檔文件

/usr/share/man :應用程序手冊頁文件

常見的軟件包封裝類型

rpm軟件包(CentOS常見):擴展名為“.rpm”

deb軟件包(Ubantu常見):擴展名為“.deb”

源代碼軟件包(CentOS常見):一般為“.tar.gz”、“.tar.bz2”等格式的壓縮包包含程序的原始代碼

綠色免安裝的軟件包(很少):在壓縮包內提供已編譯好的執行程序文件解開壓縮包后的文件即可直接使用

RPM包管理

概述

由 Red Hat 公司提出,被眾多 Linux 發行版所采用 建立統一的數據庫文件

詳細記錄軟件包安裝、卸載等變化信息

自動分析軟件包依賴關系

管理RPM軟件包的rpm命令

rpm命令管理軟件包和yum 命令管理軟件包結果是一樣的,yum方式效率更高,不需要額外指定軟件包路徑即可高效解決軟件包依賴關系并進行安裝(都是管理.rpm格式的軟件包)

執行“man rpm”命令可獲得關于 rpm 命令的詳細幫助信息。

查詢已安裝的 RPM 軟件信息:

格式(rpm -q[子選項] [軟件名])

  • -qa:查看系統中已安裝的所有RPM軟件包列表

  • -qi:查看指定軟件的詳細信息

  • -ql:查詢指定軟件包所安裝的目錄、文件列表

  • -qf:查詢文件或目錄屬于哪個RPM軟件

  • -qc:僅顯示指定軟件包安裝的配置文件

  • -qd:僅顯示指定軟件包安裝的文檔文件

查詢未安裝的 RPM 軟件包文件中信息:

格式(rpm -qp[子選項] RPM包文件)

  • -qpi:通過.rpm包文件查看該軟件的詳細信息

  • -qpl:查看.rpm安裝包內所包含的目錄、文件列表

  • -qpc:查看.rpm安裝包內包含的配置文件列表

  • -qpd:查看.rpm安裝包內包含的文檔文件列表

注意:使用rpm 命令只能查詢通過 RPM方式安裝的軟件包信息用,其他途徑安裝到系統中的軟件包,rpm 命令將無法獲取相關信息。

安裝、升級、卸載 RPM 軟件包(較少使用)

命令格式:rpm -ivh 具體安裝包路徑及名稱

-i:安裝一個新的 rpm 軟件包 ? -h:以“#”號顯示安裝的進度 ? -v:顯示安裝過程中的詳細信息 ? -e:卸載軟件包 ?-U:升級某個 rpm 軟件,若原本未裝,則進行安裝 ?-F:升級某個 rpm 軟件,若原本未裝,則放棄安裝 ? --force:強制安裝所指定的rpm軟件包 ? --nodeps:安裝、升級或卸載軟件時,忽略依賴關系

源代碼軟件包

概述

優點:

  • 獲得最新的軟件版本,及時修復bug

  • 根據用戶需要,靈活定制軟件功能

應用場合舉例:

  • 安裝較新版本的應用程序時

  • 當前安裝的程序無法滿足需要時

  • 需要為應用程序添加新的功能時

編譯安裝源代碼包

軟件素材參考:http://sourceforge.net

完整性校驗:

  • md5sum校驗工具案例:

  • [root@localhost ~]# md5sum axel-1.0a.tar.gz

    2d94c0b36b374834567f1fcec5f89119 axel-1.0a.tar.gz

  • (2d94c0b36b374834567f1fcec5f89119為MD5校驗和)

  • 對于下載回來的軟件包文件,如果MD5校驗和與官方提供的不一致,則說明該軟件包在網絡傳輸過程中可能被非法改動過

  • 對于校驗和不一致的軟件包,應盡量不要使用,以免帶來病毒、木馬等不安全因素

確認源代碼編譯環境

需安裝支持 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 配置

  • 用途:設置安裝目錄、安裝模塊等選項

步驟3:make 編譯

  • 用途:生成可執行的二進制文件

步驟4:make install 安裝

  • 用途:復制二進制文件到系統,配置應用環境

最后:初始化、測試及應用、維護軟件

# 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服務 # ./apachectl stop

Linux賬號和權限管理

用戶和組賬號概述

Linux基于用戶身份對資源訪問進行控制

用戶帳號:

  • 超級用戶:root,類似于Windows系統中的Administrator用戶

  • 普通用戶:自己新建的用戶都屬于普通用戶,一般只在用戶自己的宿主目錄中有完全權限

  • 程序用戶:權限最低,一般只能操作程序相關聯的文件,用于維持系統或某個程序的正常運行,一般不允許登錄到系統。

組帳號:

  • 基本組(私有組)

  • 附加組(公共組)

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,每一行對應一個用戶的帳號記錄

[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,每一行對應一個用戶的密碼記錄

[[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::: ?

文件的每一行內容包含九個用冒號“:”分隔的配置字段

  • 字段1:用戶帳號的名稱

  • 字段2:加密的密碼字串信息

  • 字段3:上次修改密碼的時間

  • 字段4:密碼的最短有效天數,默認值為0

  • 字段5:密碼的最長有效天數,默認值為99999

  • 字段6:提前多少天警告用戶口令將過期,默認值為7

  • 字段7:在密碼過期之后多少天禁用此用戶

  • 字段8:帳號失效時間,默認值為空

  • 字段9:保留字段(未使用)

默認只有root用戶能夠讀取文件中的內容,并且不允許root直接編輯該文件中的內容。(只能通過命令修改)

上次修改密碼的時間,表示從1970年01月01日(可理解為Unix系統的誕生日)算起到最近一次修改密碼時間隔的天數 。

管理用戶賬號

添加用戶賬號 useradd

當用戶創建時,會默認創建一個同名的用戶組。

命令:useradd [選項]… 用戶名

選項:

-u(一般不修改):指定 UID 標記號

-d:指定宿主目錄,缺省為 /home/用戶名

-e:指定帳號失效時間

-g:指定用戶的基本組名(或GID號)

-G:指定用戶的附加組名(或GID號)

-M:不為用戶建立并初始化宿主目錄

-s:指定用戶的登錄Shell

案例:

  • 指定mike的基本組為mike,并加入到ftpuser組

  • 指定家目錄為/ftphome/mike

  • 不允許mike通過本地登錄服務器

[root@localhost ~]# useradd -d /ftphome/mike -G ftpuser -s /sbin/nologin mike

注意:在創建之前,對應的基本組、附加組必須存在。

設置/更改用戶密碼 passwd

命令:passwd [選項]… 用戶名

選項:

  • -d:清空用戶的密碼,使之無需密碼即可登錄

  • -l:鎖定用戶帳號

  • -S:查看用戶帳號的狀態(是否被鎖定)

  • -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信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件

  • ~/.bashrc

    該文件包含專用于你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該文件被讀取.

  • ~/.bash_logout

    退出登錄時,執行的文件

  • /etc/profile

    此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.

  • /etc/bashrc

    為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取.

/etc目錄下的文件,對所有用戶都適用,也就是說在文件中修改的配置信息,所有用戶都要執行。

而前三個文件,是用戶目錄下的隱藏文件。都是新建用戶帳號時,從 /etc/skel 目錄中復制而來。所以,若希望每個用戶在新建時都默認存在一些文件,可以直接進入/etc/skel目錄下創建文件。

另外,/etc/profile中設定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是“父子”關系。

管理組賬號

組賬號文件

與用戶帳號文件相類似

  • /etc/group(常用):保存組帳號基本信息

  • /etc/gshadow:保存組帳號的密碼信息

[root@localhost ~]# grep "adm" /etc/group sys:x:3:root,bin,adm adm:x:4:root,adm,daemon ?

文件內的最后一個字段中列出屬于該組的用戶成員(一般不包括基本組對應的用戶帳號),多個成員之間以逗號“,”分隔

添加組賬號 groupadd

命令:groupadd [-g GID] 組賬號名

[root@localhost ~]# groupadd -g 1000 market //添加組賬號market [root@localhost ~]# tail -1 /etc/group market:x:1000:

添加刪除組成員 gpasswd

設置組帳號密碼(極少用)、添加/刪除組成員

命令:gpasswd [選項]… 組帳號名

常用命令選項

  • -a:向組內添加一個用戶

  • -d:從組內刪除一個用戶成員

  • -M:定義組成員列表,以逗號分隔

刪除組賬號 groupdel

命令:groupdel 組帳號名

案例:# groupdel market

刪除組帳號后,從/etc/group文件中將查不到相應的記錄

注意:任何用戶的基本組都不可以直接刪除

文件/目錄的權限和歸屬

訪問權限

  • 讀取 r:允許查看文件內容、顯示目錄列表

  • 寫入 w:允許修改文件內容,允許在目錄中新建、移動、刪除文件或子目錄

  • 可執行 x:允許運行程序、切換目錄

歸屬(所有權)

  • 屬主:擁有該文件或目錄的用戶帳號

  • 屬組:擁有該文件或目錄的組帳號

字段說明

-rw-r---wx. 2 root root 1481 Feb 28 ?2020 anaconda-ks.cfg 第一個字段:表示文件類型("-"表示文件,"d "表示目錄)。 第2-10字段:表示文件權限,前3字段為所有者權限(rw-),中間3字段為屬組權限(r--),最后3字段為其他用戶權限(-wx) 第11字段:表示selinux安全機制特性,對于關閉了selinux的操作系統在新建文件或目錄時沒有這個"." 第12字段: 對于文件來說:文件硬鏈接數量;對于目錄來說:該目錄下子目錄數量,子子目錄數量不計算在內。 第4、5列:表示當前用戶的所有者和所屬組 第6列:當前文件的大小,單位默認為字節 第7、8、9列:修改文件的時間,可通過touch命令刷新該時間 第10列:當前文件或目錄的名稱

文件類型(第一個字段)

  • p:表示命名管道文件

  • d:表示目錄文件

  • l:表示符號連接文件

  • -:表示普通文件

  • s:表示socket套接口文件,比如我們啟用mysql

  • 時,會產生一個mysql.sock文件

  • c:表示字符設備文件,例: 虛擬控制臺 或tty0

  • b:表示塊設備文件,例: sda, cdrom

設置文件和目錄的權限 chmod

方法一

chmod [ugoa] [+-=] [rwx] 文件或目錄…

  • (u、g、o、a 分別表示屬主、屬組、其他用戶、所有用戶 )

  • (+、-、= 分別表示增加、去除、設置權限)

  • chmod a=zwx

  • chmod g-zx

方法二

chmod nnn 文件或目錄… (nnn為3位八進制數)

  • r、w、x、- 權限字符還可分別表示為8進制數字4、2、1、0,每一位二進制位,即代表一組權限。

  • 案例:chmod 777 ==》 chmod a=zwx

  • chmod 555 ==》 權限為:“-r-xr-xr-x”

命令選項:

  • -R:遞歸修改指定目錄下所有子項的權限

設置文件和目錄的歸屬 chown

chown命令

  • chown 屬主 文件或目錄 (chown root aaa)

  • chown :屬組 文件或目錄 (chown :root aaa)

  • chown 屬主:屬組 文件或目錄(chown zhangsan:root aaa)

命令選項-R:遞歸修改指定目錄下所有文件、子目錄的歸屬

總結

以上是生活随笔為你收集整理的信安Note_day27的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。