檔案權限
為了保障權責清晰和企業經營資料安全與保密,企業需要對系統中所有的操作人員進行分工,設定各自的功能權限,就能執行相應的操作。例如,為某個操作員設定了填制憑證的權限時,那麼當該操作員注冊進入賬務子系統後,就可以填制憑證。
隻有系統管理者才有權進行權限設定
檔案對權限的定義:屬主的權限、屬組的權限、非屬主和屬組的權限
1
2
3
4
5
6
7
<code>-rw-rw-r-- 1 root utmp 9984 Jan 2 2016 wtmp</code>
<code>-</code>
<code>rw- 屬主的權限,用u表示</code>
<code>rw- 屬組的權限,用g表示 </code>
<code>r-- 非屬主和屬組的權限,用o表示</code>
<code>root 檔案的屬主</code>
<code>utmp 檔案的屬組</code>
所有使用者對檔案隻有3類權限,rwx,其含義是:
readable,r權限,可讀權限位
檔案有此權限位時,代表“對應的使用者對此檔案可以用一些檔案檢視類工具檢視檔案的内容”
目錄:此權限位對應的使用者可用"ls"檢視目錄中的内容
writeable,w權限,可寫權限位
檔案:此權限位對應的使用者可修改檔案的内容
目錄:此權限位對應的使用者可在目錄中删除檔案,建立檔案
excutable,x權限,可執行權限位
檔案:此權限位對應的使用者可把此檔案提請到核心運作為一個程序
目錄:可用ls -l檢視此目錄中的檔案清單,和cd 進入此目錄
這三個二進制位可用一個八進制數來表示
8
9
10
<code>--- 000 0</code>
<code>--x 001 1</code>
<code>-w- 010 2</code>
<code>-wx 011 3</code>
<code>r-- 100 4</code>
<code>r-x 101 5</code>
<code>rw- 110 6</code>
<code>rwx 111 7</code>
<code>640 rw- r-- --- </code>
<code>755 rwx r-x r-x</code>
與檔案權限相關的指令
chmod,chown,chgrp指令
<code>[root@izpo45bh60h6bsz ~]</code><code># type chmod</code>
<code>chmod</code> <code>is </code><code>/usr/bin/chmod</code>
<code>[root@izpo45bh60h6bsz ~]</code><code># chmod --help</code>
<code>Usage: </code><code>chmod</code> <code>[OPTION]... MODE[,MODE]... FILE...</code>
<code> </code><code>or: </code><code>chmod</code> <code>[OPTION]... OCTAL-MODE FILE...</code>
<code> </code><code>or: </code><code>chmod</code> <code>[OPTION]... --reference=RFILE FILE...</code>
<code>-R, --recursive 遞歸修改目錄及目錄下的檔案的權限</code>
MODE的含義
1)對某類使用者進行權限修改
u=[rwx' '] g=[rwx' '] o=[rwx' ']
uo= ug= go=
2)對某類使用者的某位權限修改
u+-,g+-,o+-
a+- 或+-
使用示例:
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<code>1、修改檔案的某類使用者的權限及某位權限</code>
<code>[root@izpo45bh60h6bsz tmp]</code><code># mkdir -m 644 testdir #建立目錄檔案</code>
<code>[root@izpo45bh60h6bsz tmp]</code><code># touch testdir/abc #建立檔案</code>
<code>[root@izpo45bh60h6bsz tmp]</code><code># ls -l</code>
<code>total 4</code>
<code>drw-r--r-- 2 root root 4096 Jul 30 12:35 testdir</code>
<code>[root@izpo45bh60h6bsz tmp]</code><code># ls -l testdir/abc</code>
<code>-rw-r--r-- 1 root root 0 Jul 30 12:39 testdir</code><code>/abc</code>
<code>[root@izpo45bh60h6bsz tmp]</code><code># chmod u= testdir</code>
<code>d---r--r-- 2 root root 4096 Jul 30 12:35 testdir</code>
<code>[root@izpo45bh60h6bsz tmp]</code><code># chmod -R u+rwx testdir</code>
<code>drwxr--r-- 2 root root 4096 Jul 30 12:39 testdir</code>
<code>[root@izpo45bh60h6bsz tmp]</code><code># ls -l testdir/</code>
<code>total 0</code>
<code>-rwxr--r-- 1 root root 0 Jul 30 12:39 abc</code>
<code>2、仿照a檔案的權限修改B檔案的權限</code>
<code>[root@izpo45bh60h6bsz tmp]</code><code># touch testdir/b</code>
<code>-rw-r--r-- 1 root root 0 Jul 30 12:43 b</code>
<code>[root@izpo45bh60h6bsz testdir]</code><code># chmod --reference=abc b</code>
<code>-rwxr--r-- 1 root root 0 Jul 30 12:43 b</code>
<code>3、以八進制位修改檔案的權限</code>
<code>[root@izpo45bh60h6bsz testdir]</code><code># chmod 600 abc</code>
<code>[root@izpo45bh60h6bsz testdir]</code><code># ls -l</code>
<code>-rw------- 1 root root 0 Jul 30 12:39 abc</code>
chown指令
<code>[root@izpo45bh60h6bsz ~]</code><code># type chown</code>
<code>chown</code> <code>is </code><code>/usr/bin/chown</code>
<code>[root@izpo45bh60h6bsz ~]</code><code># chown --h</code>
<code>Usage: </code><code>chown</code> <code>[OPTION]... [OWNER][:[GROUP]] FILE...</code>
<code> </code><code>or: </code><code>chown</code> <code>[OPTION]... --reference=RFILE FILE...</code>
<code> </code><code>-R, --recursive 遞歸修改目錄及目錄下的檔案的屬主</code>
1)修改屬主
<code>[root@izpo45bh60h6bsz tmp]</code><code># install -d hello #建立目錄</code>
<code>drwxr-xr-x 2 root root 4096 Jul 30 12:50 hello</code>
<code>drwxr-xr-x 2 root root 4096 Jul 30 12:55 hello</code>
<code>-rw-r--r-- 1 root root 0 Jul 30 12:55 abc</code>
<code>[root@izpo45bh60h6bsz tmp]</code><code># chown myuser hello</code>
<code>drwxr-xr-x 2 myuser root 4096 Jul 30 12:55 hello</code>
2)修改屬組
<code>[root@izpo45bh60h6bsz tmp]</code><code># chown -R .myuser hello</code>
<code>-rw-r--r-- 1 root myuser 0 Jul 30 12:55 abc</code>
3)修改屬主和屬組
<code>[root@izpo45bh60h6bsz tmp]</code><code># chown -R root.root hello</code>
檔案和目錄建立時的遮罩碼:umask
預設檔案必然不能有執行權限,避免檔案被惡意利用
預設目錄有執行權限
管理者的umask
<code>[root@izpo45bh60h6bsz tmp]</code><code># umask</code>
<code>0022</code>
普通使用者的umask
<code>[root@izpo45bh60h6bsz tmp]</code><code># su - user1</code>
<code>-sh-4.2$ </code><code>umask</code>
<code>0002</code>
umask定義的位置
<code>/etc/profile</code><code>,</code><code>/etc/bashrc</code><code>中均定義了</code><code>umask</code><code>的值 </code>
<code># By default, we want umask to get set. This sets it for login shell</code>
<code># Current threshold for system reserved uid/gids is 200</code>
<code># You could check uidgid reservation validity in</code>
<code># /usr/share/doc/setup-*/uidgid file</code>
<code>if</code> <code>[ $UID -gt 199 ] && [ </code><code>"`id -gn`"</code> <code>= </code><code>"`id -un`"</code> <code>]; </code><code>then</code>
<code> </code><code>umask</code> <code>002</code>
<code>else</code>
<code> </code><code>umask</code> <code>022</code>
<code>fi</code>
建立檔案的權限,預設
<code>1、管理者</code>
<code>[root@izpo45bh60h6bsz tmp]</code><code># touch testfile</code>
<code>-rw-r--r-- 1 root root 0 Jul 30 13:03 testfile</code>
<code>2、普通使用者</code>
<code>-sh-4.2$ </code><code>touch</code> <code>testfile</code>
<code>-sh-4.2$ </code><code>ls</code> <code>-l</code>
<code>-rw-rw-r-- 1 user1 user1 0 Jul 30 13:02 testfile</code>
檔案的權限: 666-UMASK
目錄的權限:777-UMASK
本文轉自 lccnx 51CTO部落格,原文連結:http://blog.51cto.com/sonlich/1952080,如需轉載請自行聯系原作者