文件基本權限-UGO


文件權限管理之: UGO設置基本權限(r、w、x)

文件權限設置: 可以賦於某個用戶或組 能夠以何種方式 訪問某個文件

rw-r--r-- alice hr install.log

權限對象:
屬主: u
屬組: g
其他人: o

權限類型:
讀:r 4
寫:w 2
執行: x 1

設置權限
1. 更改文件的屬主、屬組
chown:
[root@localhost  ~]# chown alice.hr file1 //改屬主、屬組
[root@localhost ~]# chown alice file1 //只改屬主
[root@localhost ~]# chown .hr file1 //只改屬組
[root@localhost ~]# chown -R alice.hr dir1

chgrp:
[root@localhost ~]# chgrp it file1 //改文件屬組
[root@localhost ~]# chgrp -R it dir1 //改文件屬組

2. 更改權限
a. 使用符號
對象 賦值符 權限類型
u + r
chmod g - w file1
o = x
a
[root@localhost ~]# chmod u+x file1 //屬主增加執行
[root@localhost ~]# chmod a=rwx file1 //所有人等於讀寫執行
[root@localhost ~]# chmod a=- file1 //所有人沒有權限
[root@localhost ~]# chmod ug=rw,o=r file1 //屬主屬組等於讀寫,其他人只讀
[root@localhost ~]# ll file1 //以長模式方式查看文件權限
-rw-rw-r-- 1 alice it 17 10-25 16:45 file1 //顯示的結果

b. 使用數字
[root@localhost ~]# chmod 644 file1
[root@localhost ~]# ll file1

-rw-r--r-- 1 alice it 17 10-25 16:45 file1

rwx的用法

使用-R選項遞歸修改目錄和目錄下已存在的文件的權限的時候可以使用rwX,這個X意味着目錄本身和目錄下的目錄會給x權限,但是目錄下的文件不會給x權限

 [root@localhost tmp]# ll -d dir1
drwxrwxrwx 3 jack gougou 4096 7月 22 04:12 dir1
[root@localhost tmp]# ll dir1
總用量 4
drwxr-xr-x 2 root root 4096 7月 22 04:12 dir100
-rw-rw-rw- 1 jack gougou 0 7月 22 03:54 file1
-rw-rw-rw- 1 jack gougou 0 7月 22 03:54 file2
[root@localhost tmp]# chmod -R a=rwX dir1
[root@localhost tmp]# ll -d dir1
drwxrwxrwx 3 jack gougou 4096 7月 22 04:12 dir1
[root@localhost tmp]# ll dir1
總用量 4
drwxrwxrwx 2 root root 4096 7月 22 04:12 dir100
-rw-rw-rw- 1 jack gougou 0 7月 22 03:54 file1
-rw-rw-rw- 1 jack gougou 0 7月 22 03:54 file2


[root@localhost ~]# ll /home/
總用量 24
drwx------ 4 alice alice 4096 7月 22 00:11 alice
drwx------ 4 jack jack 4096 7月 22 19:34 jack
drwx------. 2 root root 16384 7月 11 23:44 lost+found
[root@localhost ~]# chgrp hr /home/jack/
[root@localhost ~]# ll /home/
總用量 24
drwx------ 4 alice alice 4096 7月 22 00:11 alice
drwx------ 4 jack hr 4096 7月 22 19:34 jack
drwx------. 2 root root 16384 7月 11 23:44 lost+found
[root@localhost ~]# id jack
uid=500(jack) gid=500(jack) 組=500(jack)
[root@localhost ~]# su - jack
[jack@localhost ~]$ touch file1
[jack@localhost ~]$ ll
總用量 0
-rw-rw-r-- 1 jack jack 0 7月 22 19:40 file1
[jack@localhost ~]$ logout
[root@localhost ~]# useradd robin -g hr
[root@localhost ~]# id robin
uid=502(robin) gid=505(hr) 組=505(hr)
[root@localhost ~]# ll /home/robin/
總用量 0
[root@localhost ~]# ll /home/robin/ -d
drwx------ 4 robin hr 4096 7月 22 19:41 /home/robin/
[root@localhost ~]# su - robin
[robin@localhost ~]$ touch file1
[robin@localhost ~]$ ll file1
-rw-r--r-- 1 robin hr 0 7月 22 19:42 file1

設置權限示例

針對hr部門的訪問目錄設置權限,要求如下:
1. root用戶和hr組的員工可以讀、寫、執行
2. 其他用戶沒有任何權限

[root@localhost ~]# groupadd hr
[root@localhost ~]# mkdir /home/hr
[root@localhost ~]# chgrp hr /home/hr
[root@localhost ~]# chmod 770 /home/hr
[root@localhost ~]# ll -d /home/hr/
drwxrwx---. 2 root hr 4096 3月 13 14:26 /home/hr/

重要: r、w、x權限對文件和目錄的意義


  對於文件:
r----------讀 cat head tail less more
w----------寫 vim > >>
x----------執行 ./ 絕對路徑 普通執行(rx) 管理員(x)
對於目錄:
r----------ls r 只能讀文件名 r-x 文件詳細信息
w----------touch rm -wx 創建文件 rwx 刪除所有文件

x----------cd

rwx的權限對於文件的影響的驗證

r權限驗證

[root@localhost tmp]# touch file
[root@localhost tmp]# ll file
-rw-r--r-- 1 root root 0 7月 22 07:25 file
[root@localhost tmp]# echo 111 > file
[root@localhost tmp]# cat file
111
[root@localhost tmp]# su - alice
[alice@localhost ~]$ cat /tmp/file
111
[alice@localhost ~]$ echo 222 >> /tmp/file
-bash: /tmp/file: Permission denied
[alice@localhost ~]$ logout

w權限驗證

[root@localhost tmp]# chmod o=w file
[root@localhost tmp]# ll file
-rw-r---w- 1 root root 4 7月 22 07:27 file
[root@localhost tmp]# su - alice
[alice@localhost ~]$ cat /tmp/file
cat: /tmp/file: Permission denied
[alice@localhost ~]$ echo 111 >> /tmp/file
[alice@localhost ~]$ cat /tmp/file
cat: /tmp/file: Permission denied
[alice@localhost ~]$ logout
[root@localhost tmp]# cat file
111
111
[root@localhost tmp]# ll file
-rw-r---w- 1 root root 8 7月 22 07:28 file

x權限驗證

[root@localhost tmp]# chmod o=x file
[root@localhost tmp]# echo "ls /home" > file
[root@localhost tmp]# cat file
ls /home
[root@localhost tmp]# su - alice
[alice@localhost ~]$ /tmp/file
bash: /tmp/file: Permission denied
[alice@localhost ~]$ cat /tmp/file
cat: /tmp/file: Permission denied
[alice@localhost ~]$ logout
[root@localhost tmp]# chmod o=rx file
[root@localhost tmp]# ll file
-rw-r--r-x 1 root root 9 7月 22 07:29 file
[root@localhost tmp]# su - alice
[alice@localhost ~]$ /tmp/file
alice gougou jack maomao robin user01
[alice@localhost ~]$ cat /tmp/file
ls /home
[alice@localhost ~]$ echo 333 >> /tmp/file
-bash: /tmp/file: Permission denied

rwx的權限對於目錄的影響的驗證

x權限驗證

[root@localhost tmp]# mkdir dir100
[root@localhost tmp]# ll -d dir100/
drwxr-xr-x 2 root root 4096 7月 22 07:32 dir100/
[root@localhost tmp]# chmod o=x dir100/
[root@localhost tmp]# ll -d dir100/
drwxr-x--x 2 root root 4096 7月 22 07:32 dir100/
[root@localhost tmp]# su - alice
[alice@localhost ~]$ cd /tmp/dir100/
[alice@localhost dir100]$ ls
ls: cannot open directory .: Permission denied

r權限驗證

[root@localhost tmp]# chmod o=r dir100/
[root@localhost tmp]# touch dir100/file1
[root@localhost tmp]# touch dir100/file2
[root@localhost tmp]# ll -d dir100/
drwxr-xr-- 2 root root 4096 7月 22 07:33 dir100/
[root@localhost tmp]# su - alice
[alice@localhost ~]$ cd /tmp/dir100/
-bash: cd: /tmp/dir100/: Permission denied
[alice@localhost ~]$ ls /tmp/dir100/
ls: cannot access /tmp/dir100/file1: Permission denied
ls: cannot access /tmp/dir100/file2: Permission denied
file1 file2
[alice@localhost ~]$ logout
[root@localhost tmp]# chmod o=rx dir100/
[root@localhost tmp]# su - alice
[alice@localhost ~]$ cd /tmp/dir100/
[alice@localhost dir100]$ ll
total 0
-rw-r--r-- 1 root root 0 Jul 22 07:33 file1
-rw-r--r-- 1 root root 0 Jul 22 07:33 file2

w權限驗證

[root@localhost tmp]# chmod o=w dir100/
[root@localhost tmp]# ll -d dir100/
drwxr-x-w- 2 root root 4096 7月 22 07:33 dir100/
[root@localhost tmp]# su - alice
[alice@localhost ~]$ cd /tmp/dir100/
-bash: cd: /tmp/dir100/: Permission denied
[alice@localhost ~]$ touch /tmp/dir100/file333
touch: cannot touch `/tmp/dir100/file333': Permission denied
[alice@localhost ~]$ logout
[root@localhost tmp]# chmod o=wx dir100/
[root@localhost tmp]# ll -d dir100/
drwxr-x-wx 2 root root 4096 7月 22 07:33 dir100/
[root@localhost tmp]# su - alice
[alice@localhost ~]$ cd /tmp/dir100/
[alice@localhost dir100]$ ll
ls: cannot open directory .: Permission denied
[alice@localhost dir100]$ touch file111
[alice@localhost dir100]$ rm -rf file1
[alice@localhost dir100]$ logout
[root@localhost tmp]# ll dir100/
總用量 0
-rw-rw-r-- 1 alice alice 0 7月 22 07:35 file111
-rw-r--r-- 1 root root 0 7月 22 07:33 file2

示例1: 對文件的影響
[root@localhost ~]# mkdir /dir10
[root@localhost ~]# touch /dir10/file1
[root@localhost ~]# chmod 777 /dir10/file1

[root@localhost ~]# ll -d /dir10/
drwxr-xr-x. 2 root root 4096 3月 11 18:37 /dir10/
[root@localhost ~]# ll /dir10/file1
-rwxrwxrwx. 1 777 root 0 3月 11 18:37 /dir10/file1

[alice@localhost ~]$ cat /dir10/file1
[alice@localhost ~]$ rm -rf /dir10/file1
rm: 無法刪除"/dir10/file1": 權限不夠

想要刪除目錄下的文件就必須要對文件所在的目錄有寫的權限。
示例2: 對目錄有w權限
[root@localhost ~]# chmod 777 /dir10/
[root@localhost ~]# chmod 000 /dir10/file1
[root@localhost ~]# ll -d /dir10/
drwxrwxrwx. 2 root root 4096 3月 11 18:37 /dir10/
[root@localhost ~]# ll /dir10/file1
----------. 1 root root 0 3月 11 18:37 /dir10/file1

[alice@localhost ~]$ cat /dir10/file1
cat: /dir10/file1: 權限不夠
[alice@localhost ~]$ rm -rf /dir10/file1
[alice@localhost ~]$ touch /dir10/file2

如果對上一級目錄有寫的權限,那麼是可以刪掉目錄下的文件的,但是,如果對文件本身沒有什麼權限,那麼就沒有辦法看這個文件。如果對文件本身有r的權限,那麼就可以看文件了。

練習:
查以下目錄或者文件的權限 並用數字表示
/ r-xr-xr-x 555
/etc rwxr-xr-x 755
/var rwxr-xr-x 755
/tmp rwxrwxrwt 1777
/etc/shadow --------- 000
/etc/passwd rw-r--r-- 644
root用戶家目錄 r-xr-x--- 550
普通用戶家目錄 rwx------ 700
root用戶創建文件默認權限 rw-r--r-- 644
root用戶創建目錄默認權限 rwxr-xr-x 755
普通用戶創建文件默認權限 rw-rw-r-- 664
普通用戶創建目錄默認權限 rwxrwxr-x 775

文件權限設置: 可以賦於某個用戶或組 能夠以何種方式 訪問某個文件
發佈了38 篇原創文章 · 獲贊 7 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章