目錄:linux的許可權判斷邏輯:
一,修改file的mode:chmod
file的mode資訊,只能由file的屬主修改。
語法:chmod [option]... octal-mode file...
一起操作3類使用者的所有權限位
chmod [option]... --reference=rfile file...
把某個檔案的mode,設定成自己的mode
# ll /tmp/t1
-rwxr--r--. 1 root root 0 dec 17 21:57 /tmp/t1
# ll /etc/issue
-rw-r--r--. 1 root root 23 nov 23 2018 /etc/issue
# chmod --reference=/etc/issue /tmp/t1
# ll /tmp/t1
-rw-r--r--. 1 root root 0 dec 17 21:57 /tmp/t1
二,修改file的ownership:chown
chgrp
這2個命令只有,有管理員許可權的使用者才可以使用
chown:即可以修改file的user,也可以修改file的group
chgrp:只能修改file的group。
三,大型思考
使用者za1對目錄/tmp/fld/有寫許可權,但對檔案/tmp/fld/t1沒有寫許可權。
問題1:使用者za1可以修改/tmp/fld/t1檔案的內容嗎
問題1答案:不可以
問題2:使用者za1可以刪除/tmp/fld/t1嗎
問題2答案:可以
驗證:
# ll -d /tmp/fld/
drwxrwxr-x. 2 root zg1 16 dec 17 22:34 /tmp/fld/
# ll /tmp/fld
-rw-r--r--. 1 root zg1 0 dec 17 22:34 t1
# su - za1
last login: tue dec 17 21:07:01 cst 2019 on pts/1
$ id za1
uid=1001(za1) gid=1001(za1) groups=1001(za1),1000(ys),1002(zg1)
$ pwd
/tmp/fld
$ ll
-rw-r--r--. 1 root zg1 0 dec 17 22:34 t1
$ echo 111 >> ./t1
./t1: permission denied.
$ rm -f t1
$ ll
total 0
四,建立檔案或者目錄後,檔案和目錄的mode是如何計算出來的。
由umask決定。假如umask是0022(----w--w-),則:
生成檔案的mode:rw-rw-rw(666) - umask(----w--w-) = rw-r--r--
生成目錄的mode:rwxrwxrwx(777) - umask(----w--w-) = rwxr-xr-x
參考:linux umask詳解:令新建檔案和目錄擁有預設許可權
五,拷貝檔案時,能否同時指定目標檔案的mode和ownership?建立目錄的同時,能否同時指定目錄的mode和ownership?
cp
命令是做不到的,install
命令可以做到,但是install
不能拷貝目錄。
mkdir
命令是做不到的,install
命令可以做到。
install後,目標檔案或者目錄的mode的預設值都是755
六,建立檔名或者目錄名是,隨機的臨時檔案,而且名稱不重複:mktemp
Linux許可權管理
預設許可權 特殊許可權 suid 以檔案的所屬使用者身份執行而非執行檔案的使用者 sgid 以檔案所屬組身份執行 sticky 許可權 對檔案的影響 對目錄的影響 suid 以檔案的所屬使用者身份執行而非執行檔案的使用者 無 sgid 以檔案所屬組身份執行 在該目錄中建立的任意新檔案的所屬組與該目錄...
Linux許可權管理
linux許可權管理 1 檔案訪問許可權 1 檔案訪問者的分類 a 檔案和檔案目錄的所有者 u user b 檔案和檔案目錄的所有者所在的組的使用者 g group c 其它使用者 o others 2 檔案訪問許可權的種類 a 基本許可權 i.讀 r 4 read 對檔案而言,具有讀取檔案內容的許...
linux 許可權管理
linux許可權管理 1 檔案訪問許可權 1 檔案訪問者的分類 a 檔案和檔案目錄的所有者 u user b 檔案和檔案目錄的所有者所在的組的使用者 g group c 其它使用者 o others 2 檔案訪問許可權的種類 a 基本許可權 i.讀 r 4 read 對檔案而言,具有讀取檔案內容的許...