1. linux下如何進行SFTP用戶許可權設置
1、打開Linux文件查看有哪些許可權。
注意事項:
Linux用戶分三種,超級用戶,普通用戶,偽用戶,超級用戶擁有所有許可權,偽用戶一般和進程相關,無需登錄系統,所以常說的管理用戶許可權指的是管理Linux中普通用戶的許可權。
2. 如何在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的配置和使用較為復雜,初學者在使用的時候容易出現錯誤,希望本文介紹的方法能夠幫助到你。
3. Linux系統下用戶以及許可權管理
一、操作系統中的用戶管理 相關配置文件解讀
Linux用戶在操作系統可以進行日常管理和維護,涉及到的相關配置文件如下:
/etc/passwd 保存操作系統中的所有用戶信息
root : x : 0 : 0 : root : /root : /bin/bash
name:password:UID:GID:GECOS:directory:shell
用戶名 :密碼佔位符 :uid :基本組的gid :用戶信息記錄欄位:用戶的家目錄:用戶登錄系統後使用的命令解析器
————————————————
欄位1:用戶名
欄位2:密碼佔位符
欄位3:用戶的UID 0 表示超級用戶 , 500-60000 普通用戶 , 1-499 程序用戶
欄位4:基本組的GID 先有組才有用戶
欄位5:用戶信息記錄欄位
欄位6:用戶的家目錄
欄位7:用戶登錄系統後使用的命令解釋器
————————————————
UID:0表示超級用戶, 程序用戶 (1-499),普通用戶 (500以上60000以下),根據uid將用戶分為以上三類用戶。
/etc/shw 保存用戶密碼(以加密形式保存)
[root@xing /]# cat /etc/shadow
root : $6$Jw5XsDvvNBH5Xoq. : 19180 : 0 : 99999 : 7 : : :
用戶名:密碼(加密後的字元串):最近一次的修改時間【距離1970年1月1日的距離】:密碼的最短有效期:密碼的最長有效期:密碼過期前7天警告:密碼的不活躍期:用戶的失效時間: 保留欄位
————————————————
欄位1:用戶名
*欄位2:用戶的密碼加密後的字元串(sha)
欄位3:距離1970/1/1密碼最近一次修改的時間
欄位4:密碼的最短有效期
*欄位5:密碼的最長有效期(建議時間 90)
欄位6:密碼過期前7天警告
欄位7:密碼的不活躍期
欄位8:用戶的失效時間
欄位9:保留欄位
這個欄位目前沒有使用,等待新功能的加入。
————————————————
/etc/group 保存組信息
————————————————
root:x:0:
bin:x:1:bin,daemon
組名:組的密碼佔位符:gid:附加組成員
————————————————
/etc/login.defs 用戶屬性限制,密碼過期時間,密碼最大長度等限制
/etc/default/useradd 顯示或更改默認的useradd配置文件
二、文件及目錄許可權
文件與許可權: 即文件或者目錄屬於哪個用戶,屬於哪個組,不同的用戶能對該文件進行何種操作。
————————————————
註:
查看文件許可權: ls -l 文件
查看目錄許可權 : ls -ld 目錄
————————————————
[root@xing Desktop]# ls -l /root/Desktop/
total 70584
lrwxrwxrwx. 1 root root 18 Jul 14 14:32 123.txt -> /root/Desktop/ming
-rw-r--r--. (文件屬性) 1 (鏈接個數: 表示指向它的鏈接文件的個數 ) root (所屬者) root (所屬組) 0(文件大小:單位byte) Jul 14 14:14(最後一次修改時間) 2.txt(文件名)
drwx------.(文件屬性) 7 (目錄中的子目錄數: 此處看到的值要減2才等於該目錄下的子目錄的實際個數。 ) root (所屬者) root (所屬組) 4096 (文件大小:單位byte)Jul 13 16:56(最後一次修改時間) vmware-tools-distrib(目錄名)
[root@xing Desktop]# ls -ld /root/Desktop/
drwxr-xr-x. 3 root root 4096 Jul 14 14:44 /root/Desktop/
————————————————
文件屬性解釋:
- rw- r-- r-- .
d rwx r-x r-x .
欄位1:文件類型 【- 普通文件 d目錄 l符號鏈接 b塊設備】
欄位2:文件所有者對該文件的許可權
欄位3:文件所屬組的許可權
欄位4:其他用戶的許可權(既不是文件所有者也不是文件所屬組的用戶)
欄位5:表示文件受 selinux 的程序管理
8進制賦權法: r 【100】4; w【010】2; x【001】1
————————————————
三、用戶以及許可權管理命令匯總:
————————————————
用戶增刪改命令
useradd
userdel
usermod
————————————————
用戶組增刪改命令
groupadd
groupdel
groupmod
————————————————
passwd
change
————————————————
文件許可權修改: chmod命令
chmod 對象 算數運算符 許可權 文件
[root@xing tmp]# ls -ld ming
drwxr-xr-x. 2 root root 4096 Jul 16 10:27 ming
[root@xing tmp]# chmod o-x ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 root root 4096 Jul 16 10:27 ming
————————————————
文件所屬者修改:
chown 用戶 文件
[root@xing tmp]# chown ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming root 4096 Jul 16 10:27 ming
————————————————
文件所屬組修改:
chgrp 組 文件
[root@xing tmp]# chgrp ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming ming 4096 Jul 16 10:27 ming
————————————————
8進制賦權法
[root@xing ~]# chmod 644 /tmp/ming
[root@xing ~]# ls -ld /tmp/ming
drw-r--r--. 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
linux下命令「ll」是「ls -l"的別名。
————————————————
粘滯位:賦權後的文件 只有建立者可以刪除
chmod o+t 文件
[root@xing ~]# chmod o+t /tmp/ming
[root@xing ~]# ll -d /tmp/ming
drw-r--r-T . 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
sgid : 賦權後的目錄,新建立的文件或者子目錄的所屬組繼承父目錄的所屬組
chmod g+s 目錄
[root@xing ming]# chmod g+s /tmp/ming
[root@xing tmp]# ll
drw-r-Sr-T. 2 ming ming 4096 Jul 16 11:29 ming
[root@xing ming]# touch 20.txt
[root@xing ming]# ll
-rw-r--r--. 1 root ming 0 Jul 16 11:33 20.txt
[root@xing ming]# mkdir 60
[root@xing ming]# ll
drwxr-sr-x. 2 root ming 4096 Jul 16 11:34 60
————————————————
suid :允許誰運行該文件具有該文件所屬者的許可權
chmod u+s 文件
[root@xing Desktop]# ll /usr/bin/vim
-rwxr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
[root@xing Desktop]# chmod u+s /usr/bin/vim
[root@xing Desktop]# ll /usr/bin/vim
-rwsr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
備註:linux 紅底白字代表警告!
————————————————
[root@xing Desktop]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
suid:4 sgid:2 粘滯位:1
[root@xing Desktop]# find /usr/bin -perm 4 755
/usr/bin/at
/usr/bin/chage
/usr/bin/pkexec
/usr/bin/Xorg
/usr/bin/crontab
/usr/bin/newgrp
/usr/bin/vim
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/ksu
————————————————
1、不再允許添加新用戶的請求
chattr命令 :用於改變文件屬性
chattr +i 文件
lsttr命令 :查看文件屬性
lsattr 文件
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
-------------e- /etc/passwd
-------------e- /etc/shadow
[root@xing Desktop]# chattr +i /etc/passwd /etc/shadow
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
----i--------e- /etc/passwd
----i--------e- /etc/shadow
[root@xing Desktop]# useradd kk
useradd: cannot open /etc/passwd
2、umask
root用戶的umask默認值是0022,一般用戶默認是0002
目錄的最高許可權 0777-0022=0755
文件的最高許可權 0666-0022=644
一般伺服器配置umask的值配置為027最好;需要去修改兩處文件中的umask值。
/etc/profile
/etc/bashrc
3、修改默認的密碼最長有效期:修改以下配置文件
/etc/login.defs
4. linux中多用戶以及許可權的理解
linux操作系統是多用戶管理系統,管理起來非常麻煩,所以用組的概念來管理用戶就變的簡單多了, 一個用戶可以屬於多個組,一個組可以有多個用戶,用戶和組是多對多的關系。
linux的多用戶多分組管理系統都是針對 文件 來說的, 每個文件都有所屬的用戶和所屬的分組。
linux系統是根據用戶UID來識別用戶的,並不是根據用戶名。linux用戶分為以下3種
每行數據為一個用戶,可以看到紅色部分為root超級用戶,藍色部分為系統用戶,綠色部分為普通用戶。
我們可以看到該文件屬於root用戶和root組。然後root用戶許可權是rw-,root組內成員的許可權是r--,而其他用戶的許可權是r--。由於其他用戶的許可權都是r--,所以任何用戶都是可以讀的。
在/etc/group文件中存儲著系統的所有組,查看文件內容,如下圖
大致分為4段
我們可以看到圖中mail分組的第4段有值為postfix,也就是postfix用戶應該有倆個分組,一個初始組和一個附屬組,我們執行以下命令驗證
用戶密碼文件shadow和組密碼文件gshadow的許可權都是000,所有其他用戶是不能查看的,只有root用戶才可以查看,root用戶也是不能修改該文件的。
使用 whoami 命令查看。
postfix用戶有倆個所屬組postfix和mail。由此可見, uid是指用戶id(用戶名稱),gid是指初始組id(初始組名稱),groups是指包括初始組在內的所有組id(所有組名稱)
我們知道了/etc/group文件的第四段為 組內成員 ,所有我們可以通過 grep 來匹配相關組。比如查詢mail組內的所有成員,命令如下, 可以看到mail組內有mail,postfix和tom3個用戶。
上面是一種方法,我們也可以直接使用命令來查看。
添加用戶只能root用戶來添加,普通用戶沒有許可權,添加用戶有倆種方式
在centos系統下,這倆種方式沒有區別, 都會在/home下自動創建與用戶名同名的用戶目錄,且都是需要使用 passwd userName 命令來設置用戶密碼的,只有設置完密碼後才可以正常登錄。
在unbantu系統下,這倆種方式是有區別的,使用 useradd userName命令 不會在/home下自動創建與用戶名同名的用戶目錄,且不會自動選擇shell版本,後續也是需要使用 passwd username來設置密碼的 。 而使用 adser userName 命令的話 是會在/home目錄下自動創建與用戶名同名的用戶目錄,也會自動選擇shell版本,且會自動提示輸入用戶密碼,對用戶比較友好,後續不需要在使用passwd來設置密碼。
刪除用戶,並不會刪除用戶相關的文件
刪除用戶且一起刪除家目錄
格式如下:
參數如下:
-g 指定組(只有root可以使用)
-a 指定用戶加入組
-d 從組中刪除該用戶
-p 從組中清楚所有成員
-l 顯示組成員列表
linux中每個文件都是有許可權的。 每個文件都有自己的所屬用戶和所屬組,且擁有所屬用戶許可權,所屬組許可權和其他許可權3種。
許可權一般分為讀,寫,執行3種,通過這樣的機制來限制哪些用戶或用戶組可以對特定文件進行相應的操作。
目錄有x許可權才可以cd進入該目錄。目錄有r許可權才能在該目錄中使用ll或者ls查看目錄。一個目錄中的文件能否被刪除或者創建取決於該目錄是否有w許可權。
執行ll命令後顯示如下,我們解讀一下
從左到右發現一共有7段
然後執行如下命令
test文件的許可權改為
常用的參數為 -R ,常用於修改目錄許可權,該參數表示為該目錄以及目錄下的所有子文件都修改為相同的許可權。
然後執行如下命令
再次查看test文件
常用的參數為 -R ,常用於修改目錄,該參數表示為該目錄以及目錄下的所有子文件都修改為相同的用戶及用戶組。
想切換到root用戶,直接使用su命令即可
5. 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
;6. 如何在Linux中管理文件和文件夾的許可權
文件/目錄許可權設置命令: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的取值
用4代表r
用2代表w
用1代表x
那麼rwx r-x r- -則可以表示成為:
421 401 400
然後數字各組相加:4+2+1 4+0+1 4+0+0
也就是 7 5 4
chmod 754 test.tx
7. 如何在Linux中管理文件和文件夾的許可權
命令行:文件許可權
改動文件許可權和所有權的兩個命令如下:
chmod - 更改許可權
chown - 更改所有權
上面兩個命令用起來都不難。不過你要明白,只有用戶是當前所有者或根用戶,才能夠實際更改文件的許可權或所有權,這一點很重要。所以,如果你是用戶Bethany,要是不藉助根許可權(或sudo),就無法對用戶Jacob擁有的文件和文件夾進行更改。比如說:
數據分區上創建了一個新的文件夾,名為/DATA/SHARE。Bethany和Jacob這兩個用戶都需要擁有讀取和寫入該文件夾的訪問許可權。有許多方法可以實現這一點(其中一個方法是,把兩個用戶加入到一個特殊的用戶組――我們會在另一篇文章中探討如何管理用戶組)。如果Bethany和Jacob是系統上的唯一兩個用戶(而且你知道自己的網路很安全――這很重要),就可以更改該文件夾的許可權,為他們授予訪問權。為此,一個方法就是執行該命令。
sudo chmod -R ugo+rw /DATA/SHARE
上面這個命令的詳細分解如下:
sudo - 這用於為使用sudo的任何系統上的命令獲得管理員許可權(不然你就得使用'su'以獲得根許可權,運行不帶'sudo'的上面這個命令)
chmod - 改動許可權的命令
-R - 這改動父文件夾及其裡面子對象的許可權
ugo+rw - 這為User(用戶)、Group(用戶組)及Other(其他對象)授予讀取和寫入訪問許可權。
你可能也猜測到了,這個命令完全開放了SHARE文件夾的許可權,那樣系統上的任何人都能訪問該文件夾。正如我在前面提到的那樣,一種更安全的方法就是使用用戶組。但我們使用這種方法僅僅是為了演示。
許可權的詳細分解如下:
u - 用戶
g - 用戶組
o - 其他對象
"其他對象"這個條目是個危險的條目,因為它實際上為每個人賦予了文件夾/文件的許可權。你為某文件或文件夾所能賦予的許可權如下:
r - 讀取
w- 寫入
x - 執行
使用-R這個參數選項符很重要。如果你在SHARE目錄裡面有許多子文件夾和文件,又希望許可權從父對象(包含文件夾)應用到子對象(子文件夾和文件),就必須使用-R(遞歸)這個參數選項符,那樣同樣的許可權就可以一路應用到父文件夾裡麵包含的最深層文件夾。
命令行:文件所有權
更改文件或文件夾的所有權同樣很簡單。假設Jacob為Bethany把一個文件夾移入到SHARE目錄裡面,但是Jacob仍擁有所有權。只要藉助一個簡單的命令,就可以更改這個所有權:
sudo chown -R bethany /DATA/SHARE
讓我們詳細分解這個命令。
sudo - 必須用到管理員許可權,因為我們所處理的是屬於另一個用戶的文件夾
chown - 更改所有權的命令·-R - 這個遞歸參數選項符確保所有子對象都獲得同樣的所有權變更。
bethany - 文件夾的新所有者
/DATA/SHARE - 所要修改的目錄
要是Bethany將文件夾發回給Jacob,就需要再次更改所有權(如果使用用戶組,同樣可以簡化這一步)。
GUI:用戶許可權
我准備在Ubuntu 13.10系統上,使用Nautilus文件管理器,演示如何更改文件許可權。
假設你需要允許每個人都獲得讀取/寫入文件夾TEST的許可權。為此,在Nautilus文件管理器裡面,採取下面這些步驟:
1.打開Nautilus
2.瀏覽至目標文件或目標文件夾
3.滑鼠右擊該文件或文件夾
4.選擇Properties(屬性)
5.點擊Permissions(許可權)選項卡
6.點擊Others(其他)部分中的Access files(訪問文件)
7.選擇"Create and delete files"(創建並刪除文件)
8.點擊Change Permissions for Enclosed Files(更改所附文件的許可權)
9.在隨後彈出的窗口中,選擇Files(文件)下的Read and Write(讀取和寫入),選擇Folders(文件夾)下的Create and delete files(創建並刪除文件),見圖A。
10.點擊Change(更改)。
11.點擊Close(關閉)。
如果你需要更改不屬於你的文件夾的許可權,戲法就會出現。可以實現這一幕,但必須在擁有管理員訪問權的前提下啟動Nautilus。為此,採取下面這些步驟:
1.打開終端窗口
2.執行命令sudo -i
3.執行命令nautilus
sudo -i命令為你賦予了持久訪問sudo的許可權,直到你輸入exit命令,清除該訪問權。一旦Nautilus打開,你可以更改文件夾或文件的許可權,如上所述――即便你不是該文件夾或文件的所有者。
注意:如果你所使用的發行版並不使用sudo,就要把上述指令改成如下:
1.打開終端窗口
2.執行命令su
3.鍵入你的根密碼,按回車鍵
4.執行命令nautilus。
在你完成這項任務之後,關閉Nautilus窗口,然後關閉終端窗口。
GUI:更改所有權
更改文件或文件夾的所有權常常需要使用管理員許可權。所以為此,你需要採用上面介紹的方法來啟動Nautilus。
想藉助Nautilus更改文件夾或文件的所有權,請採取下面這些步驟:
1.在藉助管理員許可權打開的Nautilus窗口中,找到相應的文件夾或文件
2.滑鼠右擊該文件夾(或文件)
3.點擊Permissions(許可權)選項卡
4.從Owner(所有者)下拉框中選擇新的所有者(見下圖)
5.點擊Close(關閉)。
就是這樣。現在,你藉助命令行或GUI,更改文件或文件夾的許可權或所有權時應該不會有任何問題了。使用用戶組讓你可以更改許可權和所有權,卻擁有更強大的功能和更高的安全性――我們以後會介紹這方面。現在,請享受更改文件和文件夾的便利吧!