<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Linux學(xué)習(xí)筆記

       本筆記是學(xué)習(xí) 劉遄老師 的《Linux就該這么學(xué)》一書(shū)所做,書(shū)籍地址:https://www.linuxprobe.com/docs/LinuxProbe.pdf

      本文以centOS發(fā)行版為例,軟件倉(cāng)庫(kù)等可能不適用于其他發(fā)行版

      ----------------------------------------------------------------------------------------------------------

      ----添加普通用戶(hù)并加入sudoers

      第一步:使用useradd命令創(chuàng)建用戶(hù)

       useradd是一個(gè)底層命令,用于創(chuàng)建新用戶(hù)。默認(rèn)情況下,它不會(huì)設(shè)置密碼,也不會(huì)創(chuàng)建家目錄(除非使用-m選項(xiàng))。通常需要配合其他命令來(lái)設(shè)置密碼和配置。

      基本語(yǔ)法:

      sudo useradd [選項(xiàng)] 用戶(hù)名

      常用選項(xiàng):

      • -m:創(chuàng)建用戶(hù)的家目錄,通常位于/home/用戶(hù)名

      • -s:指定用戶(hù)的登錄shell,例如-s /bin/bash

      • -c:添加注釋?zhuān)ǔS糜谔顚?xiě)用戶(hù)的全名或描述。

      • -g:指定用戶(hù)的主組(group)。

      • -G:指定用戶(hù)的附加組(groups)。

      • -d:指定家目錄的路徑,而不是默認(rèn)的/home/用戶(hù)名

      強(qiáng)烈推薦在創(chuàng)建用戶(hù)時(shí)明確指定登錄shell配置: 如果不指定會(huì)使用默認(rèn),Debian系為/bin/sh (通常鏈接到dash)

      sudo useradd -m -s /bin/bash username

      默認(rèn)會(huì)創(chuàng)建同名主要組,不想新建,也可以指定到已存在的:

      sudo useradd -m -s /bin/bash -g developers zhangsan

      第二步:給用戶(hù)創(chuàng)建密碼(必須,否則無(wú)法登錄)

      sudo passwd zhangsan

       第三步,加入sudoers,也可以在第一步時(shí)一起設(shè)置

      # 以root身份執(zhí)行,CentOS/RHEL/Fedora
      usermod -aG wheel zhangsan

      # 以root身份執(zhí)行,添加到sudo組(Debian/Ubuntu)

      usermod -aG sudo zhangsan

      --------------------------------------------------------

       

      系統(tǒng)初始化

      Linux 系統(tǒng)的開(kāi)機(jī)過(guò)程是這樣的,即先從BIOS開(kāi)始,然后進(jìn)入Boot Loader,再加載系 統(tǒng)內(nèi)核,然后內(nèi)核進(jìn)行初始化,最后啟動(dòng)初始化進(jìn)程。初始化進(jìn)程作為 Linux 系統(tǒng)啟動(dòng)后的 第一個(gè)正式服務(wù),它需要完成Linux系統(tǒng)中相關(guān)的初始化工作,為用戶(hù)提供合適的工作環(huán)境。 同學(xué)們可以將初始化進(jìn)程粗獷地理解成從我們按下開(kāi)機(jī)鍵到看見(jiàn)系統(tǒng)桌面的這個(gè)過(guò)程。初始 化進(jìn)程完成了一大半工作。 紅帽 RHEL 7/8 系統(tǒng)替換掉了熟悉的初始化進(jìn)程服務(wù) System V init,正式采用全新的 systemd 初始化進(jìn)程服務(wù)。

      Linux 系統(tǒng)在啟動(dòng)時(shí)要進(jìn)行大量的初始化工作,比如掛載文件系統(tǒng)和交換分區(qū)、啟動(dòng)各 類(lèi)進(jìn)程服務(wù)等,這些都可以看作是一個(gè)一個(gè)的單元(unit),systemd 用目標(biāo)(target)代替了 System V init 中運(yùn)行級(jí)別的概念

      systemd 與System V init 的區(qū)別以及作用

      System V init運(yùn)行級(jí)別  systemd目標(biāo)名稱(chēng)  systemd目標(biāo)作用

      0            poweroff.target    關(guān)機(jī)

      1            rescue.target    單用戶(hù)模式

      2            multi-user.target    多用戶(hù)的文本界面

      3            multi-user.target    多用戶(hù)的文本界面

      4            multi-user.target    多用戶(hù)的文本界面

      5            graphical.target    多用戶(hù)的圖形界面

      6            reboot.target      重啟

      emergency        emergency.target    救援模式

       

      如果想要將系統(tǒng)默認(rèn)的運(yùn)行目標(biāo)修改為“多用戶(hù)的文本界面”模式,可直接用ln命令把 多用戶(hù)模式目標(biāo)文件鏈接到/etc/systemd/system/目錄:

      [root@linuxprobe~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system /default.target

       

      在RHEL 7/8系統(tǒng)中是使用systemctl命令來(lái)管 理服務(wù)的。表1-4和表1-5所示為新老版本系統(tǒng)的對(duì)比

      表1-4  服務(wù)的啟動(dòng)、重啟、停止、重載、查看狀態(tài)等常用命令

      老系統(tǒng)命令      新系統(tǒng)命令        作用

      service foo start    systemctl start httpd   啟動(dòng)服務(wù)   

      service restart foo  systemctl restart httpd    重啟服務(wù)

      service foo stop   systemctl stop httpd     停止服務(wù)

      service foo reload  systemctl reload httpd    重新加載配置文件(不終止服務(wù))

      service foo status  systemctl status httpd    查看服務(wù)狀態(tài)

      ---------------------------------------

      表1-5 服務(wù)開(kāi)機(jī)啟動(dòng)、不啟動(dòng)、查看各級(jí)別下服務(wù)啟動(dòng)狀態(tài)等常用命令

      老系統(tǒng)命令      新系統(tǒng)命令      作用

      chkconfig foo on   systemctl enable httpd   開(kāi)機(jī)自動(dòng)啟動(dòng)

      chkconfig foo off   systemctl disable httpd   開(kāi)機(jī)不自動(dòng)啟動(dòng)

      chkconfig foo   systemctl is-enabled httpd   查看特定服務(wù)是否為開(kāi)機(jī)自啟動(dòng)

      chkconfig --list   systemctl list-unit-files --type=httpd   查看各個(gè)級(jí)別下服務(wù)的啟動(dòng)與禁用 情況

       

       

      ---------------------------------------------------------------------------------------------------------

      du 命令用查看分區(qū)或目錄所占用的磁盤(pán)容量大小,英文全稱(chēng)為“disk usage”,語(yǔ)法:

      du -h 目錄

      上面會(huì)列出其下所有層級(jí)文件夾和文件大小,如果只看當(dāng)前目錄則加s參數(shù),即du -sh 目錄

      --------------------------------

      passwd 其他參數(shù)用法

      -l 鎖定用戶(hù),禁止其登錄

      -u 解除鎖定,允許用戶(hù)登錄

      -S 顯示用戶(hù)的密碼是否被鎖定,執(zhí)行后,用戶(hù)名后面緊跟的 項(xiàng) 即是狀態(tài):L為鎖定,P為允許登錄

      -----------------------------------------------------------------------------------------------------------

      安裝軟件的方法:

      1.RPM 有點(diǎn)像 Windows 系統(tǒng)中的控制面板,會(huì)建立統(tǒng)一的數(shù)據(jù)庫(kù),詳細(xì)記錄軟件信息并 能夠自動(dòng)分析依賴(lài)關(guān)系。

      常用的 RPM 軟件包命令

      rpm –ivh filename.rpm 安裝軟件

      rpm –Uvh filename.rpm 升級(jí)軟件

      rpm -e filename.rpm 卸載軟件

      rpm –qpi filename.rpm 查詢(xún)軟件描述信息

      rpm -qpl filename.rpm 列出軟件文件信息

      rpm -qf filename 查詢(xún)文件屬于哪個(gè) RPM

      2.yum軟件倉(cāng)庫(kù)( 或者其接替者 dnf,命令兼容)

      盡管 RPM 能夠幫助用戶(hù)查詢(xún)軟件之間的依賴(lài)關(guān)系,但問(wèn)題還是要運(yùn)維人員自己來(lái) 解決,而有些大型軟件可能與數(shù)十個(gè)程序都有依賴(lài)關(guān)系,在這種情況下安裝軟件依然很繁瑣。

      Yum 軟件倉(cāng)庫(kù)便是為了進(jìn)一步降低軟件安裝難度和復(fù)雜度而設(shè)計(jì)的技術(shù)。Yum 軟件倉(cāng)庫(kù)可以 根據(jù)用戶(hù)的要求分析出所需軟件包及其相關(guān)的依賴(lài)關(guān)系,然后自動(dòng)從服務(wù)器下載軟件包并安 裝到系統(tǒng)。

      常見(jiàn)的 Yum 命令

      yum repolist all       列出所有倉(cāng)庫(kù)

      yum list all         列出倉(cāng)庫(kù)中所有軟件包

      yum info 軟件包名稱(chēng)     查看軟件包信息

      yum install 軟件包名稱(chēng)     安裝軟件包

      yum reinstall 軟件包名稱(chēng)     重新安裝軟件包

      yum update 軟件包名稱(chēng)     升級(jí)軟件包

      yum remove 軟件包名稱(chēng)     移除軟件包

      yum clean all         清除所有倉(cāng)庫(kù)緩存

      yum check-update       檢查可更新的軟件包

      yum grouplist         查看系統(tǒng)中已經(jīng)安裝的軟件包組

      yum groupinstall 軟件包組     安裝指定的軟件包組

      yum groupremove 軟件包組     移除指定的軟件包組

      yum groupinfo 軟件包組       查詢(xún)指定的軟件包組信息

       

      重要命令:

      ---------------------------存儲(chǔ)結(jié)構(gòu)與管理硬盤(pán)----------------------

      RHEL 7/8 系統(tǒng)中一個(gè)比較大的變化就是使用了 XFS 作為文件系統(tǒng),這不同于 RHEL 6 使用的 Ext4。

      我個(gè)人認(rèn)為 XFS 雖然在性能方面比 Ext4 有所提升,但絕不是壓倒性的,因此XFS 文件系統(tǒng)最卓越的亮點(diǎn)應(yīng)該當(dāng)屬可支持高達(dá) 18EB 的存儲(chǔ)容量吧。

       

      Linux 系統(tǒng)中常見(jiàn)的目錄名稱(chēng)以及相應(yīng)內(nèi)容

      /boot 開(kāi)機(jī)所需文件—內(nèi)核、開(kāi)機(jī)菜單以及所需配置文件等

      /dev 以文件形式存放任何設(shè)備與接口

      /etc 配置文件

      /home 用戶(hù)主目錄

      /bin 存放單用戶(hù)模式下還可以操作的命令

      /lib 開(kāi)機(jī)時(shí)用到的函數(shù)庫(kù),以及/bin 與/sbin 下面的命令要調(diào)用的函數(shù)

      /sbin 開(kāi)機(jī)過(guò)程中需要的命令

      /media 用于掛載設(shè)備文件的目錄

      /opt 放置第三方的軟件

      /root 系統(tǒng)管理員的家目錄

      /srv 一些網(wǎng)絡(luò)服務(wù)的數(shù)據(jù)文件目錄

      /tmp 任何人均可使用的“共享”臨時(shí)目錄

      /proc 虛擬文件系統(tǒng),例如系統(tǒng)內(nèi)核、進(jìn)程、外部設(shè)備及網(wǎng)絡(luò)狀態(tài)等

      /usr/local 用戶(hù)自行安裝的軟件

      /usr/sbin Linux 系統(tǒng)開(kāi)機(jī)時(shí)不會(huì)使用到的軟件/命令/腳本

      /usr/share 幫助與說(shuō)明文件,也可放置共享文件

      /var 主要存放經(jīng)常變化的文件,如日志

      /lost+found 當(dāng)文件系統(tǒng)發(fā)生錯(cuò)誤時(shí),將一些丟失的文件片段存放在這里

       

      ---------物理設(shè)備的命名規(guī)則--------

      IDE 設(shè)備(已不常見(jiàn)) /dev/hd[a-d]   |  SCSI/SATA/U 盤(pán) /dev/sd[a-z]    |   Virtio 設(shè)備(一種虛擬化設(shè)備) /dev/vd[a-z]   |   軟驅(qū)/dev/fd[0-1]

      打印機(jī)/dev/lp[0-15]   |   光驅(qū)/dev/cdrom   |   鼠標(biāo)/dev/mouse   |   磁帶機(jī)/dev/st0 或/dev/ht0

      主分區(qū)或擴(kuò)展分區(qū)的編號(hào)從 1 開(kāi)始,到 4 結(jié)束;邏輯分區(qū)從編號(hào) 5 開(kāi)始。

      硬盤(pán)設(shè)備是由大量的扇區(qū)組成的,每個(gè)扇區(qū)的容量為 512 字節(jié)。其中 第一個(gè)扇區(qū)最重要,它里面保存著主引導(dǎo)記錄分區(qū)表信息。就第一個(gè)扇區(qū)來(lái)講,主引導(dǎo)記(Mast Boot Record,MBR) 錄需要占用 446 字節(jié),分區(qū)表占用 64 字節(jié),結(jié)束符占用 2 字節(jié);其中分區(qū)表中每記錄一個(gè)分 區(qū)信息就需要 16 字節(jié),這樣一來(lái)最多只有 4 個(gè)分區(qū)信息可以寫(xiě)到第一個(gè)扇區(qū)中,這 4 個(gè)分區(qū) 就是 4 個(gè)主分區(qū)。

      注意誤區(qū):

      1./dev 目錄中 sda 設(shè)備之所以是 a,并不是由插槽決定的,而是由系統(tǒng)內(nèi)核的識(shí)別順序來(lái)決定的,而恰巧很多主板的插槽順序就是系統(tǒng)內(nèi)核的識(shí)別順序,因此才會(huì)被命名為/dev/sda。

      2.分區(qū)的數(shù)字編碼不一定是強(qiáng)制順延下來(lái)的,也有可能是手工指定的。因此 sda3 只能表示是編號(hào)為 3 的分區(qū),而不能判斷 sda 設(shè)備上已經(jīng)存在了 3 個(gè)分區(qū)。

       

      mount 命令用于掛載文件系統(tǒng),格式為mount 文件系統(tǒng) 掛載目錄”,

      -t參數(shù):指定文件系統(tǒng)的類(lèi)型(新的linux版本可自動(dòng)判斷,已不常用)

      -a 參數(shù)則厲害了,它會(huì)在執(zhí)行后自動(dòng)檢查/etc/fstab文件中有無(wú)被疏漏掛載的設(shè)備文件,如果有,則進(jìn)行自動(dòng)掛載操作。

      blkid 命令用于顯示設(shè)備的屬性信息,英文全稱(chēng)為“block id”,語(yǔ)法格式為“blkid [設(shè)備名(要寫(xiě)絕對(duì)全路徑)]”。可用 blkid 命令來(lái)查詢(xún)?cè)O(shè)備 UUID,只輸blkid顯示全部的

      如果想讓硬件設(shè)備和目錄永久地進(jìn)行自動(dòng)關(guān)聯(lián),就必須把掛載信息按照指定的填寫(xiě)格式“設(shè)備文件 掛載目錄 格式類(lèi)型 權(quán)限選項(xiàng) 是否備份 是否自檢”寫(xiě)入到/etc/fstab 文件中

      例如: /dev/sdb2 /backup ext4 defaul ts 0 0

      寫(xiě)入到/etc/fstab 文件中的設(shè)備信息并不會(huì)立即生效,需要使用 mount -a 參數(shù)進(jìn)行自動(dòng)掛載

      umount 命令用于卸載設(shè)備或文件系統(tǒng),英文全稱(chēng)為“un mount”,語(yǔ)法格式為“umount [設(shè)備文件/掛載目錄](méi)”。

       

      df 命令用于查看已掛載的磁盤(pán)空間使用情況,英文全稱(chēng)為“disk free”,語(yǔ)法格式為df -h”。-h參數(shù)使用易讀單位顯示

      lsblk 命令用于查看已掛載的磁盤(pán)的空間使用情況,英文全稱(chēng)為“l(fā)ist block id”,以樹(shù)狀圖的形式列舉

       --------------一般分區(qū)操作----------------------------------------------------------------------------------

      fdisk 命令用于新建、修改及刪除磁盤(pán)的分區(qū)表信息,英文全稱(chēng)為“format disk”,語(yǔ)法格式為“fdisk 磁盤(pán)名稱(chēng)”。

      fdisk 命令中的參數(shù)以及作用:

      m 查看全部可用的參數(shù)

      n 添加新的分區(qū)

      d 刪除某個(gè)分區(qū)信息 

      l 列出所有可用的分區(qū)類(lèi)型

      t 改變某個(gè)分區(qū)的類(lèi)型

      p 查看分區(qū)表信息

      w 保存并退出

      q 不保存直接退出

      分區(qū)例子:

      1.   fdisk /dev/sdb

      2.   看到提示信息后輸入?yún)?shù) p 來(lái)查看 硬盤(pán)設(shè)備內(nèi)已有的分區(qū)信息,其中包括了硬盤(pán)的容量大小、扇區(qū)個(gè)數(shù)等信息

      2-0.輸入 o 來(lái)新建一個(gè) MBR 分區(qū)表并清除磁盤(pán)上的所有數(shù)據(jù);輸入 g 來(lái)新建一個(gè)GUID分區(qū)表 (GPT)。 如果已創(chuàng)建所需的分區(qū)表,請(qǐng)?zhí)^(guò)此步驟。

      3.  輸入?yún)?shù) n 嘗試添加新的分區(qū)

      4.  系統(tǒng)會(huì)要求用戶(hù)是選擇繼續(xù)輸入?yún)?shù) p 來(lái)創(chuàng)建主分區(qū), 還是輸入?yún)?shù) e 來(lái)創(chuàng)建擴(kuò)展分區(qū)。這里輸入?yún)?shù) p 來(lái)創(chuàng)建一個(gè)主分區(qū)

      5.系統(tǒng)要求用戶(hù)先輸入主分區(qū)的編號(hào),這里輸入1或者直接回車(chē)默認(rèn)1

      6.  接下來(lái)系統(tǒng)會(huì)提示定義起始的扇 區(qū)位置,這不需要改動(dòng),敲擊回車(chē)鍵保留默認(rèn)設(shè)置即可,系統(tǒng)會(huì)自動(dòng)計(jì)算出最靠前的空閑 扇區(qū)的位置

      7.  最后,系統(tǒng)會(huì)要求定義分區(qū)的結(jié)束扇區(qū)位置,這其實(shí)就是要去定義整個(gè)分區(qū) 的大小是多少。我們不用去計(jì)算扇區(qū)的個(gè)數(shù),只需要輸入+2G 即可創(chuàng)建出一個(gè)容量為 2GB 的硬盤(pán)分區(qū)。

      8. 再次使用參數(shù) p 來(lái)查看硬盤(pán)設(shè)備中的分區(qū)信息。果然就能看到一個(gè)名稱(chēng)為/dev/sdb1、起 始扇區(qū)位置為 2048、結(jié)束扇區(qū)位置為 4196351 的主分區(qū)了。

      9.  這時(shí)千萬(wàn)不要直接關(guān)閉窗口,而 應(yīng)該敲擊參數(shù) w 后按回車(chē)鍵,這樣分區(qū)信息才是真正地寫(xiě)入成功

      在上述步驟執(zhí)行完畢之后,Linux 系統(tǒng)會(huì)自動(dòng)把這個(gè)硬盤(pán)主分區(qū)抽象成/dev/sdb1 設(shè)備文 件。可以使用 file 命令查看該文件的屬性,但我在講課和工作中發(fā)現(xiàn),有些時(shí)候系統(tǒng)并沒(méi)有 自動(dòng)把分區(qū)信息同步給 Linux 內(nèi)核,而且這種情況似乎還比較常見(jiàn)(但不能算作嚴(yán)重的 bug)。 可以輸入 partprobe 命令手動(dòng)將分區(qū)信息同步到內(nèi)核,而且一般推薦連續(xù)兩次執(zhí)行該命令

      10.格式化操作,命令是mkfs

      這個(gè) mkfs 命令很貼心地把常用的文件系統(tǒng)名稱(chēng)用后綴的方式保存成了多個(gè)命令文件,因?yàn)樵?Shell 終端中輸入 mkfs 名后再敲擊兩下用于補(bǔ)齊命令的 Tab 鍵,會(huì)顯示出這些命令,如mkfs.ext4   mkfs.xfs

      用起來(lái)也非常簡(jiǎn)單 — mkfs.文件類(lèi)型名稱(chēng)。例如要將分區(qū)為 XFS 的文件系統(tǒng)進(jìn)行格式化,
      則命令應(yīng)為 mkfs.xfs /dev/sdb1

      11.建立swap交換分區(qū),按照上面步驟2-9,再建立一個(gè)主分區(qū)

      建好后需要改一下分區(qū)類(lèi)型,輸入l可查看支持的類(lèi)型及對(duì)應(yīng)的id(例如82 linux swap ),然后輸入t回車(chē),提示輸入分區(qū)號(hào),這里輸入2回車(chē),再輸入82回車(chē),輸入p查看改的類(lèi)型(id和type)是否正確,正確的話(huà)輸入w回車(chē)寫(xiě)入生效即可,

      在生產(chǎn)環(huán)境中,交換分區(qū)的大小一般為真實(shí)物理內(nèi)存的 1.5~2 倍。

      mkswap 命令用于對(duì)新設(shè)備進(jìn)行交換分區(qū)格式化,英文全稱(chēng)為“make swap”,語(yǔ)法格式為“mkswap 設(shè)備名稱(chēng)”。

      mkswap /dev/sdb2

      swapon 命令用于激活新的交換分區(qū)設(shè)備,英文全稱(chēng)為“swap on”,語(yǔ)法格式為“swapon設(shè)備名稱(chēng)”。

      swapon /dev/sdb2

      12. 如果是UEFI 引導(dǎo)需要額外的分區(qū),類(lèi)型為: EFI(FAT-12/16/32)

      13.想要分區(qū)在重啟后依然生效,需要編輯/etc/fstab文件寫(xiě)入相關(guān)配置

      14.a 可以將一個(gè) MBR 分區(qū)設(shè)置為可啟動(dòng)分區(qū)


      --------------------------------------------------------------------------------------------------------------------

      du 命令用查看分區(qū)或目錄所占用的磁盤(pán)容量大小,英文全稱(chēng)為“disk usage”,語(yǔ)法格式為“du -sh 目錄名稱(chēng)”。可以使用 du -sh /*命令來(lái)查看在 Linux 系統(tǒng)根目錄下所有一級(jí)目錄分別

      占用的空間大小,在 1s 之內(nèi)就能找到哪個(gè)目錄占用的空間最多

       

      使用 free -m 命令查看交換分區(qū)的大小變化

       

      軟連接也叫符號(hào)鏈接(symbolic link),僅僅包含所鏈接文件的名稱(chēng)和路徑,很像一個(gè)記錄地址的標(biāo)簽。當(dāng)原始文件被刪除或移動(dòng)后,新的鏈接文件也會(huì)隨之失效,不能被訪問(wèn)

      硬鏈接可以將它理解為一個(gè)“指向原始文件 block 的指針”,系統(tǒng)會(huì)創(chuàng)建出一個(gè)與原來(lái)一模一樣的 inode 信息塊。所以,硬鏈接文件與原始文件其實(shí)是一模
      一樣的,只是名字不同。每添加一個(gè)硬鏈接,該文件的 inode 個(gè)數(shù)就會(huì)增加 1;而且只有當(dāng)該文件的 inode 個(gè)數(shù)為 0 時(shí),才算徹底將它刪除

      ln 命令用于創(chuàng)建文件的軟硬鏈接,英文全稱(chēng)為“l(fā)ink”,語(yǔ)法格式為“l(fā)n [參數(shù)]原始文件名 鏈接文件名”。

       

      -s創(chuàng)建“符號(hào)鏈接”(如果不帶-s 參數(shù),則默認(rèn)創(chuàng)建硬鏈接)

      -f強(qiáng)制創(chuàng)建文件或目錄的鏈接

      -i 覆蓋前先詢(xún)問(wèn)

      -v 顯示創(chuàng)建鏈接的過(guò)程

       ----------------------------基礎(chǔ)命令-----------------------------------------------------------------

      網(wǎng)卡參數(shù)配置方法:

      1.vim編輯配置文件: cd 切換到  /etc/sysconfig/network-scripts  目錄中(存放著網(wǎng)卡的配置文件),vim 需要配置的網(wǎng)卡文件(名稱(chēng)一般為: ifcfg-網(wǎng)卡名  )

       

      TYPE=Ethernet #設(shè)備類(lèi)型
      BOOTPROTO=static #地址分配模式
      NAME=ens160 #網(wǎng)卡名稱(chēng)
      ONBOOT=yes #是否啟動(dòng)
      IPADDR=192.168.10.10
      NETMASK=255.255.255.0
      GATEWAY=192.168.10.1
      DNS1=192.168.10.1

       

      2.  nmtui 命令: 配置網(wǎng)卡參數(shù)的圖形工具

      配置完成后需要輸入命令重新載入后才能生效:nmcli connection reload ens160   如果還不行,執(zhí)行命令 nmcli connection up ens160

      -------------------------------------------------

      echo 命令用于在終端設(shè)備上輸出字符串或變量提取后的值,語(yǔ)法格式為“echo [字符串] 例如:[root@linuxprobe~]# echo $SHELL
      [$變量]”。

      top:加強(qiáng)版任務(wù)監(jiān)視器

      date 查看或設(shè)置日期時(shí)間 例如設(shè)置時(shí)間date -s "20201101 8:30:00"

      timedatectl 查看或設(shè)置時(shí)間及時(shí)區(qū) 例如 查看 timedatectl status  設(shè)置中國(guó)時(shí)區(qū):timedatectl set-timezone Asia/Shanghai

      wget 命令用于在終端命令行中下載網(wǎng)絡(luò)文件,英文全稱(chēng)為“web get”,語(yǔ)法格式為“wget
      [參數(shù)] 網(wǎng)址”。

      ps 命令用于查看系統(tǒng)中的進(jìn)程狀態(tài)

      -a顯示所有進(jìn)程(包括其他用戶(hù)的進(jìn)程)

      -u用戶(hù)以及其他詳細(xì)信息

      -x顯示沒(méi)有控制終端的進(jìn)程

      -e 等于“-A”

      • D 不可中斷 uninterruptible sleep (usually IO)
      • R 運(yùn)行 runnable (on run queue)
      • S 中斷 sleeping
      • T 停止 traced or stopped
      • Z 僵死 a defunct (”zombie”) process

      除了上面 5 種常見(jiàn)的進(jìn)程狀態(tài),還有可能是高優(yōu)先級(jí)(<)、低優(yōu)先級(jí)(N)、被鎖進(jìn)內(nèi)存
      (L)、包含子進(jìn)程(s)以及多線(xiàn)程(l)這 5 種補(bǔ)充形式。

      常用組合形式:

      ps -ef   顯示所有進(jìn)程信息,連同命令行

      ps -ef|grep ssh   ps 與grep 常用組合用法,查找特定進(jìn)程

      ps -l   將目前屬于您自己這次登入的 PID 與相關(guān)信息列示出來(lái)

      ps aux   列出目前所有的正在內(nèi)存當(dāng)中的程序

      ps -u root   顯示指定用戶(hù)信息

      pidof 命令用于查詢(xún)某個(gè)指定服務(wù)進(jìn)程的 PID 號(hào)碼值,語(yǔ)法格式為“pidof [參數(shù)] 服務(wù)名稱(chēng)”

      kill 命令用于終止某個(gè)指定 PID 值的服務(wù)進(jìn)程,語(yǔ)法格式為“kill [參數(shù)] 進(jìn)程的 PID”。

      killall 命令用于終止某個(gè)指定名稱(chēng)的服務(wù)所對(duì)應(yīng)的全部進(jìn)程,語(yǔ)法格式為“killall [參數(shù)] 服
      務(wù)名稱(chēng)”

      ifconfig 命令用于獲取網(wǎng)卡配置與網(wǎng)絡(luò)狀態(tài)等信息,英文全稱(chēng)為“interface config”,語(yǔ)法
      格式為“ifconfig [參數(shù)] [網(wǎng)絡(luò)設(shè)備]”

      uname 命令用于查看系統(tǒng)內(nèi)核版本與系統(tǒng)架構(gòu)等信息,英文全稱(chēng)為“unix name”,語(yǔ)法格
      式為“uname [-a]”,一般要固定搭配上-a 參數(shù)來(lái)完整地查看

      uptime 命令用于查看系統(tǒng)的負(fù)載信息,輸入該命令后按回車(chē)鍵執(zhí)行即可。顯示平均負(fù)載值:系統(tǒng)在最近 1 分鐘、5 分鐘、15 分鐘內(nèi)的壓力情況,建
      議負(fù)載值保持在 1 左右,在生產(chǎn)環(huán)境中不要超過(guò) 5 就好。

      free 命令用于顯示當(dāng)前系統(tǒng)中內(nèi)存的使用量信息,語(yǔ)法格式為“free [-h]” ,如果不使用-h(易讀模式)查看內(nèi)存使用量情況,則默認(rèn)以 KB 為單位

      who 命令用于查看當(dāng)前登入主機(jī)的用戶(hù)終端信息

      last 命令用于調(diào)取主機(jī)的被訪記錄

      tracepath 命令用于顯示數(shù)據(jù)包到達(dá)目的主機(jī)時(shí)途中經(jīng)過(guò)的所有路由信息,語(yǔ)法格式為
      “tracepath [參數(shù)] 域名”

      netstat 命令用于顯示如網(wǎng)絡(luò)連接、路由表、接口狀態(tài)等的網(wǎng)絡(luò)相關(guān)信息,英文全稱(chēng)為
      “network status”,語(yǔ)法格式為“netstat [參數(shù)]”。

      history 命令用于顯示執(zhí)行過(guò)的命令歷史,語(yǔ)法格式為“history [-c]”。可以使用“!編碼數(shù)字”的方式來(lái)重復(fù)執(zhí)行某一次的命令

      --------------------------------------

      pwd 命令用于顯示用戶(hù)當(dāng)前所處的工作目錄,英文全稱(chēng)為“print working directory”

      cd 命令用于切換當(dāng)前的工作路徑,英文全稱(chēng)為“change directory”,語(yǔ)法格式為“cd [參
      數(shù)] [目錄](méi)”。可以使用“cd -”命令返回到上一次所處的目錄,
      使用“cd..”命令進(jìn)入上級(jí)目錄,以及使用“cd~”命令切換到當(dāng)前用戶(hù)的家目錄,抑或使用
      “cd~username”命令切換到其他用戶(hù)的家目錄

      ls 命令用于顯示目錄中的文件信息,英文全稱(chēng)為“l(fā)ist”,語(yǔ)法格式為“l(fā)s [參數(shù)] [文件名稱(chēng)]”。使用 ls 命令的-a 參數(shù)
      可以看到全部文件(包括隱藏文件),使用-l 參數(shù)可以查看文件的屬性、大小等詳細(xì)信息。如果想要查看目錄屬性信息,則需要額外添加一個(gè)-d 參數(shù)。

      tree 命令用于以樹(shù)狀圖的形式列出目錄內(nèi)容及結(jié)構(gòu),輸入該命令后按回車(chē)鍵執(zhí)行即可。

      find 命令用于按照指定條件來(lái)查找文件所對(duì)應(yīng)的位置,語(yǔ)法格式為“find [查找范圍] 尋
      找條件”

      locate 命令用于按照名稱(chēng)快速搜索文件所對(duì)應(yīng)的位置,語(yǔ)法格式為“l(fā)ocate 文件名稱(chēng)”。在使用 locate 命令時(shí),先使用 updatedb
      令生成一個(gè)索引庫(kù)文件,這個(gè)庫(kù)文件的名字是/var/lib/mlocate/mlocate.db,后續(xù)在使用 locate
      命令搜索文件時(shí)就是在該庫(kù)中進(jìn)行查找操作,速度會(huì)快很多

      whereis 命令用于按照名稱(chēng)快速搜索二進(jìn)制程序(命令)、源代碼以及幫助文件所對(duì)應(yīng)的
      位置,語(yǔ)法格式為“whereis 命令名稱(chēng)”。

      ------------------------------------------文本文件編輯命令-------------

      cat 命令用于查看純文本文件(內(nèi)容較少的),英文全稱(chēng)為“concatenate”,語(yǔ)法格式為“cat
      [參數(shù)] 文件名稱(chēng)”。

      more 命令用于查看純文本文件(內(nèi)容較多的),語(yǔ)法格式為“more [參數(shù)] 文件名稱(chēng)”。

      head 命令用于查看純文本文件的前 N 行,語(yǔ)法格式為“head [參數(shù)] 文件名稱(chēng)”。例如:  head -n 10 initial-setup-ks.cfg

      tail 命令用于查看純文本文件的后 N 行或持續(xù)刷新文件的最新內(nèi)容,語(yǔ)法格式為“tail [參
      數(shù)] 文件名稱(chēng)”。tail 命令最強(qiáng)悍的功能是能夠持續(xù)刷新一個(gè)文件的內(nèi)容,當(dāng)想要實(shí)時(shí)查看最新的日志文件
      時(shí),這特別有用,此時(shí)的命令格式為“tail -f 文件名稱(chēng)

      wc 命令用于統(tǒng)計(jì)指定文本文件的行數(shù)、字?jǐn)?shù)或字節(jié)數(shù),英文全稱(chēng)為“word counts”,語(yǔ)
      法格式為“wc [參數(shù)] 文件名稱(chēng)”;-l只顯示行數(shù),-w只顯示單詞數(shù),-c 只顯示字節(jié)數(shù)

      stat 命令用于查看文件的具體存儲(chǔ)細(xì)節(jié)和時(shí)間等信息,英文全稱(chēng)為“status”,語(yǔ)法格式為
      “stat 文件名稱(chēng)”。

      grep 命令用于按行提取文本內(nèi)容,語(yǔ)法格式為“grep [參數(shù)] 文件名稱(chēng)”。grep 命令是用途最廣泛的文本搜索匹配工具(常與管道符|結(jié)合使用搜索前一個(gè)命令的輸出,例如:history|grep home)。它雖然有很多參數(shù),但是大多數(shù)基本上都
      用不到。兩個(gè)最常用的參數(shù):-n 參數(shù)用來(lái)顯示搜索到的信息的行號(hào);-v 參數(shù)用于反選信息(即沒(méi)有包含關(guān)鍵詞的所有信息行)。

      cut 命令用于按“列”提取文本內(nèi)容,語(yǔ)法格式為“cut [參數(shù)] 文件名稱(chēng)”。一般而言,按基于“行”的方式來(lái)提取數(shù)據(jù)是比較簡(jiǎn)單的,只需要設(shè)置好要搜索的關(guān)鍵
      詞即可。但是如果按“列”搜索,不僅要使用-f 參數(shù)設(shè)置需要查看的列數(shù),還需要使用-d 參
      數(shù)來(lái)設(shè)置間隔符號(hào)。
      接下來(lái)使用下述命令嘗試提取出 passwd 文件中的用戶(hù)名信息,即提取以冒號(hào)(:)為間
      隔符號(hào)的第一列內(nèi)容:cut -d : -f 1 /etc/passwd

      -----------------------------------------文件目錄管理命令------------------

      touch 命令用于創(chuàng)建空白文件或設(shè)置文件的時(shí)間,語(yǔ)法格式為“touch [參數(shù)] 文件名稱(chēng)”。

      mkdir 命令用于創(chuàng)建空白的目錄,英文全稱(chēng)為“make directory”,語(yǔ)法格式為“mkdir [參
      數(shù)] 目錄名稱(chēng)”。-p 參數(shù)來(lái)遞歸創(chuàng)建出具有嵌套層疊
      關(guān)系的文件目錄

      cp 命令用于復(fù)制文件或目錄,英文全稱(chēng)為“copy”,語(yǔ)法格式為“cp [參數(shù)] 源文件名稱(chēng) 目
      標(biāo)文件名稱(chēng)”。

      -p保留原始文件的屬性

      -d若對(duì)象為“鏈接文件”,則保留該“鏈接文件”的屬性

      -r遞歸持續(xù)復(fù)制(用于目錄)

      -i若目標(biāo)文件存在則詢(xún)問(wèn)是否覆蓋

      -a相當(dāng)于-pdr(p、d、r 為上述參數(shù))

      mv 命令用于剪切或重命名文件,英文全稱(chēng)為“move”,語(yǔ)法格式為“mv [參數(shù)] 源文件
      名稱(chēng) 目標(biāo)文件名稱(chēng)”。

      rm 命令用于刪除文件或目錄,英文全稱(chēng)為“remove”,語(yǔ)法格式為“rm [參數(shù)] 文件
      名稱(chēng)”。

      -f  強(qiáng)制執(zhí)行

      -i刪除前詢(xún)問(wèn)

      -r刪除目錄

      -v 顯示過(guò)程

      file 命令用于查看文件的類(lèi)型,語(yǔ)法格式為“file 文件名稱(chēng)”。

      tar 命令用于對(duì)文件進(jìn)行打包壓縮或解壓,語(yǔ)法格式為“tar 參數(shù) 文件名稱(chēng)”。

      -c  創(chuàng)建壓縮文件

      -x  解開(kāi)壓縮文件

      -t  查看壓縮包內(nèi)有哪些文件

      -z  用 gzip 壓縮或解壓

      -j  用 bzip2 壓縮或解壓

      -v  顯示壓縮或解壓的過(guò)程

      -f  目標(biāo)文件名

      -p  保留原始的權(quán)限與屬性

      -P  使用絕對(duì)路徑來(lái)壓縮

      -C  指定解壓到的目錄

      一般使用“tar -czvf 壓縮包名稱(chēng).tar.gz 要打包的目錄”命令把指定的文件進(jìn)行打包壓縮;

      相應(yīng)的解壓命令為   “tar -xzvf 壓縮包名稱(chēng).tar.gz”。

      將打包后的壓縮包文件指定解壓到/root/etc 目錄中(先使用 mkdir 命令創(chuàng)建/root/etc目錄) 

      [root@linuxprobe~]# mkdir /root/etc
      [root@linuxprobe~]# tar xzvf etc.tar.gz -C /root/etc

      -----------------管道符、重定向與環(huán)境變量-----------

      ------輸入輸出重定向----

      命令 > 文件   將標(biāo)準(zhǔn)輸出重定向到一個(gè)文件中(清空原有文件的數(shù)據(jù))

      命令 2> 文件   將錯(cuò)誤輸出重定向到一個(gè)文件中(清空原有文件的數(shù)據(jù))

      命令 >> 文件   將標(biāo)準(zhǔn)輸出重定向到一個(gè)文件中(追加到原有內(nèi)容的后面)

      命令 2>> 文件   將錯(cuò)誤輸出重定向到一個(gè)文件中(追加到原有內(nèi)容的后面)

      命令 >> 文件 2>&1

      命令 &>> 文件    將標(biāo)準(zhǔn)輸出與錯(cuò)誤輸出共同寫(xiě)入到文件中(追加到原有內(nèi)容的后面)

      -----------------管道命令符------------

      同時(shí)按下鍵盤(pán)上的 Shift+反斜杠(\)鍵即可輸入管道符,其執(zhí)行格式為“命令 A | 命令 B”。

       管道命令符的作用也可以用一句話(huà)概括為:"把前一個(gè)命令 原本要輸出到屏幕的信息 當(dāng)做 后一個(gè)命令 的 標(biāo)準(zhǔn)輸入"

      比如用翻頁(yè)的形式查看/etc 目錄中的文件列表及屬性信息 ls -l /etc/ | more

      在修改用戶(hù)密碼時(shí),通常都需要輸入兩次密碼以進(jìn)行確認(rèn),這在編寫(xiě)自動(dòng)化腳本時(shí)將成
      為一個(gè)非常致命的缺陷。通過(guò)把管道符和 passwd 命令的--stdin 參數(shù)相結(jié)合,可以用一條命令
      來(lái)完成密碼重置操作:echo "linuxprobe" | passwd --stdin root

      如果需要將管道符處理后的結(jié)果既輸出到屏幕,又同時(shí)寫(xiě)入到文件中,則可
      以與 tee 命令結(jié)合使用。下述命令將顯示系統(tǒng)中所有與 bash 相關(guān)的進(jìn)程信息,并同時(shí)將輸出到屏幕和文件中:ps aux | grep bash | tee result.txt

      *******Vim 編輯器與 Shell 命令腳本*************

      ----------------------------------------------------------Vim 文本編輯器-----------

      命令模式中最常用的一些命令:

      dd  刪除(剪切)光標(biāo)所在整行

      5dd  刪除(剪切)從光標(biāo)處開(kāi)始的 5 行

      yy 復(fù)制光標(biāo)所在整行

      5yy  復(fù)制從光標(biāo)處開(kāi)始的 5 行

      n  顯示搜索命令定位到的下一個(gè)字符串

      N  顯示搜索命令定位到的上一個(gè)字符串

      u   撤銷(xiāo)上一步的操作

      p  將之前刪除(dd)或復(fù)制(yy)過(guò)的數(shù)據(jù)粘貼到光標(biāo)后面

      末行模式中常用的一些命令:

      :q!  強(qiáng)制退出(放棄對(duì)文檔的修改內(nèi)容)

      :wq!  強(qiáng)制保存退出

      :set nu  顯示行號(hào)

      :整數(shù)  跳轉(zhuǎn)到該行

      :s/one/two  將當(dāng)前光標(biāo)所在行的第一個(gè) one 替換成 two

      :s/one/two/g  將當(dāng)前光標(biāo)所在行的所有 one 替換成 two

      :%s/one/two/g  將全文中的所有 one 替換成 two

      ?字符串  在文本中從下至上搜索該字符串

      /字符串  在文本中從上至下搜索該字符串

      可以分別使用 a、i、o 這 3 個(gè)鍵從命令模式切換到輸入模式。其中,a
      鍵與 i 鍵分別是在光標(biāo)后面一位和光標(biāo)當(dāng)前位置切換到輸入模式,而 o 鍵則是在光標(biāo)的下面
      再創(chuàng)建一個(gè)空行

      ---------------------計(jì)劃任務(wù)服務(wù)程序---------------------

      ##長(zhǎng)期計(jì)劃任務(wù) 使用 Linux 系統(tǒng)中默認(rèn)啟用的 crond 服務(wù)

      創(chuàng)建、編輯計(jì)劃任務(wù)的命令為 crontab -e,查看當(dāng)前計(jì)劃任務(wù)的命令為 crontab -l,刪除某條計(jì)劃任務(wù)的命令為 crontab -r。

      另外,如果您是以管理員的身份登錄的系統(tǒng),還可以在 crontab 命令中加上-u 參數(shù)來(lái)編輯他人的計(jì)劃任務(wù)。

       

      諸如 crond 在內(nèi)的很多服務(wù)默認(rèn)調(diào)用的是 Vim 編輯器,所以刪除 crond 計(jì)劃任務(wù),也可以 直接使用 crontab -e 命令進(jìn)入編輯界面,刪除里面的文 本信息即可。

      crontab 命令中的參數(shù)及其作用

      -e 編輯計(jì)劃任務(wù)

      -u 指定用戶(hù)名稱(chēng)

      -l 列出任務(wù)列表

      -r 刪除計(jì)劃任務(wù)

       

      口訣“分、時(shí)、日、月、星期 命令”。 這是使用 crond 服務(wù)設(shè)置任務(wù)的參數(shù)格式(其格式見(jiàn)表 4-8)。需要注意的是,如果有些字段 沒(méi)有被設(shè)置,則需要使用星號(hào)( *)占位

      使用 crond 設(shè)置任務(wù)的參數(shù)字段說(shuō)明

      分鐘 取值為 0~59 的整數(shù)

      小時(shí) 取值為 0~23 的任意整數(shù)

      日期 取值為 1~31 的任意整數(shù)

      月份 取值為 1~12 的任意整數(shù)

      星期 取值為 0~7 的任意整數(shù),其中 0 與 7 均為星期日

      命令 要執(zhí)行的命令或程序腳本

       

      例子:

      假設(shè)在每周一、三、五的凌晨 3:25,都需要使用 tar 命令把某個(gè)網(wǎng)站的數(shù)據(jù)目錄進(jìn)行打包 處理,使其作為一個(gè)備份文件。我們可以使用 crontab -e 命令來(lái)創(chuàng)建計(jì)劃任務(wù),為自己創(chuàng)建計(jì) 劃任務(wù)時(shí)無(wú)須使用-u 參數(shù)。

      25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot

       

      如果在 crond 服務(wù)中需要同時(shí)包含多條計(jì)劃任務(wù)的命令語(yǔ)句,應(yīng)每行僅寫(xiě)一條。 

      尤其 需要注意的是,在 crond 服務(wù)的計(jì)劃任務(wù)參數(shù)中,所有命令一定要用絕對(duì)路徑的方式來(lái)寫(xiě),如果 不知道絕對(duì)路徑,請(qǐng)用 whereis 命令進(jìn)行查詢(xún)

      除了用逗號(hào)(,)來(lái)分別表示多個(gè)時(shí)間段,例如“8,9,12”表示 8 月、9 月 和 12 月。還可以用減號(hào)(-)來(lái)表示一段連續(xù)的時(shí)間周期(例如字段“日”的取值為“12-15”, 則表示每月的 12~15 日)。

      還可以用除號(hào)(/)表示執(zhí)行任務(wù)的間隔時(shí)間(例如“*/2”表示每 隔 2 分鐘執(zhí)行一次任務(wù))

      例子2:

       再 添加一條計(jì)劃任務(wù),它的功能是每周一至周五的凌晨 1 點(diǎn)自動(dòng)清空/tmp 目錄內(nèi)的所有文件。

      #上一條任務(wù)

      25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot  

      #本次添加的任務(wù),一行一條命令

      0 1 * * 1-5 /usr/bin/rm -rf /tmp/*

       

      總結(jié)一下使用計(jì)劃服務(wù)的注意事項(xiàng)。

      ? 在 crond 服務(wù)的配置參數(shù)中,一般會(huì)像 Shell 腳本那樣以#號(hào)開(kāi)頭寫(xiě)上注釋信息,這樣 在日后回顧這段命令代碼時(shí)可以快速了解其功能、需求以及編寫(xiě)人員等重要信息。

      ? 計(jì)劃任務(wù)中的“分”字段必須有數(shù)值,絕對(duì)不能為空或是*號(hào),而“日”和“星期” 字段不能同時(shí)使用,否則就會(huì)發(fā)生沖突。

       

      **********************************************************************************************************

      --------------------------------------用戶(hù)身份與文件權(quán)限-------------------------------

      管理員UID為0

      系統(tǒng)用戶(hù)UID為1~999

      普通用戶(hù)UID從1000開(kāi)始

      id 命令用于顯示用戶(hù)的詳細(xì)信息,語(yǔ)法格式為“id 用戶(hù)名”。

      useradd 命令用于創(chuàng)建新的用戶(hù)賬戶(hù),語(yǔ)法格式為“useradd [參數(shù)] 用戶(hù)名”。

      groupadd 命令用于創(chuàng)建新的用戶(hù)組,語(yǔ)法格式為“groupadd [參數(shù)] 群組名”。

      usermod 命令用于修改用戶(hù)的屬性,英文全稱(chēng)為“user modify”,語(yǔ)法格式為“usermod [參
      數(shù)] 用戶(hù)名”。

      例子:將已有用戶(hù)加入已有組

      usermod -aG 組名1,組名2,組名3 用戶(hù)名

      #-a 代表 append, 也就是將用戶(hù)添加到新用戶(hù)組中而不必離開(kāi)原有的其他用戶(hù)組

      #將已有用戶(hù)的主用戶(hù)組改為新的用戶(hù)組
      usermod -g <新的用戶(hù)組名稱(chēng)> <用戶(hù)名稱(chēng)>

      將用戶(hù)移出用戶(hù)組

      #gpasswd 是 Linux 下工作組文件 /etc/group 和 /etc/gshadow 管理工具,用于將一個(gè)用戶(hù)添加到組或者從組中刪除。

      gpasswd -d 用戶(hù)名 組名

       

      passwd 命令用于修改用戶(hù)的密碼、過(guò)期時(shí)間等信息,英文全稱(chēng)為“password”,語(yǔ)法格式
      為“passwd [參數(shù)] 用戶(hù)名”。

      userdel 命令用于刪除已有的用戶(hù)賬戶(hù),英文全稱(chēng)為“user delete”,語(yǔ)法格式為“userdel [參
      數(shù)] 用戶(hù)名”。

       

      文件的可讀、可寫(xiě)、可執(zhí)行權(quán)限的英文全稱(chēng)分別是 read、write、execute,

      可以簡(jiǎn)寫(xiě)為 r、w、x,亦可分別用數(shù)字 4、2、1 來(lái)表示,

      文件所有者、文件所屬組及其他用戶(hù)權(quán)限之間無(wú)關(guān)聯(lián)

      對(duì)于目錄文件來(lái)說(shuō),可讀表示能夠讀取目錄內(nèi)的文件列表;可寫(xiě)表示能夠在目錄內(nèi)新
      增、刪除、重命名文件;而可執(zhí)行則表示能夠進(jìn)入該目錄,以下為對(duì)應(yīng)可執(zhí)行命令:

               文件      目錄

      可讀(r      cat       ls
      可寫(xiě)(w     vim        touch
      可執(zhí)行(x   ./script         cd

       

      排在權(quán)限前面的減號(hào)(-)是文件類(lèi)型(減號(hào)表示普通文件),新手經(jīng)常會(huì)把它跟“無(wú)權(quán)
      限”混淆。盡管在 Linux 系統(tǒng)中一切都是文件,但是不同的文件由于作用不同,因此類(lèi)型也
      不盡相同(有一點(diǎn)像 Windows 系統(tǒng)的后綴名)。

      常見(jiàn)的文件類(lèi)型包括:

      普通文件(-)、目錄文件(d)、鏈接文件(l)、管道文件(p)、塊設(shè)備文件(b)以及字符設(shè)備文件(c)

      例如:

      某個(gè)文件夾     drwxr-xr-x  含義:文件夾/可讀可寫(xiě)可執(zhí)行(所有者者權(quán)限)/可讀不可寫(xiě)可執(zhí)行(所有組)/可讀不可寫(xiě)可執(zhí)行(其他用戶(hù))

      某個(gè)文件.sh    -rwxr--r--

       

      chattr 命令用于設(shè)置文件的隱藏權(quán)限,英文全稱(chēng)為 change attributes,語(yǔ)法格式為“chattr [參
      數(shù)] 文件名稱(chēng)”。如果想要把某個(gè)隱藏功能添加到文件上,則需要在命令后面追加“+參數(shù)”,如果想要把
      某個(gè)隱藏功能移出文件,則需要追加“-參數(shù)”。

      我們一般會(huì)將-a 參數(shù)設(shè)置到日志文件(/var/log/messages)上,這樣可在不影響系統(tǒng)正常
      寫(xiě)入日志的前提下,防止黑客擦除自己的作案證據(jù)。如果希望徹底地保護(hù)某個(gè)文件,不允許
      任何人修改和刪除它的話(huà),不妨加上-i 參數(shù)試試,效果特別好。要想徹底刪除某個(gè)文件,可以使用-s 參數(shù)來(lái)保證其被
      刪除后不可恢復(fù)

      lsattr 命令用于查看文件的隱藏權(quán)限,英文全稱(chēng)為“l(fā)ist attributes”,語(yǔ)法格式為“l(fā)sattr [參
      數(shù)] 文件名稱(chēng)”。

      -----文件訪問(wèn)控制列表----

      前文講解的一般權(quán)限、特殊權(quán)限、隱藏權(quán)限其實(shí)有一個(gè)共性 — 權(quán)
      限是針對(duì)某一類(lèi)用戶(hù)設(shè)置的,能夠?qū)芏嗳送瑫r(shí)生效。如果希望對(duì)某個(gè)指定的用戶(hù)進(jìn)行單獨(dú)
      的權(quán)限控制,就需要用到文件的訪問(wèn)控制列表(ACL)了。

      setfacl 命令用于管理文件的 ACL 權(quán)限規(guī)則,英文全稱(chēng)為“set files ACL”,語(yǔ)法格式為
      “setfacl [參數(shù)] 文件名稱(chēng)”。

      -m  修改權(quán)限

      -M  從文件中讀取權(quán)限

      -x  刪除某個(gè)權(quán)限

      -b  刪除全部權(quán)限

      -R  遞歸子目錄

      例子:[root@linuxprobe~]# setfacl -Rm u:linuxprobe:rwx /root

      常用的 ls 命令是看不到 ACL 信息的,但是卻可以看到文件權(quán)限的最后一個(gè)點(diǎn)( .)
      變成了加號(hào)( +),這就意味著該文件已經(jīng)設(shè)置了 ACL

      getfacl 命令用于查看文件的 ACL 權(quán)限規(guī)則,英文全稱(chēng)為“get files ACL”,語(yǔ)法格式為
      “getfacl [參數(shù)] 文件名稱(chēng)”。

       

      -------su 命令與 sudo 服務(wù)---

      從 root 管理員切換至普通用戶(hù):[root@linuxprobe~]# su - linuxprobe

       su 命令與用戶(hù)名之間有一個(gè)減號(hào)(-),這意味著完全切換到新的用戶(hù),即把環(huán)境變量信息也變更為新用戶(hù)的相應(yīng)信息,而不是保留原始的信息。

      強(qiáng)烈建議在切換用戶(hù)身份時(shí)添加這個(gè)減號(hào)(-)

      sudo 命令用于給普通用戶(hù)提供額外的權(quán)限,語(yǔ)法格式為“sudo [參數(shù)] 用戶(hù)名”。

      visudo 命令用于編輯、配置用戶(hù) sudo 的權(quán)限文件,語(yǔ)法格式為“visudo [參數(shù)]”。

      這是一條會(huì)自動(dòng)調(diào)用 vi 編輯器來(lái)配置/etc/sudoers 權(quán)限文件的命令,能夠解決多個(gè)用戶(hù)同
      時(shí)修改權(quán)限而導(dǎo)致的沖突問(wèn)題。不僅如此,visudo 命令還可以對(duì)配置文件內(nèi)的參數(shù)進(jìn)行語(yǔ)法
      檢查,并在發(fā)現(xiàn)參數(shù)錯(cuò)誤時(shí)進(jìn)行報(bào)錯(cuò)提醒。這要比用戶(hù)直接修改文件更友好、安全、方便。

       

      可以添加 NOPASSWD 參數(shù),
      使得用戶(hù)下次再執(zhí)行 sudo 命令時(shí)就不用密碼驗(yàn)證:

      [root@linuxprobe~]# visudo
      99 ## Allow root to run any commands anywhere
      100 root ALL=(ALL) ALL
      101 linuxprobe ALL=(ALL) NOPASSWD: /usr/bin/cat,/usr/sbin/reboot

       

      --------------------------------------------------

       

      對(duì)于 MySQL
      數(shù)據(jù)庫(kù)來(lái)說(shuō),我們需要在系統(tǒng)中創(chuàng)建一個(gè)名為 mysql 的用戶(hù),專(zhuān)門(mén)用于負(fù)責(zé)運(yùn)行 MySQL 數(shù)據(jù)
      庫(kù)。請(qǐng)記得要把這類(lèi)賬戶(hù)的 Bash 終端設(shè)置成 nologin 解釋器,避免黑客通過(guò)該用戶(hù)登錄到服
      務(wù)器中,從而提高系統(tǒng)安全性。

      應(yīng)使用-M 參數(shù)不創(chuàng)建對(duì)應(yīng)的家目錄,以及使用-s 參數(shù)指定登錄后的 Shell 解釋器為 /sbin/nologin,確保任何人都不能通過(guò)這個(gè)賬號(hào)登錄主機(jī)
      [root@linuxprobe lnmp]# useradd mysql -M -s /sbin/nologin

      -----------------------------------------------------------------------

      chmod 命令用于設(shè)置文件的一般權(quán)限及特殊權(quán)限,英文全稱(chēng)為“change mode”,語(yǔ)法格式為“chmod [參數(shù)] 文件名”。

      [root@linuxprobe~]# chmod 760 anaconda-ks.cfg

      chown 命令用于設(shè)置文件的所有者和所有組,英文全稱(chēng)為 change own,語(yǔ)法格式為“chown 所有者:所有組 文件名

      [root@linuxprobe~]# chown linuxprobe:linuxprobe anaconda-ks.cfg


      chmod 和 chown 命令是用于修改文件屬性和權(quán)限的最常用命令,它們還有一個(gè)特別的共
      性,就是針對(duì)目錄進(jìn)行操作時(shí)需要加上大寫(xiě)參數(shù)-R 來(lái)表示遞歸操作,即對(duì)目錄內(nèi)所有的文件
      進(jìn)行整體操作。

      ------------------------------------------特殊權(quán)限設(shè)置--------------

      1.  SUID 是一種對(duì)二進(jìn)制程序進(jìn)行設(shè)置的特殊權(quán)限,能夠讓二進(jìn)制程序的執(zhí)行者臨時(shí)擁 有所有者的權(quán)限(僅對(duì)擁有執(zhí)行權(quán)限的二進(jìn)制程序有效)。

      查看 passwd 命令屬性時(shí)發(fā)現(xiàn)所有者的權(quán)限由 rwx 變成了 rws,其中 x 改變成 s 就意味著 該文件被賦予了 SUID 權(quán)限。另外有讀者會(huì)好奇,那么如果原本的權(quán)限是 rw-呢?如果原先權(quán) 限位上沒(méi)有 x 執(zhí)行權(quán)限,那么被賦予特殊權(quán)限后將變成大寫(xiě)的 S。

      [root@linuxprobe~]# ls -l /etc/shadow

      ----------. 1 root root 1312 Jul 21 05:08 /etc/shadow

      [root@linuxprobe~]# ls -l /bin/passwd

      -rwsr-xr-x. 1 root root 34512 Aug 13 2018 /bin/passwd

      2.  SGID 特殊權(quán)限有兩種應(yīng)用場(chǎng)景:當(dāng)對(duì)二進(jìn)制程序進(jìn)行設(shè)置時(shí),能夠讓執(zhí)行者臨時(shí)獲取文 件所屬組的權(quán)限;當(dāng)對(duì)目錄進(jìn)行設(shè)置時(shí),則是讓目錄內(nèi)新創(chuàng)建的文件自動(dòng)繼承該目錄原有用 戶(hù)組的名稱(chēng)。體現(xiàn)為:所屬組x變?yōu)閟:

      文件例子,ps命令,使得可讀取所屬組可讀,而其他用戶(hù)權(quán)限為0不可讀的文件:

      -r-xr-sr-x 1 bin system 59346 Feb 11 2017 ps

      3.  SBIT 特殊權(quán)限位可確保用戶(hù)只能刪除自己的文件,而 不能刪除其他用戶(hù)的文件。體現(xiàn)為“其他用戶(hù)”權(quán)限字段的x變?yōu)閟:

      如果是大寫(xiě) S 表示原先沒(méi)有執(zhí)行權(quán)

      ------------------------------

      SUID、SGID、SBIT 特殊權(quán)限的設(shè)置參數(shù)

      u+s 設(shè)置 SUID 權(quán)限

      u-s 取消 SUID 權(quán)限

      g+s 設(shè)置 SGID 權(quán)限

      g-s 取消 SGID 權(quán)限

      o+t 設(shè)置 SBIT 權(quán)限

      o-t 取消 SBIT 權(quán)限

      ---------------

      如果我們想將一般權(quán)限和特殊權(quán)限一起設(shè)置,有什么高效率的方法么?

      其實(shí),SUID、SGID 與 SBIT 也有對(duì)應(yīng)的數(shù)字表示法,分別為 4、2、1。也就是說(shuō) 777 還 不是最大權(quán)限,最大權(quán)限應(yīng)該是 7777,其中第 1 個(gè)數(shù)字代表的是特殊權(quán)限位。既然知道了數(shù) 字表示法是由“特殊權(quán)限+一般權(quán)限”構(gòu)成的

      ------------------------------------------------------

       --------------------------------隱藏屬性

      Linux 系統(tǒng)中的文件除了具備一般權(quán)限和特殊權(quán)限之外,還有一種隱藏權(quán)限,即被隱藏 起來(lái)的權(quán)限,默認(rèn)情況下不能直接被用戶(hù)發(fā)覺(jué)。

      chattr 命令用于設(shè)置文件的隱藏權(quán)限,英文全稱(chēng)為 change attributes,語(yǔ)法格式為“chattr [參 數(shù)] 文件名稱(chēng)”。 如果想要把某個(gè)隱藏功能添加到文件上,則需要在命令后面追加“+參數(shù)”,如果想要把 某個(gè)隱藏功能移出文件,則需要追加“-參數(shù)”。chattr 命令中可供選擇的隱藏權(quán)限參數(shù)非常豐 富,

      chattr 命令中的參數(shù)及其作用

      i 無(wú)法對(duì)文件進(jìn)行修改;若對(duì)目錄設(shè)置了該參數(shù),則僅能修改其中的子文件內(nèi)容而不能新 建或刪除文件

      a 僅允許補(bǔ)充(追加)內(nèi)容,無(wú)法覆蓋/刪除內(nèi)容(Append Only)

      S 文件內(nèi)容在變更后立即同步到硬盤(pán)(sync)

      s 徹底從硬盤(pán)中刪除,不可恢復(fù)(用零塊填充原文件所在的硬盤(pán)區(qū)域)

      A 不再修改這個(gè)文件或目錄的最后訪問(wèn)時(shí)間(Atime)

      b 不再修改文件或目錄的存取時(shí)間

      D 檢查壓縮文件中的錯(cuò)誤

      d 使用 dump 命令備份時(shí)忽略本文件/目錄

      c 默認(rèn)將文件或目錄進(jìn)行壓縮

      u 當(dāng)刪除該文件后依然保留其在硬盤(pán)中的數(shù)據(jù),方便日后恢復(fù)

      t 讓文件系統(tǒng)支持尾部合并(tail-merging)

      x 可以直接訪問(wèn)壓縮文件中的內(nèi)容

      例子:[root@linuxprobe~]# chattr +a linuxprobe

      lsattr 命令用于查看文件的隱藏權(quán)限,英文全稱(chēng)為“l(fā)ist attributes”,語(yǔ)法格式為“l(fā)sattr [參 數(shù)] 文件名稱(chēng)”。

      我們一般會(huì)將-a 參數(shù)設(shè)置到日志文件(/var/log/messages)上,這樣可在不影響系統(tǒng)正常 寫(xiě)入日志的前提下,防止黑客擦除自己的作案證據(jù)。如果希望徹底地保護(hù)某個(gè)文件,不允許 任何人修改和刪除它的話(huà),不妨加上-i 參數(shù)試試,效果特別好。

      要想徹底刪除某個(gè)文件,可以使用-s 參數(shù)來(lái)保證其被 刪除后不可恢復(fù)—硬盤(pán)上的文件數(shù)據(jù)會(huì)被用零塊重新填充,那就更保險(xiǎn)了。

       

      --------------------------------文件訪問(wèn)控制列表--------------------

      基于普通文件或目錄 設(shè)置 ACL 其實(shí)就是針對(duì)指定的用戶(hù)或用戶(hù)組設(shè)置文件或目錄的操作權(quán)限,更加精準(zhǔn)地派發(fā)權(quán) 限。另外,如果針對(duì)某個(gè)目錄設(shè)置了 ACL,則目錄中的文件會(huì)繼承其 ACL 權(quán)限;若針對(duì)文件 設(shè)置了 ACL,則文件不再繼承其所在目錄的 ACL 權(quán)限。

      添加到sudo組(Debian/Ubuntu)

      posted @ 2022-09-16 11:18  dirgo  閱讀(245)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 午夜视频免费试看| 97久久精品人人澡人人爽| 一区二区三区激情都市| 中文字幕在线观看一区二区| 久久毛片少妇高潮| 日韩成人高精品一区二区| 无码免费大香伊蕉在人线国产 | 精品久久久久久无码专区不卡| 日本中文字幕在线播放| 国产一区二区不卡在线看| 免费A级毛片无码A∨蜜芽试看 | 日韩精品一区二区都可以| 国产高清自产拍av在线| 国产女高清在线看免费观看| 国产亚洲精品超碰热| 九九热在线精品免费视频| 亚洲人成色777777老人头| 久久精品国产男包| 日韩V欧美V中文在线| 粗大挺进朋友人妻淑娟| 中文字幕日韩国产精品| 久久精品女人天堂av免费观看| 一本一道av无码中文字幕麻豆 | 2020年最新国产精品正在播放 | 99er热精品视频| 兰溪市| 久久精品国产88精品久久| 最近中文字幕国产精品| 福利网午夜视频一区二区| 九九热免费在线视频观看| 中文字幕久久精品波多野结| 日韩V欧美V中文在线| 国产中文字幕精品喷潮| 久久波多野结衣av| 花式道具play高h文调教| 成人免费A级毛片无码网站入口| 中文字幕无码av不卡一区| 亚洲日韩欧洲乱码av夜夜摸| 国产成人精品无缓存在线播放| 亚洲色最新高清AV网站| 成人无码午夜在线观看|