① linux許可權管理基本知識
Linux許可權管理基本知識大全
Linux系統有什麼基本許可權,許可權管理命令是什麼?下面跟我一起來看看吧!
一、基本許可權
linux許可權機制採用UGO模式。其中 u(user)表示所屬用戶、g(group)表示所屬組、o(other)表示除了所屬用戶、所屬組之外的情況。
u、g、o 都有讀(read)、寫(write)、執行(excute) 三個許可權,所以UGO模式是三類九種基本許可權。
用命令 ls -l 可列出文件的許可權,第一列輸出明確了後面的輸出(後面一列代表 ugo許可權)。第一個字母對應的關系:
“-” 普通文件
“d” 目錄
”l“ 符號鏈接
”c“ 字元設備
"b" 塊設備
"s" 套接字
"p" 管道
修改文件或目錄的所屬用戶: chown 文件名 | 目錄名 用戶
-R 該參數以遞歸的方式修改目錄下所有文件的所屬用戶,參數可以敲 chown --help 查看。
修改文件或目錄的所屬組: chgrp 文件名 | 目錄名 組名
-R 該參數以遞歸的方式修改目錄下的所有文件的'所屬組。
命令chmod 用來修改文件或目錄的許可權: chmod -參數 模式 文件 | 目錄
例子: 修改目錄 log下所有文件的許可權為700
chmod -R 700 log
註:700的來歷是 u g o
rwx rwx rwx
111 000 000
關於 chmod 命令的許可權模式除了數字表示,還可以是 u、g、o 、a 加 +、- 來表示。格式如下:u、g、o分別代表用戶、屬組和其他,a 就是
all ,可以代替ugo。 +、- 代表增加或刪除對應的許可權,r、w、x 代表三種許可權,分別是讀、寫、執行。
例子:對於目錄 log下的所有文件(已有許可權是700)增加所屬組(g)的讀(r)、執行(x)許可權。
chmod -R g+rx log
類似的命令可能還有很多,這里只是舉幾個最基本且常用的例子。很多命令用到時,再去查也可以。還可參考《鳥哥的Linux私房菜》。
二、特殊許可權
Linux的3個特殊的許可權,分別是setuid、setgid和stick bit。
setuid許可權(S):只有用戶可擁有,出現在執行許可權(x)的位置。
setuid許可權允許用戶以其擁有者的許可權來執行可執行文件,即使這個可執行文件是由其他用戶運行的。
setgid許可權(S):對應於用戶組,出現在執行許可權(x)的位置。
setgid許可權允許以同該目錄擁有者所在組相同的有效組許可權來允許可執行文件。但是這個組和實際發起命令的用戶組不一定相同。
stick bit (t /T):又名粘滯位,只有目錄才有的許可權,出現在其他用戶許可權(o)中的執行位置(x)。當一個目錄設置了粘滯位,只有創建了該目錄的用戶才能刪除目錄中的文件,但是其他用戶組和其他用戶也有寫許可權。使用 t 或 T來表示。若沒有設置執行許可權,但是設置了粘滯位,使用 t;若同時設置了執行許可權和粘滯位使用 T。典型的粘滯位使用是 /tmp 目錄,粘滯位屬於一種防寫。
設置特殊許可權:
setuid: chmod u+s filename
setgid: chmod g+s directoryname
stick bit: chmod o+t directoryname
用數字表示特殊許可權,是在基本許可權之上的。濁嘴笨腮說不清楚,看例子:
例子:將上面例子中的log日誌目錄(已有許可權 700)許可權設置為755。特殊許可權是類似 /tmp目錄的 stick bit有效。
特殊許可權 基本許可權
setuid setgid stick bit user group other
0 0 1 rwx rwx rwx
111 000 000
所以,設置特殊許可權(stick bit)的命令應該是:chmod 1755 log
設置特殊許可權後,ls -dl 查看該目錄:drwxr-xr-t 2 gg gg 4096 5月 11 19:05 log ( 注意 other 的 x 位是代表特殊許可權的字母 t )
取消該特殊許可權的命令:chmod 755 log 。如此 stick bit的許可權就沒有了。
再次 ls -dl 查看該目錄: drwxr-xr-x 2 gg gg 4096 5月 11 19:15 log ( 注意最後一位已經變為代表普通許可權的字母x )
需要注意的是,最前面一位 ”1“ 就是特殊許可權位。其他兩個特殊許可權的設置也類似。setuid使用不是無限制的。出於安全目的,只能應用在Linux ELF格式二進制文件上,而不能用於腳本文件。
三、高級許可權
ACL(Access Control List),訪問控制列表是Linux下的的高級許可權機制,可實現對文件、目錄的靈活許可權控制。ACL 允許針對不同用戶、
不同組對同一個目標文件、目錄進行許可權設置,而不受UGO限制。
在一個文件系統上使用ACL需要在掛載文件系統的時候打開ACL功能。而根分區(ROOT)默認掛載的時候支持ACL。
命令:mount -o acl /掛載路徑
例子:mount -o acl /dev/sdb1 /mnt
查看一個文件的ACL設置的命令: getfacl file
(針對一個用戶)為一個文件設置指定用戶的許可權的命令: setfacl -m u:username:rwx filename
(針對一個組)為一個文件設置指定組的許可權的命令: setfacl -m g:groupname:r-x filename
刪除一個ACL設置的命令: setfacl -x u:username filename
;② 在linux中 acl是什麼意思
ACL的名詞定義
先來看看在ACL裡面每一個名詞的定義.這些名詞我大多從man page上摘下來雖然有些枯燥,
但是對於理解下面的內容還是很有幫助的
ACL 是由一系列的Access Entry所組成的. 每一條Access Entry定義了特定的類別可以對
文件擁有的操作許可權. Access Entry有三個組成部分: Entry tag type, qualifier
(optional), 許可權
我們先來看一下最重要的Entry tag type, 它有以下幾個類型
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的許可權
讓我們來據個例子說明一下. 下面我們就用getfacl命令來查看一個定義好了的ACL文件
代碼:
[root@zyq-server data]# getfacl test.txt
# file: test.txt
# owner: root
# group: family
user::rw-
user:zyq:rw-
group::rw-
group:jackuser:rw-
mask::rw-
other::---
前面三個以#開頭的定義了文件名,文件所有者和文件擁有組. 這些信息沒有太大的作用,我
們可以用 --omit-header來省略掉
user::rw- 定義了ACL_USER_OBJ, 說明file owner擁有讀和寫的許可權
user:zyq:rw- 定義了ACL_USER,這樣用戶zyq就擁有了對文件的讀寫許可權,實現了我們一開始要達到的目的
group::rw- 定義了ACL_GROUP_OBJ,說明文件的group擁有read和write 許可權
group: jackuser:rw- 定義了ACL_GROUP,使得jackuser組擁有了對文件的read 和write許可權
mask::rw- 定義了ACL_MASK的許可權為read and write
other::--- 定義了ACL_OTHER的沒有任何許可權操作此文件
從這里我們就可以看出ACL提供了我們可以定義特定用戶和用戶組的功能. 那麼接下來我們就來
看一下如何設置一個文件的ACL
③ Linux下的umask、特殊許可權與ACL許可權
在了解到Linux系統上的文件目錄許可權,有時候你會發現為什麼剛創建的文件是 -rw-r--r-- 這個許可權,目錄是 drwxr-xr-x 許可權,有些是 -rwsr-xr-x ,又有些是 drwsrws--T ?這些則與umask、特殊許可權有關。
什麼是umask?umask一般是用在你初始創建一個目錄或者文件的時候賦予他們的許可權。它與chmod的效果剛好相反,umask設置的是許可權「補碼」,而chmod設置的是文件許可權碼。一般在/etc/profile、
或用戶家目錄下的.bash_profile或.profile中設置umask值。
默認的umask是0022,0022四個數字代表是賦值初始化准備丟棄的許可權。(相對應文件來說,x許可權就算沒說明出來丟棄一樣必須默認丟棄)
第一個0代表suid 丟棄的許可權;
第二個0代表本文件/目錄擁有者什麼許可權都沒丟棄;
第三個2代表本文件/目錄的用戶組丟棄了w許可權;
第四個2代表本文件/目錄的文件/目錄的用戶組丟棄了w許可權。
一般我們會這樣表示:
umask +default permission(默認許可權) =777(目錄)/666(文件)
但存在特殊情況如果把umask設為135呢?
要了解特殊許可權需對安全上下文有一個概念:
前提:進程有屬主和屬組;文件有屬主和屬組
(1) 任何一個可執行程序文件能不能啟動為進程,取決發起者對程序文件是否擁有執行許可權
(2) 啟動為進程之後,其進程的屬主為發起者,進程的屬組為發起者所屬的組
(3) 進程訪問文件時的許可權,取決於進程的發起者
(a) 進程的發起者,同文件的屬主:則應用文件屬主許可權
(b) 進程的發起者,屬於文件屬組;則應用文件屬組許可權
(c) 應用文件「其它」許可權
1.SUID 許可權僅對二進製程序(binary program)有效;
2.執行者對於該程序需要具有x 的可執行許可權;
3.本許可權僅在執行該程序的過程中有效(run-time);
4.執行者將具有該程序擁有者(owner) 的許可權。
5.SUID設置在目錄上無意義
許可權設定:
chmod u+s FILE...
chmod u-s FILE...
s 標志在文件擁有者的x 項目為SUID,那s 在群組的x 時則稱為Set GID
[root@centos7 ~]# ls -l /usr/bin/locate
-rwx--s--x. 1 root slocate 40496 Jun 10 2014 /usr/bin/locate
與SUID 不同的是,SGID 可以針對文件或目錄來設定!如果是對文件來說, SGID 有如下的功能:
-1.SGID 對二進製程序有用;
-2.程序執行者對於該程序來說,需具備x 的許可權;
-3.執行者在執行的過程中將會獲得該程序群組的支持!
[root@centos7 ~]# ll /usr/bin/locate /var/lib/mlocate/mlocate.db
-rwx--s--x. 1 root slocate 40496 Jun 10 2014 /usr/bin/locate
-rw-r-----. 1 root slocate 2349055 Jun 15 03:44 /var/lib/mlocate/mlocate.db
與SUID 非常的類似,使用xiaoming 這個賬號去執行locate 時,那xiaoming將會取得slocate 群組的支持, 因此就能夠去讀取 mlocate.db 。
SGID 也能夠用在目錄上,這也是非常常見的一種用途
目錄設定了SGID 的許可權後,他將具有如下的功能:
-1. 用戶若對於此目錄具有r 與x 的許可權時,該用戶能夠進入此目錄;
-2.用戶在此目錄下的有效群組(effective group)將會變成該目錄的群組;
-3.用途:若用戶在此目錄下具有w 的許可權(可以新建文件),則使用者所建立的新文件,該新文件的群組與此目錄的群組相同。
這個 Sticky Bit, SBIT 目前只針對目錄有效,sticky 設置在文件上無意義。SBIT 對於目錄的作用是:
-1.當用戶對於此目錄具有w, x 許可權,亦即具有寫入的許可權時;
-2.當用戶在該目錄下建立文件或目錄時,僅有自己與root 才有權力刪除該文件
SUID/SGID/SBIT 許可權設定
-rwSrwSrwT 1 root root 0 Jun 16 02:53 test
設定許可權成為 -rws--x--x 的模樣:
[root@centos7 tmp]# chmod u=rwxs,go=x test; ls -l test
-rws--x--x 1 root root 0 Jun 16 02:53 test
承上,加上 SGID 與 SBIT 在上述的文件許可權中!
[root@centos7 tmp]# chmod g+s,o+t test; ls -l test
-rws--s--t 1 root root 0 Jun 16 02:53 test
1】ACL 是Access Control List 的縮寫,主要的目的是在提供傳統的owner,group,others 的read,write,execute 許可權之外的細部許可權設定。ACL 可以針對單一使用者,單一文件或目錄來進行
ACL 主要可以針以下來控制許可權呢:
1.使用者 (user):可以針對使用者來設定許可權;
2.群組 (group):針對群組為對象來設定其許可權;
3.默認屬性(mask):還可以針對在該目錄下在建立新文件/目錄時,規范新數據的默認許可權;
及1.ACL:Access Control List,實現靈活的許可權管理;2.CentOS7默認創建的xfs和ext4文件系統具有ACL功能;3.CentOS7之前版本,默認手工創建的ext4文件系統無ACL功能,需手動增加tune2fs –o acl/dev/sdb1
mount –o acl/dev/sdb1 /mnt/test
4.ACL生效順序:所有者,自定義用戶,自定義組,其他人
為多用戶或者組的文件和目錄賦予訪問許可權rwx
2】ACL 的設定技巧: getfacl, setfacl
-x :刪除後續的 acl 參數,不可與 -m 合用;
-b :移除『所有的』 ACL 設定參數;
-k :移除『預設的』 ACL 參數,
-R :遞歸設定 acl ,亦即包括次目錄都會被設定起來;
-d :設定『預設 acl 參數』的意思!只對目錄有效,在該目錄新建的數據會引用此默認值
例:[root@centos7 ~]# touch acl_test1
[root@centos7 ~]# ll acl_test1
-rw-r--r--. 1 root root 0 Jul 21 17:33 acl_test1
[root@centos7 ~]# setfacl -m u:xiaoming:rx acl_test1
[root@centos7 ~]# ll acl_test1
-rw-r-xr--+ 1 root root 0 Jul 21 17:33 acl_test1
[root@centos7 ~]# setfacl -m u::rwx acl_test1
[root@centos7 ~]# ll acl_test1
-rwxr-xr--+ 1 root root 0 Jul 21 17:33 acl_test1
設定值中的 u 後面無使用者列表,代表設定該文件擁有者
2.getfacl 指令用法余setfacl一樣
例:[root@centos7 ~]# getfacl acl_test1
file: acl_test1 <==說明檔名而已!
owner: root <==說明此文件的擁有者,亦即 ls -l 看到的第三使用者欄位
group: root <==此文件的所屬群組,亦即 ls -l 看到的第四群組欄位
user::rwx <==使用者列表欄是空的,代表文件擁有者的許可權
user:xiaoming:r-x <==針對xiaoming 的許可權設定為 rx ,與擁有者並不同!
group::r-- <==針對文件群組的許可權設定僅有 r
mask::r-x <==此文件預設的有效許可權 (mask)
other::r--
3】特定的單一群組的許可權設定:『g:群組名:許可權』
4】主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 參數。但是tar等常見的備份工具是不會保留目錄和文件的ACL信息
getfacl -R /tmp/dir1 > acl.txt
setfacl -R -b /tmp/dir1
清除dir目錄的ACL許可權
setfacl -R --set-file=acl.txt /tmp/dir1
setfacl --restore acl.txt
getfacl -R /tmp/dir1
④ 在 Linux 上給用戶賦予指定目錄的讀寫許可權
在 Linux 上指定目錄的讀寫許可權賦予用戶,有兩種方法可以實現這個目標:第一種是使用 ACL (訪問控制列表),第二種是創建用戶組來管理文件許可權,下面會一一介紹。為了完成這個教程,我們將使用以下設置:
請確認所有的命令都是使用 root 用戶執行的,或者使用 sudo 命令來享受與之同樣的許可權。讓我們開始吧!下面,先使用 mkdir 命令來創建一個名為 share 的目錄。
1. 使用 ACL 來為用戶賦予目錄的讀寫許可權
重要提示: 打算使用此方法的話,您需要確認您的 Linux 文件系統類型(如 ext3 和 ext4, NTFS, BTRFS)支持 ACL。
1.1. 首先, 依照以下命令在您的系統中檢查當前文件系統類型,並且查看內核是否支持 ACL:
從下方的截屏可以看到,文件系統類型是 ext4,並且從 CONFIG_EXT4_FS_POSIX_ACL=y 選項可以發現內核是支持 POSIX ACL 的。
[圖片上傳失敗...(image-c85622-1574572716190)]
1.2. 查看文件系統(分區)掛載時是否使用了 ACL 選項。
[圖片上傳失敗...(image-bdb4d9-1574572716190)]
通過上邊的輸出可以發現,默認的掛載項目中已經對 ACL 進行了支持。如果發現結果不如所願,你可以通過以下命令對指定分區(此例中使用 /dev/sda3)開啟 ACL 的支持)。
1.3. 指定目錄 share 的讀寫許可權分配給名為 shenweiyan 的用戶了,依照以下命令執行即可。
[圖片上傳失敗...(image-dfb909-1574572716190)]
在上方的截屏中,通過輸出結果的第二行 getfacl 命令可以發現,用戶 shenweiyan 已經成功的被賦予了 /data/share 目錄的讀寫許可權。
如果想要獲取 ACL 列表的更多信息。請參考:
2. 使用用戶組來為用戶賦予指定目錄的讀寫許可權
2.1. 如果用戶已經擁有了默認的用戶組(通常組名與用戶名相同),就可以簡單的通過變更文件夾的所屬用戶組來完成。
另外,我們也可以通過以下方法為多個用戶(需要賦予指定目錄讀寫許可權的)新建一個用戶組。如此一來,也就創建了一個共享目錄。
2.2. 接下來將用戶 shenweiyan 添加到 dbshare 組中:
2.3. 將目錄的所屬用戶組變更為 dbshare:
2.4. 現在,給組成員設置讀寫許可權。
ok,在 Linux 上給用戶賦予指定目錄的讀寫許可權就介紹到這里 !
參考資料:
⑤ Linux如何用acl創建777許可權
創建文件:
touchaaa
給文件賦權:
chmod777aaa
⑥ 如何在Linux下設置訪問控制列表(ACL)來控制用戶的許可權
Linux下的訪問控制列表(ACL)主要用來控制用戶的許可權,可以做到不同用戶對同一文件有不同的許可權,那麼具體要如何操作呢?下面小編就教你如何在Linux下設置訪問控制列表(ACL)來控制用戶的許可權。
使用擁有許可權控制的Liunx,工作是一件輕松的任務。它可以定義任何user,group和other的許可權。無論是在桌面電腦或者不會有很多用戶的虛擬Linux實例,或者當用戶不願意分享他們之間的文件時,這樣的工作是很棒的。然而,如果你是在一個大型組織,你運行了NFS或者Samba服務給不同的用戶,然後你將會需要靈活的挑選並設置很多復雜的配置和許可權去滿足你的組織不同的需求。
Linux(和其他Unix等POSIX兼容的操作系統)有一種被稱為訪問控制列表(ACL)的許可權控制方法,它是一種許可權分配之外的普遍範式。例如,默認情況下你需要確認3個許可權組:owner、group和other。而使用ACL,你可以增加許可權給其他用戶或組別,而不單只是簡單的「other」或者是擁有者不存在的組別。可以允許指定的用戶A、B、C擁有寫許可權而不再是讓他們整個組擁有寫許可權。
ACL支持多種Linux文件系統,包括ext2, ext3, ext4, XFS, Btfrs, 等。如果你不確定你的文件系統是否支持ACL,請參考文檔。
在文件系統使ACL生效
首先,我們需要安裝工具來管理ACL。
Ubuntu/Debian 中:
$ sudo apt-get install acl
CentOS/Fedora/RHEL 中:
# yum -y install acl
Archlinux 中:
# pacman -S acl
出於演示目的,我將使用ubuntu server版本,其他版本類似。
安裝ACL完成後,需要激活我們磁碟分區的ACL功能,這樣我們才能使用它。
首先,我們檢查ACL功能是否已經開啟。
$ mount
你可以注意到,我的root分區中ACL屬性已經開啟。萬一你沒有開啟,你需要編輯/etc/fstab文件,在你需要開啟ACL的分區的選項前增加acl標記。
現在我們需要重新掛載分區(我喜歡完全重啟,因為我不想丟失數據),如果你對其它分區開啟ACL,你必須也重新掛載它。
$ sudo mount / -o remount
乾的不錯!現在我們已經在我們的系統中開啟ACL,讓我們開始和它一起工作。
ACL 範例
基礎ACL通過兩條命令管理:setfacl用於增加或者修改ACL,getfacl用於顯示分配完的ACL。讓我們來做一些測試。
我創建一個目錄/shared給一個假設的用戶,名叫freeuser
$ ls -lh /
我想要分享這個目錄給其他兩個用戶test和test2,一個擁有完整許可權,另一個只有讀許可權。
首先,為用戶test設置ACL:
$ sudo setfacl -m u:test:rwx /shared
現在用戶test可以隨意創建文件夾,文件和訪問在/shared目錄下的任何地方。
現在我們增加只讀許可權給用戶test2:
$ sudo setfacl -m u:test2:rx /shared
注意test2讀取目錄需要執行(x)許可權
讓我來解釋下setfacl命令格式:
-m 表示修改ACL。你可以增加新的,或修改存在的ACLu: 表示用戶。你可以使用 g 來設置組許可權test 用戶名:rwx 需要設置的許可權。
現在讓我向你展示如何讀取ACL:
$ ls -lh /shared
你可以注意到,正常許可權後多一個+標記。這表示ACL已經設置成功。要具體看一下ACL,我們需要運行:
$ sudo getfacl /shared
最後,如果你需要移除ACL:
$ sudo setfacl -x u:test /shared
如果你想要立即擦除所有ACL條目:
$ sudo setfacl -b /shared
最後,在設置了ACL文件或目錄工作時,cp和mv命令會改變這些設置。在cp的情況下,需要添加「p」參數來復制ACL設置。如果這不可行,它將會展示一個警告。mv默認移動ACL設置,如果這也不可行,它也會向您展示一個警告。
總結
使用ACL讓在你想要分享的文件上擁有更多的能力和控制,特別是在NFS/Samba服務。此外,如果你的主管共享主機,這個工具是必備的。
上面就是Linux下設置訪問控制列表來控制用戶許可權的方法介紹了,因為ACL的配置和使用較為復雜,初學者在使用的時候容易出現錯誤,希望本文介紹的方法能夠幫助到你。
⑦ 在linux中 acl是什麼意思
ACL的名詞定義
先來看看在ACL裡面每一個名詞的定義.這些名詞我大多從man page上摘下來雖然有些枯燥,
但是對於理解下面的內容還是很有幫助的
ACL 是由一系列的Access Entry所組成的. 每一條Access Entry定義了特定的類別可以對
文件擁有的操作許可權. Access Entry有三個組成部分: Entry tag type, qualifier
(optional), 許可權
我們先來看一下最重要的Entry tag type, 它有以下幾個類型
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的許可權
讓我們來據個例子說明一下. 下面我們就用getfacl命令來查看一個定義好了的ACL文件
代碼:
[root@zyq-server data]# getfacl test.txt
# file: test.txt
# owner: root
# group: family
user::rw-
user:zyq:rw-
group::rw-
group:jackuser:rw-
mask::rw-
other::---
前面三個以#開頭的定義了文件名,文件所有者和文件擁有組. 這些信息沒有太大的作用,我
們可以用 --omit-header來省略掉
⑧ linux設置用戶ACL功能對目錄有讀與執行許可權
文件/目錄許可權設置命令:chmod
這是Linux系統管理員最常用到的命令之一,它用於改變文件或目錄的訪問許可權。該命令有兩種用法:
用包含字母和操作符表達式的文字設定法
其語法格式為:chmod
[who]
[opt]
[mode]
文件/目錄名
其中who表示對象,是以下字母中的一個或組合:
u:表示文件所有者
g:表示同組用戶
o:表示其它用戶
a:表示所有用戶
opt則是代表操作,可以為:
+:添加某個許可權
-:取消某個許可權
=:賦予給定的許可權,並取消原有的許可權
而mode則代表許可權:
r:可讀
w:可寫
x:可執行
例如:為同組用戶增加對文件a.txt的讀寫許可權:
chmod
g+rw
a.txt
用數字設定法
而數字設定法則更為簡單:chmod
[mode]
文件名
關鍵是mode的取值,一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進制數,如果有則有1表示,沒有則有0表示,那麼rwx
r-x
r-
-則可以表示成為:
111
101
100
再將其每三位轉換成為一個十進制數,就是754。
例如,我們想讓a.txt這個文件的許可權為:
自己
同組用戶
其他用戶
可讀
是
是
是
可寫
是
是
可執行
那麼,我們先根據上表得到許可權串為:rw-rw-r--,那麼轉換成二進制數就是110
110
100,再每三位轉換成為一個十進制數,就得到664,因此我
們執行命令:
chmod
664
a.txt
⑨ linux如何設置一個用戶組里的一個用戶對某個文件具有acl許可權,其他用戶和組沒有任何許可權
把文件所有者給到那個用戶,然後把文件許可權設為700,即擁有者有完整許可權,其他人沒有任何許可權。
chown username filename
chmod 700 filename
⑩ 測試時需要使用Linux,請問Linux許可權的字母的含義是什麼
文件系統部分
- 普通文件(文本文件,二進制文件,壓縮文件,電影,圖片。。。)
d 目錄文件(藍色)
b 設備文件(塊設備)存儲設備硬碟,U盤 /dev/sda, /dev/sda1
c 設備文件(字元設備)列印機,終端 /dev/tty1
l 鏈接文件(淡藍色)
s 套接字文件
p 管道文件
文件許可權部分
- //表普通文件
rwx //讀、寫、執行(數字表示4、2、1)
a所有人,= 表覆蓋
s是此處含有x許可權,當去除x許可權則為S。
s分為suid和sgid,suid可以為普通用戶提權,sgid可以讓組屬性得以繼承。
基本許可權 ACL
acl許可權的理解:假如有一個test.txt文件,只有屬主和屬組有rwx許可權,其他用戶沒許可權。有一個用戶既不在該用戶屬組也不是屬主,想要訪問test.txt文件,就得通過acl許可權
。即acl許可權可以針對單個用戶。
mask許可權
acl許可權中有個"mask"的選項,它就是ACL許可權的最大許可權,現在是rwx,當你設置某個用戶或組的ACL許可權時,要跟mask的許可權「相與」之後產生的許可權才是該用戶的最終許可權,也就是加入mask的最大許可權是rx,但是你給st用戶設置的是rwx許可權,此時st用戶它的許可權只有rx的許可權,因為與最大許可權「相與」得出的結果就是rx。
4、特殊許可權chattr:常用於鎖定某個文件,拒絕修改。可參考《Linux就該這么學》了解更多Linux知識。