RH033 Unit 6 linux下安全模型

火星人 @ 2014-03-09 , reply:0


  1. Linux下安全性模型

    ? 使用user或group控制訪問文件和資源

    ? 賬號和密碼

    ? 每個文件有自己的owner,通常是創建這個文件的用戶

    每個程序都會關聯到user或group.可以在文件上設定許可權允許指定的user和group訪問

  2. User

    ? 每個user有自己的UID,唯一識別碼

    ? 用戶名和密碼信息存儲在/etc/passwd里

    ? Passwd里還記錄了每個用戶家目錄的路徑,以及這個用戶登陸后執行的第一個program,通常shell為第一個執行的程序,也就是根目錄下bin目錄里的bash

    ? 如果沒有許可權則不能讀寫其他人的文件

    ? 例子:

    [root@localhost root]# less /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

    adm:x:3:4:adm:/var/adm:/sbin/nologin

    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    sync:x:5:0:sync:/sbin:/bin/sync

    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

    halt:x:7:0:halt:/sbin:/sbin/halt

    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

    news:x:9:13:news:/etc/news:

    uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

    operator:x:11:0:operator:/root:/sbin/nologin

    games:x:12:100:games:/usr/games:/sbin/nologin

    gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

    nobody:x:99:99:Nobody:/:/sbin/nologin

    rpm:x:37:37::/var/lib/rpm:/bin/bash

    vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

    nscd:x:28:28:NSCD Daemon:/:/sbin/nologin

    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

    rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin

    rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

    nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

    mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

    smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin

    pcap:x:77:77::/var/arpwatch:/sbin/nologin

    xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin

    ntp:x:38:38::/etc/ntp:/sbin/nologin

    gdm:x:42:42::/var/gdm:/sbin/nologin

    juniper:x:500:500:juniper:/home/juniper:/bin/bash

    mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

    lu:x:501:501::/home/lu:/bin/bash[r1]

    test:x:502:502::/home/test:/bin/bash

    test-user:x:503:503::/home/tes

    [r1]記錄每個用戶的信息

    Lu 表示用戶名

    X 表示需要密碼,如果為空,則不需要

    可以進行編輯刪除X去除密碼

    第一個501表是UID

    第二個表示GID(group)

    第五個欄位記錄full name

    第6個欄位記錄家目錄路徑

    最后一個為使用者登陸后第一個指定的program

    ? 例子2,查看密碼文件

    root:$1$B08k0TCE$pQCuyxqNy3jINbzipAEe70:14800:0:99999:7:::[r1]

    bin:*:14153:0:99999:7:::

    daemon:*:14153:0:99999:7:::

    adm:*:14153:0:99999:7:::

    lp:*:14153:0:99999:7:::

    sync:*:14153:0:99999:7:::

    shutdown:*:14153:0:99999:7:::

    halt:*:14153:0:99999:7:::

    mail:*:14153:0:99999:7:::

    news:*:14153:0:99999:7:::

    uucp:*:14153:0:99999:7:::

    operator:*:14153:0:99999:7:::

    games:*:14153:0:99999:7:::

    gopher:*:14153:0:99999:7:::

    ftp:*:14153:0:99999:7:::

    nobody:*:14153:0:99999:7:::

    rpm:!!:14153:0:99999:7:::

    vcsa:!!:14153:0:99999:7:::

    nscd:!!:14153:0:99999:7:::

    sshd:!!:14153:0:99999:7:::

    rpc:!!:14153:0:99999:7:::

    rpcuser:!!:14153:0:99999:7:::

    nfsnobody:!!:14153:0:99999:7:::

    mailnull:!!:14153:0:99999:7:::

    smmsp:!!:14153:0:99999:7:::

    pcap:!!:14153:0:99999:7:::

    xfs:!!:14153:0:99999:7:::

    ntp:!!:14153:0:99999:7:::

    gdm:!!:14153:0:99999:7:::

    juniper:$1$L780U59D$K97F0NaLLQQzaZFNEmMgS1:14153:0:99999:7:::

    mysql:!!:14153::::::

    lu:$1$qRRv1DC4$ClwVGNyA2lfVZIiAIWivL.:14814:0:99999:7:::

    test:$1$me8CZ5wx$KjAlVE25vtsGDdJ6qnTzK0:14814:0:99999:7:::

    test-user:!!:14801:0:99999:7:::

    [r1]1表示用戶已設定密碼

    !!則表示未設定密碼

  3. Group

    ? 每個用戶都會被指定到一個group,使用唯一的GID

    ? GID存儲在/etc/group

    ? 系統會為每個用戶建立同名group,可以加到其他的group

    ? Group中的用戶可以共享group中的文件

    ? 例子:

    [root@localhost root]# less /etc/group

    root:x:0:root[r1]

    bin:x:1:root,bin,daemon

    daemon:x:2:root,bin,daemon

    sys:x:3:root,bin,adm

    adm:x:4:root,adm,daemon

    tty:x:5:

    disk:x:6:root

    lp:x:7:daemon,lp

    mem:x:8:

    kmem:x:9:

    smmsp:x:51:

    pcap:x:77:

    xfs:x:43:

    ntp:x:38:

    gdm:x:42:

    juniper:x:500:

    mysql:x:27:

    lu:x:501:

    test:x:502:

    [r1]

    第一個欄位 用戶名

    第二個 X則使用密碼

    第三個欄位為GID

    第四個記錄有哪些成員

    ? 例子2,group密碼,一般不會對group設定密碼:

    [root@localhost root]# less /etc/gshadow

    root:::root

    bin:::root,bin,daemon

    daemon:::root,bin,daemon

    sys:::root,bin,adm

    adm:::root,adm,daemon

    tty:::

    disk:::root

    lp:::daemon,lp

    ? 例子3,ower group屬性

    [user2@localhost tmp]$ ls -l

    總用量 4

    drwxrwxr-x 2 user1 user1[r1] 4096 8月 17 15:32 test1

    [user2@localhost tmp]$ rmdir test1

    rmdir: ‘test1’: 不允許的操作

    [root@localhost tmp]# less /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    user1:x:504:505::/home/user1:/bin/bash[r2]

    user2:x:505:505::/home/user2:/bin/bash

    [root@localhost tmp]# less /etc/group

    root:x:0:root

    bin:x:1:root,bin,daemon

    daemon:x:2:root,bin,daemon

    test:x:502:

    test-user:x:503:

    user2:x:505[r3] :

    [root@localhost tmp]# ls -l

    總用量 4

    drwxrwxr-x 2 user1 504[r4] 4096 8月 17 15:32 test1

    [user2@localhost tmp]$ rmdir test1

    rmdir: ‘test1’: 不允許的操作

    [user2@localhost tmp]$

    [r1]Group user1

    [r2]將user1的group修改稿為user2的505

    [r3]將user1的group整行刪除

    [r4]Owner只記錄了UID和owner的GID.仍然是504

  4. Linux文件安全性

    ? 可以針對檔案和目錄設定許可權

    ? Owner許可權

    ? Group許可權

    ? 其他人許可權

  5. 許可權種類

    ? R表示讀取

    ? W表示可以編輯,使用touch、rm

    ? X表示可以執行.使用cd、ls –l

    -表示不允許(no r w x)

  6. 驗證文件許可權

    ? 使用ls查看文件設定的許可權

    [root@localhost tmp]# ls -l

    總用量 6192

    -rw-r--r-- 1 root root 0 7月 26 17:15 2006

    -rw-r--r-- 1 root root 0 7月 26 17:15 2006123

    -rw-r--r-- 1 root root 0 7月 26 22:54 a

    -rw-r--r-- 1 root root 0 7月 26 22:54 aa

    -rw-r--r-- 1 root root 0 7月 26 22:54 ab

    -rw-r--r-- 1 root root 0 7月 26 22:54 b

    drwxrwxrwx[r1] 10 juniper juniper 8192 8月 10 17:26 beecrypt-4.1.2

    [r1]D開頭表示目錄,-開頭表示文件

  7. 許可權代表的意義

    ? D rwx rws rwx[r1]

    [r1]D表示類型

    第一組RWX表示owner的許可權,使用u代表

    第二組rwx表示所在group的許可權,使用g代表

    第三組表示其他的許可權,使用o表示

  8. Linux處理文件安全流程

    ? 判斷user是不是root

    ? 如果不是,則比較用戶UID和文件UID

    ? 如果不是owner,則比較用戶GID和文件GID

    如果不是,則使用other

  9. 使用符號表示法改變文件或目錄許可權

    ? 使用chmod設定許可權,如果加上-R則修改所有文件

    root@localhost tmp]# chmod -R -r user2[r1]

    [root@localhost tmp]# ls -l

    總用量 8

    drwxrwxr-x 2 user1 504 4096 8月 17 15:32 test1

    -rw-r--r-- 1 root root 0 8月 17 15:59 test.txt

    -rw-r--r-- 1 user1 user2 0 8月 17 16:00 user1.txt

    d-wx-wx-wx 2 user2 user2 4096 8月 17 16:01 user2

    -rw-rw-r-- 1 user2 user2 0 8月 17 16:01 user2.txt

    [root@localhost tmp]# ls user2 -l

    總用量 0

    --w--w---- 1 user2 user2 0 8月 17 16:01 user2-user2.txt

    [root@localhost tmp]# chmod go r user2[r2]

    [root@localhost tmp]# ls -l

    總用量 8

    drwxrwxr-x 2 user1 504 4096 8月 17 15:32 test1

    -rw-r--r-- 1 root root 0 8月 17 15:59 test.txt

    -rw-r--r-- 1 user1 user2 0 8月 17 16:00 user1.txt

    d-wxrwxrwx 2 user2 user2 4096 8月 17 16:01 user2

    -rw-rw-r-- 1 user2 user2 0 8月 17 16:01 user2.txt

    [root@localhost tmp]# ls user2/ -l

    總用量 0

    --w--w---- 1 user2 user2 0 8月 17 16:01 user2-user2.txt

    [root@localhost tmp]#

    [r1]給user2目錄下,包括目錄,取出讀的許可權.-R表示目錄及目錄內

    [r2]給group和other 對user2這個目錄增加讀的許可權,但不包括目錄里的文件

  10. 使用數字錶示法設定文件或目錄許可權

    ? UGO代表的意思與上相同

    ? 4代表讀

    ? 2代表寫

    ? 1代表執行

    ? 0代表不允許

    ? 使用值相加代表許可權狀態

    ? 例子,修改為754,即ower rwx,group rx,other r:

    [root@localhost tmp]# ls -l

    總用量 12

    d-wx-wx-wx 2 root root 4096 8月 17 16:12 doc

    drwxrwxr-x 2 user1 504 4096 8月 17 15:32 test1

    -rw-r--r-- 1 root root 0 8月 17 15:59 test.txt

    -rw-r--r-- 1 user1 user2 0 8月 17 16:00 user1.txt

    d-wxrwxrwx 2 user2 user2 4096 8月 17 16:01 user2

    -rw-rw-r-- 1 user2 user2 0 8月 17 16:01 user2.txt

    [root@localhost tmp]# ls doc -l

    總用量 0

    --w------- 1 root root 0 8月 17 16:12 doc1.txt

    --w------- 1 root root 0 8月 17 16:12 doc2.txt

    [root@localhost tmp]# chmod -R 754 doc

    [root@localhost tmp]# ls -l

    總用量 12

    drwxr-xr-- 2 root root 4096 8月 17 16:12 doc

    drwxrwxr-x 2 user1 504 4096 8月 17 15:32 test1

    -rw-r--r-- 1 root root 0 8月 17 15:59 test.txt

    -rw-r--r-- 1 user1 user2 0 8月 17 16:00 user1.txt

    d-wxrwxrwx 2 user2 user2 4096 8月 17 16:01 user2

    -rw-rw-r-- 1 user2 user2 0 8月 17 16:01 user2.txt

    [root@localhost tmp]# ls doc -l

    總用量 0

    -rwxr-xr-- 1 root root 0 8月 17 16:12 doc1.txt

    -rwxr-xr-- 1 root root 0 8月 17 16:12 doc2.txt





[火星人 via ] RH033 Unit 6 linux下安全模型已經有171次圍觀

http://www.coctec.com/docs/linux/show-post-49500.html