文件的權限
現在我們已經知道了Linux系統內文件的三種身份(所有者,用戶者,與其他人),知道每種身份都有三種屬性(r,w,x),已經能夠使用chown,chgrp,chmod去修改這些權限和屬性,那麼這些文件權限對於一般文件和目錄有何不同呢?
權限對文件的重要性
r:可讀取此文件的實際內容,如讀取文本文件的文字內容
w:可以編輯,新增或者是修改該文件的內容(但不含刪除該文件)
x:該文件可以被系統執行的權限。注意:
(1)我們的文件是否能被執行是由“x”這個權限決定的,而跟文件名是沒有絕對的關係。
(2)當你對一個文件具有w權限是,並不具備刪除該文件本身的權限。對於文件的r,w,x來說,主要都是針對“文件的內容”而言,與文件名的存在與否沒有關係。
權限對目錄的重要性
文件是存放實際數據的所在,目錄只要的內容是記錄文件名列表,文件名與目錄有強烈的關聯。
r:表示具有讀取目錄結構列表的權限。
w:具有更改該目錄結構列表的權限。包括:
新建新的文件和目錄
刪除已經存在的文件與目錄
將已存在的目錄或文件進行重命名
轉移該目錄內的文件,目錄位置
x:代表用戶能否進入該目錄成爲工作目錄的途徑。
權限的查看和理解
文件權限的查看和理解
- rw-r--r-- 1 root root 216 May 122017 /mnt/rht
[1] [2] [3] [4] [5] [6] [7] [8]
[1]文件類型:
- 普通文件d 目錄
l 軟鏈接
s 套接字
c 字符設備(顯示字符的設備)
目錄權限的查看和理解
d rwxr-xr-x. 2 root root 4096 Jul 30 09:05 /mnt
[1] [2] [3] [4] [5] [6] [7] [8]
[1] 類型
[2] 權限
[3] 目錄中子目錄個數
[4] 用戶
[5] 組
[6] 子文件或子目錄元數據的大小
[7] 目錄最後一次被修改的時間
[8] 目錄名稱
修改文件的用戶和用戶組
此命令必須用root用戶執行
改變所屬用戶
chown username file|dir
修改前修改後
chown -R username dir
修改前
修改後:
chown username:group file|dir
修改前:
修改後
改變所屬的用戶組
chgrp group file/dir
修改前
修改後
chgrp -R group dir
修改前
修改後
文件權限詳解
權限的作用
- r :讀
- 對文件 是否可以查看文件中的字符
- 對目錄 是否可以查看目錄中有什麼文件
- w :寫
- 對文件 是否可以改變文件中記錄的字符
- 對目錄 是否可以在目錄中管理文件,是否可以更改目錄中文件的元數據
- x :執行
- 對文件 是否可以通過文件名稱調用文件內記錄的程序
- 對目錄 是否可以進入此目錄
權限的管理
字符形式
chmod <u/g/o><+/-/=><x/r/w> file/dir
修改前:
給file文件的用戶組增加w和x權限
修改前:
給file文件的用戶組減去w權限
修改前:
給file文件的用戶設置x權限
數字形式
r w x
2 1 0
- x=2^0*0|1=0|1
- w=2^1*0|1=0|2
- r=2^2*0|1=0|4
- rwx=7
- rw-=6
- r-x=5
- r--=4
- -wx=3
- -w-=2
- --x=1
修改前
修改後
權限列表
特定用戶對特定文件擁有指定的權限
- drwxrw-rw-+ 2 westos linux11 6 8月 15 21:02 dir
如果權限後面有"+",則說明權限列表已開啓
打開文件的權限列表
- -rw-r-r--+ 1 root root 216
- setfacl -m u:username:rwx file 設定權限列表的用戶權限
- serfacl -x u:username:rwx file 刪除權限列表中的指定用戶
- ls -l file 關閉權限列表
- [root@]# getfacl file
- file:file 文件名稱
- #owner:root 文件所屬人
- #group:root 文件所屬組
- user::rw- 用戶權限
- user:username:r-- 特殊用戶的權限
- group::r-- 組權限
- mask::rwx 權限最大值
- other::r-- 其他人權限
在權限列表中設置指定用戶的權限 setfacl -m u:student:rwx file
刪除權限列表中指定用戶的權限 setfacl -x u:student file
關閉權限列表 setfacl -b file
進程及服務的控制
1.什麼是進程
系統中正在運行的程序
2.圖形化進程的查看方式
gnome-system-monitor
3.查看進程的命令
- whatis ps 查看進程
- ps a 包含和當前環境相關的進程
- ps -a 在當前終端(shell)中運行的進程,但不包含和當前環境相關的進程
- ps -A|-e 系統所有進程
- ps -x 查看含有輸出終端的進程
- ps -f 查看進程的從屬關係
- ps u 進程的所有人
ps aux 顯示系統中所有進程並顯示進程用戶
ps ef 顯示進程詳細信息並顯示進程父子關係
ps ax 顯示當前系統中的所有進程
- ps -o comm 進程名稱
- ps -o %cpu 進程cpu使用率
- ps -o %mem 進程內存使用率
- ps -o pid 進程id
- ps -o user 進程所有人
- ps -o group 進程所有組
- ps -o stat 該程序目前的狀態
- ps -o nice 進程優先級
報告生成器 awk:文本格式化輸出,遍歷文件。
流編輯器 sed:sed是stream editor的簡稱,也就是流編輯器。它一次處理一行內容,處理時,把當前處理的行存儲在臨時緩衝區中,稱爲“模式空間”(pattern space),接着用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往屏幕。接着處理下一行,這樣不斷重複,直到文件末尾。文件內容並沒有 改變,除非你使用重定向存儲輸出。
- ps ax --sort=%cpu 正序輸出
- ps ax --sort=-%cpu 倒序輸出
進程的優先級
進程狀態
- S 進程狀態
- s 此進程爲頂級進程
- T 進程是暫停的
- < 表示進程優先級高
- N 進程優先級低
- l 進程在內存中有鎖定空間
- R+ 正在運行的進程
更改進程的優先級
ps ax -l 查看進程的優先級(PRI的值越小優先級越高)
renice -n -5 pid 修改進程的優先級(優先級的取值範圍爲-20~19)
nice -n -5 以指定的優先級開啓進程
進程前後臺的調用
當進程運行在前臺時你的終端將會被佔用
當進程運行在後臺時你的終端將會被釋放,進程不佔用當前終端(shell)
相關命令
- ctrl + z 將佔用終端的進程打入後臺停止
- jobs 查看被打入後臺的進程
- [1]+ Stopped firefox
- +:的優先級高
- bg jobsnum 將指定進程在後臺運行
- fg jobsnum 將指定進程調回前臺
- ctrl + c 將佔用當前終端的進程結束
- kill -1 PID 進程不停止情況下重新加載配置(在不需要重啓服務器的情況下重新加載配置)
- kill -2 PID 清除進程在內存中的數據
- kill -3 PID 清除鼠標在內存中的數據
- kill -9 PID 強行結束進程
- kill -15 PID 正常關閉進程
- kill -18 PID 運行停止的進程
kill -19 PID 暫停進程,不能被阻塞
當使用kill -19 PID暫停進程後在gedit中輸入無效字符(不能顯示出來的字符),當運行kill -18 PID時所輸入的無效字符卻顯示到了gedit中
kill -20 PID 暫停進程,可以被阻塞(該信號可以被處理和忽略)
linux系統之間相互控制所產生的信息的查看方式
- ifconfig eth0 查看本機IP
- ssh root@IP 連接別的計算機
- exit 連接退出
- last 誰登陸過我
- w -i 查看誰正在使用我
- lastb 誰登陸過我,但沒有成功
- ps aux | grep pts/1 查看正在登陸你的人的進程PID
- kill -9 PID 踢掉
服務的控制
- systemctl stsrt sshd 開啓服務
- systemctl stop sshd 停止服務
- systemctl status sshd 顯示狀態
- systemctl restart sshd 重啓
- systemctl enable sshd 開機重啓
- systemctl disable sshd 開機關閉
- systemctl list-units 列出系統中運行的服務
- systemctl list-unit-files 列出服務的開機狀態
- systemctl list-dependencies sshd 列出服務之間的依賴關係
- systemctl mask sshd 凍結服務
- systemctl unmask sshd 解凍服務
- systemctl set-default multi-user.target 開機不啓動圖形界面
- init 5 打開圖形界面,但是重新啓動後還是沒有圖形界面
- systemctl set-default graphical.target 開機啓動圖形界面