馬哥linux0801課程內容

0801課堂筆記

硬鏈接和軟鏈接最根本的區別

硬鏈接是同一個文件,而軟鏈接是兩個文件

軟鏈接查詢到文件的軟鏈接個數.比較麻煩.

而硬鏈接的個數可以通過鏈接數就可以看到.

硬鏈接不能跨分區,而軟鏈接可以跨分區

(因為每個分區都有自己的inode表)

ln 創建硬鏈接

ln–s 創建軟鏈接(軟鏈接如果使用相對路徑,對象是相對軟鏈接的路徑,而硬鏈接都可以)


證明硬鏈接的比較靈活,但是在工作生產環境中,軟鏈接使用較多

 

重定向

標準輸入 0 鍵盤

標準輸出 1 當前的終端窗口

標準錯誤 2 當前的終端窗口

cmd> file

>覆蓋

>>附加

Cmd2> file

錯誤的輸出到文件file

Cmd&> file

正確錯誤的結果都重定向到file

Cmd>> file 2>&1

與上面結果相同

標準的輸出重定向

 

Cmd< file

Cmd< file

 

Cat> string

這樣操作的命令工作效率低,都是一行一行的處理數據

而我們可以這樣操作可以多行處理數據

Cat> string <<string

 

 

String

(string需要成對開始和結束,中間的內容將會一次性進行處理,而且開頭和結尾必須一樣,任何字符都不能多,比如空格)

 

Cmd1| cmd2

管道只能處理正確的標準輸入到cmd2

如果需要處理錯誤的信息需要加2>1&或 |&

 

管道的作用就是一次處理不了的命令可以通過管道進行多次處理

 

pipe管道

 

tee命令的用法,功能

 

同時處理倆種命令

例 ls | tee /testdir/ls.log

可同時輸出到終端窗口,另外存儲到ls.log下,這樣處理的作用可以在后續做更多的處理

 

tr 命令的用法

-c 補集(取字符集的補集)

-d 刪除所有數據第一字符集的字符

-s 把連續重復的字符以單獨一個字符表示

-t 將第一個字符集對應字符轉化成第二字符集對應的字符

(帶t選項和不帶t選項的區別在于,參數長度如果是一樣就沒有區別,如果不一樣,不帶t的會怎么懂補全最后一個字母到常去,而帶t則不會,只會替換參數的本身的個數)


管道(pipe):多次處理,多次管道

 

處理數字相加

echo$[`echo "1 2 3 4 5 6 7 8 9 10" | tr ' ' '+'`]

 

 

用戶,組和權限

 

安全3A

Authentication認證

確認身份:

賬戶密碼登錄

指紋認證

人臉認證等

安全認證更高的瞳孔認證

但是沒有絕對的安全

 

Authorization授權

授予用戶的權限

讀取,修改,寫入等權限

 

Accouting|Audition審計

根據日志審計哪些操作是合理的,哪些是不合理的

 

用戶user

Linux用戶: Username/UID

管理員:root,0

普通用戶:1-65535

系統用戶:1-499(centos6).1-999

對于守護進程獲取資源進行權限分配

登錄用戶:500(centos6) +,1000+

交互式登錄

登錄用戶必須登錄系統之后才能才做,而系統用戶則不需要進行交互式登錄就可以對系統進行操作

 

組group

 

組也有編號 GID

 

組的作用 組就是一些用戶或組的集合,來集中管理

組嵌套

其他的系統有的支持組嵌套,但是現在的linux不支持這種復雜的行為

 

Windows用戶名和組名不能重名,但是linux不同,他的用戶名和組名不但可以重名,UID和GID也可以一樣.

 

Linux安全上下文

Securitycontext 安全上下文

運行中的程序:進程(process)

執行某個程序是以進程的發起者的身份運行

比如:/bin/cat的命令 執行一下命令

wang@centos6~cat /etc/issue

這條命令是由wang用戶的權限來證明是否能打開issue這個文件,而不是cat本身這個命令的權限

(進程所能夠訪問的資源的權限取決于進程的運行者的身份)

 

創建一個用戶,那個用戶就必須要指定一個組中,那個組就稱為基本組或主要組,默認為用戶名這個組.基本組只能有一個,而且必須要有.

 

一個用戶除了基本組,其他的組就稱為輔助組

 

查看用戶組命令

groups

id也可以查詢

 

在linux中,系統判斷你的身份和權限都是查看ID號的

 

Linux用戶和組的主要配置文件:

/etc/passwd: 用戶及其屬性信息(名稱,UID,主組ID等)

/etc/group: 組及其屬性信息

/etc/shadow:用戶密碼及其相關屬性

/etc/gshadow: 組密碼及其相關屬性

 

Passwd配置信息的順序是

account:password:UID:GID:GECOS(注釋信息):directory(家目錄):shell

pwunconv密碼不轉換 (將/etc/shadow密碼文件不要,用老模式還將密碼存放與/etc/passwd)

pwconv密碼轉換 (與上相反)

 

getentpasswd USER 可以查看指定用戶的passwd配置信息

 

chfn命令可以添加注釋信息

fingerUSER 命令可以查詢用戶詳細的描述信息

 

echo密碼|passwd –stdin USER  設置明文密碼給指定用戶

 

chsh修改shell類型

例:chsh –s /bin/chs xinruihl

 

/sbin/nologin:系統賬戶使用的shell類型,用于服務使用

 

盡量不要手動去修改/etc/passwd

 

 

/etc/shadow主要存放用戶的賬戶和密碼

getentshadow USER 可以直接查詢某個用戶的shadow配置

 

/etc/shadow配置信息如下

Loginname:encrypted password(加密的口令):date of last password change(最后一次修改密碼的時間):minimumpassword age(密碼最短的期限):maximum password age(密碼最長使用期限):passwordwarning period(密碼過期警告期限):password inactivity period(密碼不活動的期限):account expiration date(用戶過期時間):reservedfield(保留字段)

 

linux的/etc/shadow配置文件中,密碼的!!的意思是鎖定,雙重鎖定.

Usermod–U USER 可以解除鎖定,但是密碼不能為空

 

Password的加密算法默認是sha512的加密

可指定加密算法

authconfig–-passalgo=算法(sha256) –update 

 

Sha512屬于單向加密,就是密碼通過加密之后,是不可逆的.


Opensslrand base64 20, 可以輸出20位的隨機字符

(可設置成密碼)

 

Chage–d0 USER 可設置用戶的最后一次修改密碼的時間


第三個字段,最后一次修改密碼

第四個字段,最短密碼有效期

第五個字段,最長密碼有效期

第六個字段,密碼過期警告時間

第七個字段,過期之后到期鎖定時間

 

/etc/group

配置信息只有四個,分別是

Group_name:password:GID:user_list(用戶列表)

 

Genentgroup USER 同樣可以查看指定用戶的配置信息

 

Usermod–aG USER1 Group 將user1加入到組里面

 

Gpasswd設置組的密碼

 

組密碼的用處

 

newgrpgroup 臨時切換當前用戶到某個組

 

/etc/gshadow的配置信息

groupname:encrypted password:administrators(組管理員):members(組成員)

 

vipw= vi /etc/passwd 這個命令相當調用后面的命令

vigr= vi /etc/group

pwck(passwdcheck)  檢測passwd文件格式命令

grpck(group password check) 檢測gpasswd文件格式命令

 

用戶管理命令

Useradd創建用戶
useradd [OPTION] LOGIN

Useradd–D

Useradd–D [OPTION]

選項

-uuid [UID_MIN,UID_MAX]定義在/etc/login.defs(UID的配置信息)

-o 配合-u選項,不檢查UID的唯一性(比如可以在企業中創建兩個管理員賬戶,區分日志,方便檢查)

-gGID:指明用戶所屬基本組,可為組名,也可以GID

-c“COMMENT”:用戶的注釋信息

-dHOME_DIR :以指定的路徑(不存在)為家目錄

-sSHELL :指明用戶的默認shell程序

可用列表在/etc/shells文件中

-GGROUP1 [GROUP2,…]:為用戶指明附加組,組必須事先存在

-N 不創建私用組做主組,使用users組做主組

-r:創建系統用戶 Centos6:ID<500,Centos 7:ID<1000

Useradd–D 顯示創建用戶的屬性

屬性分別是

如果不指定主組,默認組ID:100

默認的home目錄

創建用戶之后,賬戶有效期

口令有效期

默認shell

家目錄的默認配置文件

是否創建用戶的郵箱

 

#創建系統的用戶,家目錄包括郵箱是不會自動生成的

 

 

Usermod修改用戶

Userdel刪除用戶

 

組管理命令

Groupadd創建組

Groupmod修改組

Groupdel刪除組

 

 

/etc/login.defs(重要)

 

批量創建用戶

Newuserspasswd格式的文件 批量創建用戶

 

Chpasswd批量修改用戶口令

 

Su 命令的用法

 

SuUsername :非登陸式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄

 

Su– Username :登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換

 

Rootsu 至其他用戶無需密碼;非root用戶切換時需要密碼

 

Su[-] Username –c ‘COMMAND’

選項 –l –-login:

Su–l Username 相當于 su – Username

 

非登陸式切換和登錄式切換的好處就是如果工作在當前目錄,就不需要完全切換再去切換到當前目錄,可以方便省時間.

在工作環境中,一般都不會選擇root賬戶登錄

 

如果需要root賬戶的權限,不一定非要切換,可以使用這條名來實現需要使用的命令

Su[-] Username –c ‘COMMAND’

 

例 su – root –c ‘cat /etc/shadow’

 

總結學習到的命令

lscpu查詢cpu信息

cat查看某個文件內容

who查詢所有登錄終端

whoam I 查詢當前登錄終端

chvt切換終端(只適用與本機)

poweroff關機斷電

halt關機不斷電

hostname主機名

nano文本編輯器

init3,5 虛擬終端與圖形化終端

startx打開圖形化軟件

tty查詢登錄終端號

ifconfig查詢ip

uname查詢內核版本

free查看內存

df 查詢分區

lsb_release系統版本信息

echo輸出

gedit圖形化編輯工具

useradd創建用戶

usermod修改用戶

userdel刪除用戶

groupadd創建組

groupmod修改組

grouddel刪除組

groupmems

groups查詢組

id 查詢UID

chpasswd批量修改密碼

newusers批量添加用戶

chsh切換shell

chfn添加用戶注釋信息

passwd修改密碼

strace跟蹤系統調用

pwck檢測passwd配置描述信息

grpck檢測gpasswd配置描述信息

vipw編輯passwd配置文件

vigr編輯grpasswd配置文件

tr 轉換字符或數字

tee例:ls –a |tee > ls.log,可以同時實現兩種結果

gententpasswd,shadow,group,gshadow 查詢配置文件信息

authconfig–-passalgo=sha256 –update 修改密碼加密算法

finger查詢用戶描述信息

opensslrand hase64 位數 生成隨機位數的字符串

su 切換用戶

newgrp臨時切換主組

pwunconv不轉換密碼到文件shadow

pwconv轉換

原創文章,作者:Kartik,如若轉載,請注明出處:http://www.www58058.com/28216

(0)
KartikKartik
上一篇 2016-08-04
下一篇 2016-08-04

相關推薦

  • RHCS問題匯總-深圳Eric

    拓補圖: 服務器用了4個網卡 兩個萬兆網卡做了bond連到netgear交換機,交換機端口access 30 對應IP段10.199.16.0/22,網關10.199.16.1做在netgear上 兩個千兆網卡做了bond連到cisco 3750交換機,交換機端口truck 30 40 1001-1300 對應IP段10.199.16.0/22、10.176…

    Linux干貨 2016-06-22
  • 文件查找工具locate和find的使用分析

    文件查找工具locate和find的使用分析 不管是在windows系統中還是在Linux系統中,我們經常會一些文件進行搜索查找,而在Linux系統中經常用到的搜索工具有locate和find,這兩種搜索工具的工具原理和用法都不相同,一下將這對這兩種搜索工具的使用進行分析。 1、locate工具的工作原理是對/var/lib/mlocate/mlocat.d…

    Linux干貨 2016-08-18
  • 馬哥教育網絡班19期第二周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 cd:切換目錄命令實例  cd [dirctory] 切換目錄  cd .. 返回上一級目錄  cd –  來回切換  cd ~  切換到家目…

    Linux干貨 2016-06-19
  • SELinux在httpd服務端中的使用

    一、啟用SELinux策略并安裝httpd服務,改變網站的默認主目錄為/website,添加SELinux文件標簽規則,使網站可訪問(以CentOS7系統操作) 1、首先查看本系統是否已經安裝httpd服務 2、查看httpd的配置文件所在路徑 3、創建主目錄為/website與網頁文件"index.html",并更改httpd服務為該路…

    Linux干貨 2016-09-16
  • 描述器

    Edit 描述器 |[Descriptors] 描述器的表現 用到3個魔術方法:__get__()、__set__()、__delete__() 方法用法: object.__get__(self,instance,owner) object.__set__(self,instance,value) object.__delete__(self,instan…

    Linux干貨 2017-11-29
  • Linus:利用二級指針刪除單向鏈表

    感謝網友full_of_bull投遞此文(注:此文最初發表在這個這里,我對原文后半段修改了許多,并加入了插圖) Linus大嬸在slashdot上回答一些編程愛好者的提問,其中一個人問他什么樣的代碼是他所喜好的,大嬸表述了自己一些觀點之后,舉了一個指針的例子,解釋了什么才是core low-level coding。 下面是Linus的教學原文及翻譯—— “…

    Linux干貨 2016-07-10
欧美性久久久久