繼上節的内容,在了解了目錄的知識點後,我們再來了解一下權限。這個在運維的工作當中,很多時候的命令出錯或是執行出錯,很多是由于對權限的不了解導緻的。很多熟悉Windws的運維,因為windows下的用戶在創建的時候,默認都是帶有管理員的功能。而liunx的用戶默認情況下是有自己的組與權限。都不是有ROOT的用戶權限。
要想了解文件的權限,首先要知道現有的文件/文件夾有哪些權限。要了解如何去查看文件/文件夾的權限,也就是先看懂下圖的内容:
ll命令下文件的解讀
如何去查看權限、修改權限呢?本節相關的命令包含
ls/ll(列出目錄詳情)
chmod(修改文件/文件夾權限)
chown(修改文件/文件夾所屬用戶及用戶組)
一、查看權限
[root@localhost ~]# ll
total 64
-rw-------. 1 root root 3366 Oct 30 05:58 anaconda-ks.cfg
-rw-r--r--. 1 root root 41995 Oct 30 05:58 install.log
-rw-r--r--. 1 root root 10627 Oct 30 05:55 install.log.syslog
drwx------. 25 telty telty 4096 Oct 30 08:20 telty
大家看上面的命令列出的,對比一下上面的圖片信息,就可以知道文件前面有"-rw-r--r--"10個字符的字符串。具體解讀如下:
用戶權限,使用10個字符來表現,分成四組信息
第一個字符單獨為一組,“-”或“d” 代表文件類型,-表示文件,d表示目錄(directory)
後面9個字符則分成3組(“rw-”與“r--”與“r--”)進行解讀,分别是所屬用戶權限、所屬用戶組權限、其它用戶權限。
這一組信息的每一個字符都 有它自己的特定含義且位置是固定不變的,其中:
r是讀權限,對應數值為4
w是寫權限,對應數值為2
x是可執行權限,對應數值為1
“-”是沒有權限,對應數值為0
因此可以知道“rw-”的數值為6(4 2 0),“r--”的數值為4(4 0 0),最後一組亦是4
然後三組數值組成數值644,因此install.log.syslog文件的權限為root用戶組的root用戶。
了解了以上的内容,那我們就可以對文件進行修改了。
二、修改權限
1、修改文件的權限,使用命令chmod
[root@localhost ~]# ll
total 64
-rw-------. 1 root root 3366 Oct 30 05:58 anaconda-ks.cfg #權限值600
-rw-r--r--. 1 root root 41995 Oct 30 05:58 install.log #權限值644
-rw-r--r--. 1 root root 10627 Oct 30 05:55 install.log.syslog #權限值644
命令用法:chmod 權限值 文件名
[root@localhost ~]# chmod 755 install.log
[root@localhost ~]# ll
total 64
-rw-------. 1 root root 3366 Oct 30 05:58 anaconda-ks.cfg
-rwxr-xr-x. 1 root root 41995 Oct 30 05:58 install.log #權限值已變755
-rw-r--r--. 1 root root 10627 Oct 30 05:55 install.log.syslog
至此,完成文件的權限修改,而文件夾權限修改類似,如下例子:
[root@localhost ~]# ll
total 68
-rw-------. 1 root root 3366 Oct 30 05:58 anaconda-ks.cfg
-rwxr-xr-x. 1 root root 41995 Oct 30 05:58 install.log
-rw-r--r--. 1 root root 10627 Oct 30 05:55 install.log.syslog
drwxr-xr-x. 2 root root 4096 Oct 30 09:52 mydoc #修改前為755權限
[root@localhost ~]#
[root@localhost ~]# chmod 644 mydoc/
[root@localhost ~]# ll
total 68
-rw-------. 1 root root 3366 Oct 30 05:58 anaconda-ks.cfg
-rwxr-xr-x. 1 root root 41995 Oct 30 05:58 install.log
-rw-r--r--. 1 root root 10627 Oct 30 05:55 install.log.syslog
drw-r--r--. 2 root root 4096 Oct 30 09:52 mydoc #修改後為644權限
2、修改用戶與用戶組的權限,使用命令chown
命令用法:chown 用戶:用戶組 文件名
[root@localhost ~]# ll
total 68
-rw-------. 1 root root 3366 Oct 30 05:58 anaconda-ks.cfg
-rwxr-xr-x. 1 root root 41995 Oct 30 05:58 install.log #修改前所屬用戶與用戶組
-rw-r--r--. 1 root root 10627 Oct 30 05:55 install.log.syslog
drw-r--r--. 2 root root 4096 Oct 30 09:52 mydoc
[root@localhost ~]#
[root@localhost ~]# chown telty:root install.log #使用chown命令
[root@localhost ~]# ll
total 68
-rw-------. 1 root root 3366 Oct 30 05:58 anaconda-ks.cfg
-rwxr-xr-x. 1 telty root 41995 Oct 30 05:58 install.log #修改後所屬用戶與用戶組
-rw-r--r--. 1 root root 10627 Oct 30 05:55 install.log.syslog
drw-r--r--. 2 root root 4096 Oct 30 09:52 mydoc
至此,文件的所屬用戶與用戶名修改完成,文件夾類似
[root@localhost ~]# ll
total 68
-rw-------. 1 root root 3366 Oct 30 05:58 anaconda-ks.cfg
-rwxr-xr-x. 1 telty root 41995 Oct 30 05:58 install.log
-rw-r--r--. 1 root root 10627 Oct 30 05:55 install.log.syslog
drw-r--r--. 2 root root 4096 Oct 30 09:52 mydoc #修改前所屬用戶與用戶組
[root@localhost ~]#
[root@localhost ~]# chown telty:telty mydoc/
[root@localhost ~]# ll
total 68
-rw-------. 1 root root 3366 Oct 30 05:58 anaconda-ks.cfg
-rwxr-xr-x. 1 telty root 41995 Oct 30 05:58 install.log
-rw-r--r--. 1 root root 10627 Oct 30 05:55 install.log.syslog
drw-r--r--. 2 telty telty 4096 Oct 30 09:52 mydoc #修改後所屬用戶與用戶組
另外 ,文件夾下還有文件夾多層文件夾的,又或者說要修改文件夾裡的全部文件,則需要加上 -R 參數,
比如:
[root@localhost ~]# chown -R telty:telty mydoc/
[root@localhost ~]# chmod -R telty:telty mydoc/
以上就是針對文件的權限進行操作的學習了,你學會了麼?
,