linux chmod命令和chown命令


一、chmod及文件權限

1、了解文件權限

root賬戶新建一個目錄permission,在該目錄新建一個文件file,通過ll就可以查看其權限。

root@development:~# cd permission/
root@development:~/permission# touch file
root@development:~/permission# ls
file
root@development:~/permission# ll
total 8
drwxr-xr-x  2 root root 4096 Mar 19 00:33 ./
drwx------ 25 root root 4096 Mar 19 00:33 ../
-rw-r--r--  1 root root    0 Mar 19 00:33 file
root@development:~/permission# 

可見一共有十位數,其中第一個-代表的是類型,比如./的類型是d就是目錄。

從第二個開始,依次三個rw-代表的是所有者(user)擁有的權限。

再依次三個r--代表的是群組(group)擁有的權限。

最后三個r--代表的是其他人(other)擁有的權限

rwx-解釋如下:

r:表示文件可以被讀(read)

w:表示文件可以被寫(write)

x:表示文件可以被執行,目錄的話可以被搜索。

-:表示相應的權限還沒有被授予

2、數字表示rwx

r ----------4

w ----------2

x ----------1

- ----------0

原理:將rwx看成是二進制的數,有用1表示,沒有用0表示,那么rwx r-x r--就可以表示成:111 101 100,將其轉換成為一個十進制數就是:754。

3、權限操作

+ 表示添加權限

- 表示刪除權限

= 重置權限

4、常見權限

-rw------- (600) 只有所有者才有讀和寫的權限。

-rw-r--r-- (644) 只有所有者才有讀和寫的權限,群組和其他人只有讀的權限。

-rw-rw-rw- (666)每個人都有讀寫的權限

-rwx------ (700) 只有所有者才有讀,寫和執行的權限。

-rwx--x--x (711) 只有所有者才有讀,寫和執行的權限,群組和其他人只有執行的權限。

-rwxr-xr-x  (755) 只有所有者才有讀,寫,執行的權限,群組和其他人只有讀和執行的權限。

-rwxrwxrwx (777) 每個人都有讀,寫和執行的權限

5、目錄相關的文件權限

如果有文件夾/a/b/c

查看權限

執行ls -l /a/b查看的並不是b的權限,而是c的權限。

  • ls -l /a查看的是b文件的權限
  • ls -l /a/b 查看的是c文件的權限
  • ls -l /a/b/c 查看的是c文件的權限

補充內容:知道這點很重要,舉一個實際應用中的例子。

我曾在ssh登錄時日志報錯:/var/empty/sshd must be owned by root and not group or world-writable。

此時我就要看/var/empty/sshd的權限了。

用#ll /var/empty/sshd去查結果是total 0,代表里面沒有文件。

而真正應該用的命令是#ll /var/empty,去查看它的上級目錄。

然后就可以看到結果是:

total 0

drwxrwxrwx. 2 root root 6 May 13 03:41 sshd

修改權限和查看權限不同

  • chmod 700 /a 修改的是a文件的權限
  • chmod 700 /a/b 修改的是b文件的權限
  • chmod 700 /a/b/c修改的是c文件的權限。

補充內容:知道這點修改權限和查看權限不同也很重要,還是上面的例子。

我要修改/var/empty/sshd這個目錄的權限,我需要用

#chmod 711 /var/empty/sshd去修改。

查看修改好的權限用#ll /var/empty查看。

6、修改文件權限

先舉例:

# chmod o+w file:表示給其他人授予寫file這個文件的權限

# chmod go-rw file:表示刪除群組和其他人對file這個文件的讀和寫的權限

# chmod go-w+x mydir:拒絕組成員和其他人創建或刪除mydir(go-w)中文件的權限,允許組成員和其他人搜索mydir,或在路徑名(go+x)中使用它,等價於

chmod  g-w  mydir
chmod  o-w  mydir
chmod  g+x  mydir
chmod  o+x  mydir

解釋:
u:代表文件所有者(user)

g:代表所有者所在的群組(group)

o:代表其他人,但不是u和g(other)

a:a和一起指定ugo效果一樣

7、修改目錄權限

如果要一次修改某個目錄下所有文件的權限,包括子目錄中的文件權限。需要使用-R參數。

# chmod 700 /srv/file #僅把file目錄的權限設置為700
# chmod -R 744 /srv/file #將整個/srv/file目錄和其子目錄中所有文件權限設置為744

二、chowm和文件所有權

文件和目錄權限可通過chomd來修改,文件和目錄的所有權及所屬用戶組也可通過chown來修改。

root賬戶新建一個目錄permission,在該目錄新建一個文件file,通過ll就可以查看其權限。 

[root@yl-web-test ~]# mkdir permission
[root@yl-web-test ~]# cd permission/
[root@yl-web-test permission]# ls
[root@yl-web-test permission]# touch file
[root@yl-web-test permission]# ll
total 0
-rw-r--r--. 1 root root 0 Aug  6 09:17 file

標紅的root root表示file文件的所屬用戶組為root,所有者為root。

chown語法:

chown [選項]... [所有者][:[組]] 文件...

接下來簡單介紹如何修改文件的所屬用戶組和所有者。

1、修改file文件的所有者為lxy

[root@yl-web-test permission]# chown lxy file
[root@yl-web-test permission]# ll
total 0
-rw-r--r--. 1 lxy root 0 Aug  6 09:17 file

2、修改file文件的用戶組為lxy

[root@yl-web-test permission]# chown root file
[root@yl-web-test permission]# ll
total 0
-rw-r--r--. 1 root root 0 Aug  6 09:17 file
[root@yl-web-test permission]# chown :lxy file
[root@yl-web-test permission]# ll
total 0
-rw-r--r--. 1 root lxy 0 Aug  6 09:17 file

3、同時修改文件的所有者和用戶組

[root@yl-web-test permission]# chown :root file
[root@yl-web-test permission]# ll
total 0
-rw-r--r--. 1 root root 0 Aug  6 09:17 file
[root@yl-web-test permission]# chown lxy:lxy file
[root@yl-web-test permission]# ll
total 0
-rw-r--r--. 1 lxy lxy 0 Aug  6 09:17 file

4、同時修改文件夾和其子文件的所屬用戶組和所有者,需要用-R參數。

假設file是一個目錄,里面有一個a.txt的文件。它們的所有者和用戶組如下,都是root:

[root@yl-web-test permission]# cd file/
[root@yl-web-test file]# touch a.txt
[root@yl-web-test file]# ll
total 0
-rw-r--r--. 1 root root 0 Aug  6 09:40 a.txt
[root@yl-web-test file]# cd ..
[root@yl-web-test permission]# ll
total 0
drwxr-xr-x. 2 root root 18 Aug  6 09:40 file

現將file目錄和里面的a.txt文件的所有者和用戶組都改為lxy,如下

[root@yl-web-test permission]# chown -R lxy:lxy file
[root@yl-web-test permission]# ll
total 0
drwxr-xr-x. 2 lxy lxy 18 Aug  6 09:40 file
[root@yl-web-test permission]# cd file/
[root@yl-web-test file]# ll
total 0
-rw-r--r--. 1 lxy lxy 0 Aug  6 09:40 a.txt

 

 

本文作者starof,因知識本身在變化,作者也在不斷學習成長,文章內容也不定時更新,為避免誤導讀者,方便追根溯源,請諸位轉載注明出處:http://www.cnblogs.com/starof/p/4350212.html有問題歡迎與我討論,共同進步。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM