天天看點

linux權限及ntfs檔案系統權限的知識關于ntfs權限的問題

關于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