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