linux命令學習筆記之三

2021-08-03 22:27:50 字數 3978 閱讀 4770

#改變檔案或者目錄的所屬,如果為目錄的話目錄下子檔案和目錄的所屬不改變,下圖示例

chown -r username dir

#改變目錄及其子目錄和檔案的所有者

chgrp -r username file/dir

chown root.root file/dir 改變檔案或者目錄的所有人和組

watch -n 1 ls -lr 監控當前目錄下的所有

chmod u+r/w/x 為使用者新增許可權

chmod g+r/w/x 對於目錄而言,x許可權為基礎

chmod u=*,g=* file/dir為使用者和組同時新增許可權

從系統存在角度來說,開放權力越大,系統存在意義越高

從系統安全角度來說,開放權力越少,系統安全性越高

所以系統設定新建檔案或目錄會去掉一些許可權

設定方式

umask ##檢視系統保留許可權預設為022

umask 077 ##修改該系統保留許可權為077,此設定為臨時設定,只當前shell中生效

永久設定方式:

vim /etc/bashrc ##shell

70 if [ $uid -gt 199 ] && [ 「id -gn」 = 「id -un」 ]; then

71 umask 002 ##普通使用者umask

72 else

73 umask 077 ##超級使用者umask

74 fi

vim /etc/profile ##系統

59 if [ $uid -gt 199 ] && [ 「id -gn」 = 「id -un」 ]; then

60 umask 002 ##普通使用者umask

61 else

62 umask 077 ##超級使用者umask

63 fi

以上兩個檔案umask設定值必須保持一致,然後分別執行以下命令讓設定立即生效

source /etc/bashrc

source /etc/profile

注意:檔案建立時的預設許可權為777-umask-111,例如:

設定普通使用者新建檔案許可權為"r--r-----"

#umask : 777-111-440=226

如果只是在當前shell生效可以設定umask 226

如果要永久有效就得按下面步驟

3.命令重啟使得修改立即生效

source /etc/bashrc

source /etc/profile

指出特殊使用者對特殊檔案的訪問許可權

當檔案操作屬性後面出現+號的時候此時ls所看到的操作許可權不起作用,需要通過getfcal查詢

setfacl -m u:student:rwx file/dir 設定檔案訪問控制列表

m --modify

u --使用者

g --組

getfacl file/dir 獲取檔案訪問控制列表

刪除訪問控制許可權中的使用者或者組

setfacl -x u:username file/dir

關閉列表

setfacl -b file/dir

acl mask值

mask用來標識能夠賦予使用者最大許可權

當使用chmod改變檔案普通許可權時可能會被破壞

修復setfal -m m:rwx file/dir

設定預設acl許可權實現使用者對於某個目錄以及目錄中新建的檔案或者目錄也有相應操作,對於已經存在的檔案不生效

注意:對於目錄本身無效

注意:檔案所屬改變,特殊許可權也恢復預設

1.suid ##冒險位

之針對二進位制可執行檔案,

檔案內記錄的程式產生的程序的所有人為檔案所有人

和程序發起人身份無關

設定方式:

chmod u+s file

suid=4

chmod 4*** file

2.sgid ##強制位

對檔案:只針對二進位制可執行檔案,

任何人執行二進位制檔案

程式時程式產生的程序的所有組都是檔案的所有組

和程式發起人組的身份無關

對目錄:當目錄有sgid許可權後,目錄中新建的所有檔案的所有組

都自動歸屬到目錄的所有組之中,和檔案建立者所在的組無關

設定方式:

chmod g+s file|dir

sgid=2

chmod 2*** file|dir

3.sticky ##粘製位

t許可權:

只針對與目錄,當乙個目錄上有t許可權,那麼目錄中的檔案只能被檔案的擁有者刪除

設定方式:

chmod o+t direcotry

t=1chmod 1777 direcotry

/etc/group ###組資訊

root@ubuntu:~/python# grep root /etc/group

root:x:0:

#組名稱:組密碼:組id:附加組成員

其他

/etc/gshadow ###組認證資訊

/home/username ###使用者家目錄

/etc/skel/.* ###使用者骨架檔案

1.使用者建立

useradd     引數      使用者名字

-u ##指定使用者uid

-g ##指定使用者初始組資訊,這個組必須已經存在

-g ##指定附加組,這個組必須存在

-c ##使用者說明

-d ##使用者家目錄

-s ##使用者所使用的shell,/etc/shells記錄了使用者能使用shell的名字

如果要建立乙個使用者並且組織其shell互動功能可以使用以下引數命令:

useradd -s /sbin/nologin username

2.使用者刪除

userdel     -r  使用者名稱 -r表示刪除使用者資訊及使用者的系統配置
3.組的建立

groupadd    -g  ##建立組

groupdel 組名字 ##刪除組

4.使用者資訊更改

usermod 引數  使用者

-l ##更改使用者名稱

-u ##更改uid

-g ##更改gid

-g ##更改附加組

-ag ##新增附加組

-c ##更改說明

-d ##更改家目錄指定

-md ##更改家目錄指定及家目錄名稱

-s ##更改shell

-l ##凍結帳號

-u ##解鎖

Linux學習筆記之三

單元三 檔案與shell基礎 命令pwd print working directory 顯示當前所在目錄的絕對路徑。cd 命令用於改變當前目錄,後跟絕對路徑或相對路徑。絕對路徑以 開始,而相對路徑通常以 或者下級目錄名開始。例如 cd tmp mydir cd cd mydir cd 到前乙個所在...

WinCE學習筆記之三

wince被設計成一種分層結構,從底層至上分別為 硬體層 oem層 作業系統層和應用層。oem層又分為 oal oem介面卡 boot loader 啟動引導程式 配置檔案及驅動程式。1.oal oal是wince核心與目標硬體之間的乙個 層,主要用來處理wince核心與目標硬體裝置之間的通訊,其功...

Mysql學習筆記之三

檢視當前資料庫的引數 mysqladmin uroot proot variables mysql客戶端可以通過三種方法訪問伺服器 unix sockets named pipes tcp ip through a port。error log 啟動 執行或停止時的出現的錯誤 query log 所...