幫助命令 whatis 命令 #顯示命令的簡短功能 man 命令 #查看手冊頁和命令描述 命令--help #適用於外部命令 help 命令 #適用於內部命令 type 命令 #查看命令內嵌還是外部 文件管理 位置判斷 絕對路徑 :從/開始 相對路徑:以 . 或 .. 開始的 文件管理 touch/ ...
幫助命令
whatis 命令 #顯示命令的簡短功能
man 命令 #查看手冊頁和命令描述
命令--help #適用於外部命令
help 命令 #適用於內部命令
type 命令 #查看命令內嵌還是外部
文件管理
位置判斷
絕對路徑 :從/開始
相對路徑:以 . 或 .. 開始的
文件管理
touch/mkdir/mv/rm/cp #創建/修改/移動/刪除/複製
#創建文件
touch #創建空文件,文件存在修改時間
touch file{1..n} #批量創建文件
vi file #vi創建文件
cat EOF<< >file #重定向創建文件
XXXXXX
EOF
echo"xxx">file #重定向創建文件
#創建目錄
mkdir -p/a/b/c #父目錄子目錄一起創建
mkdir -v/a #創建顯示信息
mkdir -p/a/{1..101} #批量創建目錄
#移動文件
mv file1 file2 #重命名文件
mv /a/file1 /b #移動文件
#刪除文件
rm -r/a/* #刪除目錄下所有文件
rm -rf/a/* #強制刪除不提示
#複製文件
語法 cp-r 源文件 目標文件
cp -r /a /b #遞歸,包含目錄下的子目錄一併處理
#查看文件
ls -a 文件 #顯示所有文件及文件夾
ls -l 文件 #格式化顯示目錄下的內容列表
cat -n 文件 #對輸出的所有行進行編號
cat -b 文件 #對非空的輸出行進行編號
cat -s 文件 #多行的空行合併為一個空行
more 文件 #分佈顯示文件內容,不支持向前翻頁
less 文件 #可前後翻頁
head -n 文件 #顯示從文件頭開始到n的行數,預設顯示前10行
tail 文件 #顯示文件尾部內容,預設顯示末尾10行
tail -nf 文件 #動態顯示文件末尾n行的內容
xfs文件系統備份與恢復
xfs備份介紹
XFS提供了 xfsdump 和 xfsrestore 工具協助備份XFS文件系統中的數據。xfsdump 按inode順序備份一個XFS文件系統。
與傳統的UNIX文件系統不同,XFS不需要在dump前被卸載;對使用中的XFS文件系統做dump就可以保證鏡像的一致性。這與XFS對快照的實現不同,XFS的dump和restore的過程是可以被中斷然後繼續的,無須凍結文件系統。xfsdump 甚至提供了高性能的多線程備份操作,把一次dump拆分成多個數據流,每個數據流可以被髮往不同的目的地。
首先瞭解一下xfsdump的備份級別有以下兩種,預設為0(即完全備份)
完全備份 0
增量備份 1-9
備份
語法: xfsdump –f 備份存放位置 要備份路徑
#互動式備份
xfsdump -f /opt/dump_sdb1 /sdb1
# -L 指定備份會話標簽 -M 指定設備備份標簽
#非互動式備份
xfsdump -f /opt/dump_sdb1 /sdb1-Ldump_sdb1-Mmedia0
# 指定文件備份
xfsdump -f /opt/dump_sda1_passwd-spasswd /sda1-Ldump_sda1_passwd-Mmedia1
#克隆目錄到另一個目錄
xfsdump -/sda1 | xfsrestore -/data/
#克隆指定目錄到另一個目錄
xfsdump--stest /sda1 | xfsrestore-/data/
恢復
語法: xfsrestore –f 指定恢覆文件的位置 要恢復的目錄
xfsrestore-f /opt/dump_sdb1 /sdb1
#指定恢復單個文件
xfsrestore -f/opt/dump_sdb1-spasswd /sdb1
用戶管理
用戶分類
超級用戶: root 擁有對系統的最高的管理權
普通用戶:系統用戶 UID:1-999(RHEL7) 1-499(RHEL6)
本地用戶 UID:1000+ 500+
虛擬用戶:偽用戶 一般不會用來登錄系統的,它主要是用於維持某個服務的正常運行
#創建用戶
useradd -m -u -d- g"初始組" -G"附加組" -s "登陸的shell" "用戶"
-m 創建用戶主目錄/home
-g 設置用戶的初始組名稱或id
-G 設置用戶附屬組
-s 設置用戶登陸shell ,/sbin/nologin 禁止登陸系統
-u 指定用戶的uuid
-d 指定用戶的主目錄
#改變用戶信息
usermod -aG 組名 用戶名
-u UID
-d 宿主目錄
-g 起始組 #只能有一個
-G 附加組 #可以有多個
-s 登錄shell
-L 鎖定
#刪除用戶及家目錄
userdel -r user
#創建用戶密碼
passwd user
echo123456 |passwd --stdin user
#修改密碼
chage 用來更改用戶密碼過期信息
-m:密碼可更改的最小天數。為0時代表任何時候都可以更改密碼
-M:密碼保持有效的最大天數
-W:用戶密碼到期前,提前收到警告信息的天數
-E:帳號到期的日期。過了這天,此帳號將不可用
-d:上一次更改的日期,為0表示強制在下次登錄時更新密碼
-I:停滯時期。如果一個密碼已過期這些天,那麼此帳號將不可用
-l:(list)列出當前的設置,由非特權用戶來確定他們的密碼或帳號何時過期
#添加用戶到指定組
gpasswd
-a:添加用戶到組;
-d:從組刪除用戶;
-A:指定管理員;
-M:指定組成員和-A的用途差不多;
-r:刪除密碼;
-R:限制用戶登入組,只有組中的成員才可以用newgrp加入該組。
gpasswd -a users user
授權
#創建用戶
useradd user
#編輯sudoers文件
vi /etc/sudoers
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
use rALL=(ALL) NOPASSWD:ALL
加%表示組,NOPASSWD表示使用sudo不需要密碼認證
文件許可權管理
文件基本許可權
#查看文件許可權
ll /etc/passwd
-rw-r--r--.1root root9305月2306:46 /etc/passwd
p 表示命名管道文件
d 表示目錄文件
l 表示符號連接文件
- 表示普通文件
s 表示socket套介面文件,比如我們啟用mysql時,會產生一個mysql.sock文件
c 表示字元設備文件
b 表示塊設備文件
#文件屬性說明
-|rw-|r--|r--|屬主|屬組|修改時間|對象:文件名
rw- 文件所有者對文件具有讀取、寫入的許可權
r-- 用戶組裡用戶則具有讀取的許可權
r-- 其他用戶則具有讀取的許可權
#更改文件的屬主和屬組
語法:chown chgrp+文件或目錄
chown user:user text.txt 更改文件的屬主,屬組
chown user text.txt 更改文件的屬主
chown:user text.txt 更改文件的屬組
chown -R user:user /text 更改目錄的屬主,屬組
chgrp user text.txt 更改文件的屬組
#修改許可權
語法:chmod+ 文件或目錄
+-= 添加或者刪除對應的許可權
r=4,w=2,x=1數字許可權
u+-=(rwx) 添加刪除擁有者許可權
g+-=(rwx) 添加刪除組的許可權
o+-=(rwx) 添加刪除其他的許可權
a+-=(rwx) 添加刪除所有用戶的許可權
chmodu+x test.txt 添加擁有者可執行的許可權
chmoda-r text.txt 刪除所有人可讀的許可權
#文件預設許可權
umask 設定文件的預設值,從許可權中去掉部分許可權
umask 000-777
預設創建目錄許可權為777-022=755
預設創建文件許可權為666-022=644
修改umask的值,改變預設文件目錄許可權
vi/etc/profile | $[HOME]/.bash.profile | $[HOME]/.profile
if[$UID-gt199] && ["`id -gn`"="`id -un`"];then
umask002
else
umask022
#查看文件許可權
ll /etc/passwd
-rw-r--r--.1root root9815月2517:34 /etc/passwd
stat -c %a /etc/passwd
644
stat -c %A /etc/passwd
-rw-r--r--
文件高級許可權
特殊許可權
SUID:限定:只能設置在二進位可執行程式上面,對目錄設置無效。
功能:程式運行時的許可權從執行者變更成程式所有者。
SGID:限定:既可以給二進位可執行程式設置,也可以對目錄設置。
功能:在設置了SGID許可權的目錄下建立文件時,新創建的文件的所屬組會繼承上級目錄的所屬組。
Stickybit:粘滯位許可權是針對目錄的,對文件無效,也叫防刪除位。
SGID SUID Stickybit
u=4,u+s | g=2,g+s | o=1,o+t
#增加特殊許可權
chmod u+s text.txt 對文件需要可執行許可權
chmod g+s /text 對目錄使用
chmod o+t /text 只能針對目錄
chmod 4777 text.txt 對文件需要可執行許可權
chmod 2777 /text 對目錄使用
chmod 1777 /text 只能針對目錄
ACL訪問控制列表
ACL: 訪問控制列表
它是一種許可權分配之外的普遍範式。例如,預設情況下你需要確認3個許可權組:UGO。而使用ACL,你可以增加許可權給其他用戶或組別,可以允許指定的用戶A、B、C擁有寫許可權而不再是讓他們整個組擁有寫許可權。
#ACL參數解釋
ACL_USER_OBJ: 相當於Linux里file_owner的許可權
ACL_USER: 定義了額外的用戶可以對此文件擁有的許可權
ACL_GROUP_OBJ: 相當於Linux里group的許可權
ACL_GROUP: 定義了額外的組可以對此文件擁有的許可權
ACL_MASK: 定義了ACL_USER, ACL_GROUP_OBJ和ACL_GROUP的最大許可權
ACL_OTHER: 相當於Linux里other的許可權
#查看ACL
getfacl /etc/passwd
# file: etc/passwd
# owner: root
# group: root
user::rw-
group::r--
other::r--
#設置文件許可權
#創建文件
touch a.txt
#查看acl
getfacl a.txt
# file: a.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--
#設置文件acl
setfacl -m:: a.txt 設置用戶,組許可權
setfacl -m: a.txt 設置mask的許可權
#設置預設目錄許可權
setfacl -md::: /test 目錄中所有新建文件都繼承此許可權,這個許可權對目錄本身不生效,並且不會影響目錄中已經存在的文件
#刪除acl許可權
setfacl -x: a.txt 刪除用戶組acl許可權
setfacl -xd:: a.txt 刪除預設目錄下acl許可權
setfacl -b a.txt 刪除所有acl許可權
#acl許可權複製
getfacl /text | setfacl --set-file=/text1
文件鎖
chattr 命令的作用很大,通過chattr命令修改文件屬性能夠提高系統的安全性,包括(root)但是它並不適合所有的目錄,chattr命令不能保護/,/dev,/tmp,/var等目錄。
#chattr屬性
chattr +-=文件#添加,刪除,給予許可權
chattr +a
對文件來說:只能在文件中追加數據,但現有數據不能刪除也不能進行修改
對目錄來說:只能只允許在目錄中建立和修改文件,但是不允許刪除
chattr +i
對文件來說:不能修改,刪除文件,也不能添加和修改其內的數據,但可以查看文件裡面的內容
對目錄來說:只能修改目錄下的文件數據,但不能建立和刪除文件
lsattr 文件 #查看文件屬性
#舉例說明(針對文件)
touchb.txt
chattr+a b.txt
echo"123456">b.txt 無法修改
-bash: b.txt: 不允許的操作
echo"123456">>b.txt &&echook 可以追加
ok
chattr+i b.txt
echo"123456">b.txt
-bash: b.txt: 不允許的操作
echo"123456">>b.txt
-bash: b.txt: 許可權不夠
catb.txt 可以查看
123456
123456
123456
#舉例說明(針對目錄)
mkdirb
chattr+a b
touchb/{file1,file2}
rm-rfb/file1
rm: 無法刪除"b/file1": 不允許的操作
echo123456>b/file1
catb/file1
123456
chattr+i b
touchb/file4
touch: 無法創建"b/file4":
rm-rfb/file1
rm: 無法刪除"b/file1": 許可權不夠
echoaaaa>b/file1
catb/file1
aaaa
我是MIkel Pan,雲計算愛好者,定期更新生活感悟,心靈進化者就在MIkel Pan,喜歡我就來找我吧!
博客園地址:http://www.cnblogs.com/plyx/
簡書地址:https://www.jianshu.com/u/5986765934f4