關于ntfs權限的問題
檔案的權限:
[-dcbps][u:rwx][g:rwx][a:rwx]
當中: r=4, w=2, x=1, u=owner, g=group, a=all user
d=dir, -=file, l=symbolic link, p=pipe,
c=character device, b=block device, d=door, s = socket
linux下,檔案夾的r——可列檔案夾,w——可寫/删/改名,x——可進入訪問;
檔案r——可讀。w——可寫/删/改名,x——運作
權限的組合可彙合成一個數字: rwx = 4+2+1 = 7
是以:-rwxrwxrwx = 777, -rw-rw-rw=666, -rwx-r-x-r-x=755
一般通過chmod的參數進行設定:
chmod 777 /dir/file 設定檔案為讀寫運作
chmod -x /dir/file 删除檔案uga的可運作
chmod ga-w /dir/file 删除檔案ga的可寫權限
chmod u=rx /dir/file 重設定檔案u為讀和運作
chmod +x /dir/file 添加檔案uga為可運作
umask & fmask & dmask的使用
umask —— 設定檔案夾和檔案的權限過濾
fmask —— 設定檔案的權限過濾
dmask —— 設定檔案夾的權限過濾
dmask和fmask是mount的選項。針對fat/ntfs檔案系統。适用于fstab配置
不同于chmod/chown的權限值,它們三個是有mask——過濾的意思 。下面是它們的對檔案的讀寫權限:
0 1 2 3 4 5 6 7
r + + + + - - - -
w + + - - + + - -
x + - + - + - + -
事實上這個結果是通過 mask = rwx - 檔案權限
如設定檔案為0755權限,那麼mask值則需為0022,即:0755=0777-0022
fstab執行個體:
<file system> <mount point> <type> <options> <dump> <pass>
/dev/hda1 /media/win ntfs defaults,utf8,umask=111 0 0
當中:umask=111==>(777-111)=666=rw-rw-rw, 即檔案擁有讀寫權限
能夠又一次設計更更嚴格的權限關系:
dmask=022,fmask=133 即:f=755=rwxr-xr-x, d=644=rw-r--r--
注意:事實上umask可了解為關閉某些權限。能夠使用umask指令改變一個檔案的權限:
umask 檢視目前檔案夾的權限mask
umask <mask> 設定目前
檔案權限進階—— 檔案的組和使用者繼承關系suid和sgid
當檔案設定了suid後,該檔案執行時以擁有者身份執行
chmod 755 file (owner)
chmod u+s file ==> -rwsr-xr-x (user)
(即當使用user運作時。它以owner的身份運作)
(suid經常使用于檔案上,檔案夾一般沒有運作權限)
當檔案夾設定了sgid後。其它人要是有r/x/w權限時,其它人建立的子檔案夾的組為目前擁有的組
chmod 757 dir (owner)
chmod g+s dir ==> drwxr-srwx (ower)
mkdir dir/newidr (user)
(即當user建立子檔案夾時。它的組是owner,它的擁有者則是user)
(sgid經常使用于檔案夾上)
當檔案夾設定了sticky後,防止别人删除檔案夾的資料
chmod 757 dir (owner組)
chmod o+t dir ==> drwxr-srwt (owner)
rm -r dir (user) ==> error
(user無法删除。盡管開放了删除權限。但還是僅僅有owner可删除)
樣例:
chmod u=rwxs,o=rx file
chmod g+s,o=wrx test/
chmod o=rwxt test/
chmod 1775 test/
0755也就是755, 而1755前面的1則與suid/sgid/sticky相關。看下表:
(能夠了解為suid=4,sgid=2,sticky=1)
suid sgid sticky 模式數字
on on on 7
on on off 6
on off on 5
on off off 4
off on on 3
off on off 2
off off on 1
off off off 0
檔案的擁有者
一般通過chown進行設定
檢視目前登入 w或者who
檢視目前username whoami
檢視目前使用者組id id <u> 或者 finger <u>
檢視使用者登入記錄 last
lastb
檢視全部使用者 cut -d : -f 1 /etc/passwd
cat /etc/passwd |awk -F : '{print $1}'
檢視目前組 groups
檢視指定組 groups
改變擁有者 chown /dir/file
改變組 chgrp /dir/file
改變組及擁有者 chown : /dir/file
其它 groupadd/groupmod/groupdel
useradd/usermod/userdel
最後進階了解fstab配置
<file system> <mount point> <type> <options> <dump> <pass>
/dev/hda1 /media/win ntfs defaults,utf8,uid=1000,gid=1000,fmask=133,dmask=022 0 0
參考文章
http://www.itlearner.com/article/4594
http://askubuntu.com/questions/429848/dmask-and-fmask-mount-options
http://blog.sina.com.cn/s/blog_70545bad0100xdnp.html