005. Linux基礎五 P2 (文件權限管理)

1 文件全部者和屬組屬性操做

chown

設置文件的全部者
能夠修改文件的屬主,屬組
選項:

git

  • OWNER #只修改全部者
  • OWNER:GROUP #同時修改全部者和屬組
  • :GROUP #只修改屬組,冒號也可用 . 替換 --reference=RFILE #參考指定的的屬性,來修改
  • -R #遞歸,此選項慎用,很是危險!
    [root@centos7 ~]# chown test f1.txt 
    [root@centos7 ~]# ll f1.txt 
    -rw-r--r--. 1 test root 595 11月  9 22:40 f1.txt

[root@centos7 ~]# chown :admins f1.txt
[root@centos7 ~]# ll f1.txt
-rw-r--r--. 1 test admins 595 11月 9 22:40 f1.txt

redis

[root@centos7 ~]# chown root.bin f1.txt
[root@centos7 ~]# ll f1.txt
-rw-r--r--. 1 root bin 595 11月 9 22:40 f1.txt

mongodb

[root@centos7 ~]# cp /etc/issue f2.txt
[root@centos7 ~]# ll f2.txt
-rw-r--r--. 1 root root 23 11月 9 22:43 f2.txt
[root@centos7 ~]# chown --reference=f1.txt f2.txt
[root@centos7 ~]# ll f1.txt f2.txt
-rw-r--r--. 1 root bin 595 11月 9 22:40 f1.txt
-rw-r--r--. 1 root bin 23 11月 9 22:43 f2.txt





docker

### chgrp
設置文件屬組信心
能夠只修改文件的屬組

[root@centos7 ~]# ll f1.txt
-rw-r--r--. 1 root bin 595 11月 9 22:40 f1.txt
[root@centos7 ~]# chgrp admins f1.txt
[root@centos7 ~]# ll f1.txt
-rw-r--r--. 1 root admins 595 11月 9 22:40 f1.txt



centos

# 2 文件權限

* owner 屬主, u
* group 屬組, g 
* other 其餘, o

**注意:從左向右進行順序匹配,一旦匹配權限當即生效,再也不向右查看其權限**

###### 對文件的權限
* r 可以使用文件查看類工具,好比:cat,能夠獲取其內容
* w 可修改其內容
* x 能夠把此文件提請內核啓動爲一個進程,便可以執行(運行)此文件
###### 對文件夾的權限

* r 能夠使用ls查看此目錄中文件列表
* w 可在此目錄中建立文件,也可刪除此目錄中的文件,而和此被刪除的文件的權限無關
* x 能夠cd進入此目錄,能夠使用ls -l查看此目錄中文件元數據(須配合r權限),屬於目錄的可訪問的最 小權限
* X 只給目錄x權限,不給無執行權限的文件x權限

### chmod
who:u,g,o,a
opt:+,-,=
permission:r,w,x

# 3 新建文件和目錄的默認權限
umask 的值能夠用來保留在建立文件權限 
實現方式:

* 新建文件的默認權限: 666-umask,若是所得結果某位存在執行(奇數)權限,則將其權限+1,偶數不變
* 新建目錄的默認權限: 777-umask

非特權用戶umask默認是 002 
root的umask 默認是 022

[root@centos7 ~]# umask
0022
[root@centos7 ~]# umask -S
u=rwx,g=rx,o=rx
[root@centos7 ~]# umask -pS
umask -S u=rwx,g=rx,o=rx
[root@centos7 ~]# umask -p
umask 0022






bash

[root@centos7 ~]# umask 002
[root@centos7 ~]# umask u=rw,g=r,o=
ide

# 練習
1. 當用戶docker對/testdir 目錄無執行權限時,意味着沒法作哪些操做?
* **意味着docker沒法進入文件夾,意味着ls該文件夾下文件,不能得到詳細信息**

docker1@centos7 ~]$ chmod a-x testdir/
[docker1@centos7 ~]$ ll testdir/ -d
drw-rw-r--. 2 docker1 docker1 6 Nov 9 23:03 testdir/
[docker1@centos7 ~]$ cd testdir/
-bash: cd: testdir/: Permission denied



工具

[docker1@centos7 ~]$ ll testdir/
ls: cannot access testdir/a: Permission denied
total 0
-????????? ? ? ? ? ? a


centos7

2. 當用戶mongodb對/testdir 目錄無讀權限時,意味着沒法作哪些操做?
* **能夠cd,不能ls**

[docker1@centos7 ~]$ chmod a-r testdir/
[docker1@centos7 ~]$ ll testdir/
ls: cannot open directory testdir/: Permission denied
[docker1@centos7 ~]$ cd testdir/
[docker1@centos7 testdir]$ ll
ls: cannot open directory .: Permission denied




spa

3. 當用戶redis 對/testdir 目錄無寫權限時,該目錄下的只讀文件file1是否可修改和刪除?
*** 能夠修改,沒法建立,沒法刪除**

[docker1@centos7 testdir]$ touch file2
touch: cannot touch ‘file2’: Permission denied
[docker1@centos7 testdir]$ rm file1
rm: cannot remove ‘file1’: Permission denied


4. 當用戶zabbix對/testdir 目錄有寫和執行權限時,該目錄下的只讀文件file1是否可修改和刪除?
*** 能夠**

[docker1@centos7 testdir]$ ll
total 0
-rw-rw-r--. 1 docker1 docker1 0 Nov 9 23:08 a
-r--r--r--. 1 docker1 docker1 0 Nov 9 23:13 file1
[docker1@centos7 testdir]$ cd
[docker1@centos7 ~]$ chmod 333 testdir/
[docker1@centos7 ~]$ rm testdir/file1
rm: remove write-protected regular empty file ‘testdir/file1’? y






5. 複製/etc/fstab文件到/var/tmp下,設置文件全部者爲docker1讀寫權限,所屬組爲admins組有讀寫 權限,其餘人無權限

[root@centos7 /]# chown docker1.admins /var/tmp/fstab
[root@centos7 /]# ll /var/tmp/fstab
-rw-r--r--. 1 docker1 admins 595 11月 9 23:18 /var/tmp/fstab
[root@centos7 /]# chmod 660 /var/tmp/fstab
[root@centos7 /]# ll /var/tmp/fstab
-rw-rw----. 1 docker1 admins 595 11月 9 23:18 /var/tmp/fstab




6. 誤刪除了用戶git的家目錄,請重建並恢復該用戶家目錄及相應的權限屬性

[root@centos7 /]# cp -r /etc/skel/. /home/docker1[root@centos7 /]# chmod 700 /home/docker1/[root@centos7 /]# chown -R docker1.docker1 /home/docker1/[root@centos7 /]# ll /home/docker1/總用量 0[root@centos7 /]# ll /home/docker1/ -ddrwx------. 2 docker1 docker1 62 11月 9 23:26 /home/docker1/

相關文章
相關標籤/搜索