文件權(quán)限管理之: UGO設(shè)置基本權(quán)限(r、w、x)
文件權(quán)限設(shè)置: 可以賦于某個用戶或組 能夠以何種方式 訪問某個文件
rw-r--r-- alice hr install.log權(quán)限對象:屬主: u屬組: g其他人: o權(quán)限類型:讀:r 4寫:w 2執(zhí)行: x 1設(shè)置權(quán)限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. 更改權(quán)限a. 使用符號對象 賦值符 權(quán)限類型u + rchmod g - w file1o = xa[root@localhost ~]# chmod u+x file1 //屬主增加執(zhí)行[root@localhost ~]# chmod a=rwx file1 //所有人等于讀寫執(zhí)行[root@localhost ~]# chmod a=- file1 //所有人沒有權(quán)限[root@localhost ~]# chmod ug=rw,o=r file1 //屬主屬組等于讀寫,其他人只讀[root@localhost ~]# ll file1 //以長模式方式查看文件權(quán)限-rw-rw-r-- 1 alice it 17 10-25 16:45 file1 //顯示的結(jié)果b. 使用數(shù)字[root@localhost ~]# chmod 644 file1[root@localhost ~]# ll file1-rw-r--r-- 1 alice it 17 10-25 16:45 file1
rwx的用法
使用-R選項遞歸修改目錄和目錄下已存在的文件的權(quán)限的時候可以使用rwX,這個X意味著目錄本身和目錄下的目錄會給x權(quán)限,但是目錄下的文件不會給x權(quán)限 [root@localhost tmp]# ll -d dir1drwxrwxrwx 3 jack gougou 4096 7月 22 04:12 dir1[root@localhost tmp]# ll dir1總用量 4drwxr-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 dir1drwxrwxrwx 3 jack gougou 4096 7月 22 04:12 dir1[root@localhost tmp]# ll dir1總用量 4drwxrwxrwx 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/總用量 24drwx------ 4 alice alice 4096 7月 22 00:11 alicedrwx------ 4 jack jack 4096 7月 22 19:34 jackdrwx------. 2 root root 16384 7月 11 23:44 lost+found[root@localhost ~]# chgrp hr /home/jack/[root@localhost ~]# ll /home/總用量 24drwx------ 4 alice alice 4096 7月 22 00:11 alicedrwx------ 4 jack hr 4096 7月 22 19:34 jackdrwx------. 2 root root 16384 7月 11 23:44 lost+found[root@localhost ~]# id jackuid=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 robinuid=502(robin) gid=505(hr) 組=505(hr)[root@localhost ~]# ll /home/robin/總用量 0[root@localhost ~]# ll /home/robin/ -ddrwx------ 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
設(shè)置權(quán)限示例
針對hr部門的訪問目錄設(shè)置權(quán)限,要求如下:1. root用戶和hr組的員工可以讀、寫、執(zhí)行2. 其他用戶沒有任何權(quán)限[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權(quán)限對文件和目錄的意義
對于文件:r----------讀 cat head tail less morew----------寫 vim > >>x----------執(zhí)行 ./ 絕對路徑 普通執(zhí)行(rx) 管理員(x)對于目錄:r----------ls r 只能讀文件名 r-x 文件詳細(xì)信息w----------touch rm -wx 創(chuàng)建文件 rwx 刪除所有文件x----------cd
rwx的權(quán)限對于文件的影響的驗證
r權(quán)限驗證
[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 ~]$ logoutw權(quán)限驗證
[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 111111[root@localhost tmp]# ll file -rw-r---w- 1 root root 8 7月 22 07:28 filex權(quán)限驗證
[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/filecat: /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/filels /home[alice@localhost ~]$ echo 333 >> /tmp/file-bash: /tmp/file: Permission deniedrwx的權(quán)限對于目錄的影響的驗證
x權(quán)限驗證
[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]$ lsls: cannot open directory .: Permission denied
r權(quán)限驗證[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 deniedls: cannot access /tmp/dir100/file2: Permission deniedfile1 file2[alice@localhost ~]$ logout[root@localhost tmp]# chmod o=rx dir100/[root@localhost tmp]# su - alice[alice@localhost ~]$ cd /tmp/dir100/[alice@localhost dir100]$ lltotal 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權(quán)限驗證
[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/file333touch: 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]$ llls: 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": 權(quán)限不夠想要刪除目錄下的文件就必須要對文件所在的目錄有寫的權(quán)限。示例2: 對目錄有w權(quán)限[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: 權(quán)限不夠[alice@localhost ~]$ rm -rf /dir10/file1 [alice@localhost ~]$ touch /dir10/file2如果對上一級目錄有寫的權(quán)限,那么是可以刪掉目錄下的文件的,但是,如果對文件本身沒有什么權(quán)限,那么就沒有辦法看這個文件。如果對文件本身有r的權(quán)限,那么就可以看文件了。練習(xí):查以下目錄或者文件的權(quán)限 并用數(shù)字表示/ 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-- 644root用戶家目錄 r-xr-x--- 550普通用戶家目錄 rwx------ 700root用戶創(chuàng)建文件默認(rèn)權(quán)限 rw-r--r-- 644root用戶創(chuàng)建目錄默認(rèn)權(quán)限 rwxr-xr-x 755普通用戶創(chuàng)建文件默認(rèn)權(quán)限 rw-rw-r-- 664普通用戶創(chuàng)建目錄默認(rèn)權(quán)限 rwxrwxr-x 775 文件權(quán)限設(shè)置: 可以賦于某個用戶或組 能夠以何種方式 訪問某個文件