一個文件的權限對於系統的安全來說是很重要的,linux是一個支持多任務多用戶的系統,我們都不希望一些自己的文件被別人看到或者修改!
對於一個文件的權限我們可以用 ls -l 命令來查看,例如:
[root@localhost /]# touch 1.php #創建一個1.php文件 這裡使用的root賬戶 [root@localhost /]# ls -l 1.php -rw-r--r-- 1 root root 0 10月 13 13:16 1.php
第一部分[-rw-r--r--]代表的是文件的類型和文件的權限
這裡又可以分為四個部分[-][rw-][r--][r--]
1 2 3 4
1、[-]代表這是一個文件:
[-] 文件
[d] 目錄
[l] 鏈接
[b] 可存取硬件設備
[c] 串型端口設備
2、[rw-]代表的是文件擁有者(user)權限
3、[r--]代表的是組(group)權限
4、[r--]代表的是其他用戶(other)權限
[r] 可讀
[w] 可寫
[x] 可執行
[-] 空
拿文件擁有者的權限[rw-]來說 就是擁有了可讀寫權限但是沒有課執行權限
第二部分[1] 鏈接
與鏈接文件有關
第三部分[root] 文件擁有者
這裡的文件擁有者為root,因為我們使用root賬戶來創建的該文件
第四部分[root] 組
代表了文件所屬的組,這裡為root組,組裡的所有用戶對該文件都擁有給定的權限
第五部分[0] 文件的大小
第六部分[10月 13 13:16 ] 最後修改日期
第七部分[1.php] 文件的名稱
使用chmod命令可以修改文件的權限,上面提到文件的權限有三種分別是user,group,other
我們現在給1.php文件加上other的寫入權限:
[root@localhost /]# chmod o+w 1.php #[u=user g=group o=other a=all ][w=寫入權限 r=讀權限 x=執行權限][+是添加權限 -是刪除權限]這裡後面也可以加目錄,這樣就是直接給目錄加上了權限 [root@localhost /]# ls -l 1.php -rw-r--rw- 1 root root 0 10月 13 16:00 1.php
可以看到寫入的權限已經加上了,這裡提一下文件的權限只有文件的擁有者和root可以修改!
使用chown命令,文件的擁有者必須為系統中存在的用戶
現在將文件的擁有者改為cooleyes(存在),和dagege(不存在)試試:
[root@localhost /]# chown cooleyes 1.php [root@localhost /]# ls -l 1.php -rw-r--rw- 1 cooleyes root 0 10月 13 16:00 1.php [root@localhost /]# chown dagege 1.php chown: 無效的用戶: "dagege"
當我們將文件的擁有者改為cooleyes時命令生效並且成功了,而當我我們將擁有者改為一個系統不存在的用戶dagege時系統提示我們沒有這個用戶
這裡提示一下root賬戶可以修改任何文件的權限,擁有者,組,但是普通用戶只能將文件的擁有者改成自己所在組的用戶。
使用chgrp命令,文件的所屬組也必須是系統中存在的組
現在將文件的所屬組改為cooleyes(存在),和dagege(不存在)試試:
[root@localhost /]# chgrp cooleyes 1.php [root@localhost /]# ls -l 1.php -rw-r--rw- 1 cooleyes cooleyes 0 10月 13 16:00 1.php [root@localhost /]# chgrp dagege 1.php chgrp: 無效的組:"dagege"
可見chgrp命令和chown命令操作都需要系統存在所需的用戶和組,普通用戶只能將文件的所屬組修改為自己所在的組(用戶可以同時存在多個組中)
還有一點 chown命令可以同時修改文件的用戶和組
比如現在將文件的擁有者和所屬組還原:
[root@localhost /]# chown root:root 1.php #用戶和組用分號隔開 [root@localhost /]# ls -l 1.php -rw-r--rw- 1 root root 0 10月 13 16:00 1.php
感覺很實用呢! chmod chgrp chown這三個命令的作用可不止真麼簡單 man chmod可以讓我們查看到更多的作用,這裡就因為實在太多這裡就不舉例了!
http://xxxxxx/Linuxjc/1164656.html TechArticle