Linux--档案/目录 权限及修改
首先所有權限對于三類用戶分別設定:?User(所有者) /?Group(組群) /?Others(其他)。
?
?
權限也是有三種:Read /?Write / eXecute,這三種權限對于文檔和目錄有不同的意義。
1. 對于文檔:
Read:可以查看文檔的內容
Write:可以修改文檔的內容,添加、刪除、修改內容等
eXecute:文檔可執行
需要注意:對于文檔,權限指的是對于文檔內容的權限而不是對于文檔本身的權限。舉個例子就是說即使有對文檔的read,write,execute全部的權限,也不能決定是否刪除移動文檔本身,這些權限是由目錄權限規定的。
?
2. 對于文件夾:
Read: 可以查看文件夾下文件/目錄列表
Write:可以在目錄下添加、刪除文件/目錄,當然還有修改文件名/目錄名
eXecute: 是否可以作為工作目錄,即是否可以cd進來
注意:對于文件夾,沒有execute權限的話,Read write功能都不能被正常使用
?
?
修改權限的命令:chown,chgrp,chmod,?
chown:
$sudo chown 賬號名 文件名/目錄名 ?#只改擁有者
$sudo chown 賬號名:組群 文件名/目錄名 #改擁有者和組群
$sudo chown 賬號名.組群 文件名/目錄名 #同上
$sudo chown .組群 文件名/目錄名 #只改組群
chgrp:
$sudo chgrp 組名?文件名/目錄名
chmod:修改權限的時候并不是每次都要寫9個權限的,太長了
每個權限有對應的整數值,read(4),write(2),execute(1), 用他們的和就可代表一類權限。
$sudo chmod 744 文件名/目錄名?
?
雖然這樣已經將參數從9減至3了,但依然不夠簡便。可以利用+/-/=來增加/刪除/設定權限。其中用u/g/o/a分別表示擁有者/群組/其他用戶/全部。
$sudo chmod u+x,go-w 文件名/目錄名 #給擁有者增加execute權限,其他用戶撤銷write權限。
?
p.s. ?上述的命令用語文件夾時可以加上選項 -R 表示對文件夾的所有目錄遞歸使用。
?
?
?
2010.12.7日補充:
?
除了普通的r,w,x等權限,文檔/目錄還有默認權限,隱藏權限和特殊權限,下面分別介紹。
默認權限:
?
umask:新建檔案或目錄的默認屬性,新建檔案沒有execute權限,新建目錄有execute權限
$umask -S
u=rwx,g=rx,o=rx
$umask
0022
注意,以數字顯示權限中,數字表示的是該默認值需要減掉到權限,如2,表示沒有w=2權限
?
隱藏權限:lsattr,chattr,只有在ext2/ext3/ext4下面有效,其他文件系統下顯示“lsattr: 對設備不適當的 ioctl 操作 While reading flags on ...”錯,需要用到的請man
?
特殊權限:SUID, SGID, SBIT
我們已經知道了文檔/目錄有r,w,x三個權限,但是有時還會有s,t權限,比如passwd,/tmp,等的權限如下所示:
-rwsr-xr-x 1 root root 37140 2010-01-27 01:09 /usr/bin/passwd*
drwxrwxrwt 13 root root 4096 2010-12-07 09:58 ./
s對應于文檔所有者的權限時對應SUID(Set User ID)權限。SUID權限只存在于二進制程序,是指一般用戶執行此二進制程序時獲得root權限(要求一般用戶對文檔有x權限噢)。注意對目錄和非二進制程序到文檔不存在這樣到權限。
s對應與文檔所屬群組到權限時對應SGID(Set Group ID)權限。SGID權限對二進制程序文檔和目錄均有效:對于二進制程序文檔,一般用戶執行時獲得文檔所在群組到權限(要求一般用戶對文檔有x權限);對于目錄,一般用戶進入此目錄時有目錄所屬群組的權限,當用戶在此目錄中新建文檔/目錄時,新建文檔/目錄到所屬群為當前目錄的所屬群。
t對應于目錄權限時對應SBIT(Sticky BIT),在該目錄下新創建到的文檔和目錄只有所有者和root可以刪除(可以創建是要求有w,x權限)。?
?
如何設定特殊權限呢? 我們知道一般可以用744這個三個數字代表所有者,所在群組和其他用戶的權限。在這三個數前面再加上一個數則代表特殊權限,其中SUID(4),SGID(2),SBIT(1).
liyx@liyx-ubuntu:~$ ll special
-rw-r--r-- 1 liyx liyx 0 2010-12-07 11:15 special
liyx@liyx-ubuntu:~$ chmod 4755 special
liyx@liyx-ubuntu:~$ ll special
-rwsr-xr-x 1 liyx liyx 0 2010-12-07 11:15 special*
當然也可以用$chmod o+s special 的方式修改特殊權限。
?
參考:《鳥哥的Linux私房菜基礎篇》
?
轉載于:https://www.cnblogs.com/liyuxia713/archive/2010/11/30/2540726.html
總結
以上是生活随笔為你收集整理的Linux--档案/目录 权限及修改的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arcmap技巧总结
- 下一篇: 小姐多少钱一次啊?