1. 程式人生 > >linux雲自動化運維基礎知識5.6(用戶管理及文件權限)

linux雲自動化運維基礎知識5.6(用戶管理及文件權限)

linux運維

  1. 用戶理解
    用戶就是系統使用者的身份
    在系統中用戶存儲為若幹竄字符+若幹個系統配置文件
    用戶信息涉及到的系統配置文件:
    /etc/passwd ###用戶信息
    用戶:密碼:uid:gid:說明:家目錄:用戶使用的shell技術分享/etc/shadow ###用戶認證信息

    用戶:密碼:最後一次密碼修改該時間:最短有效期:最長有效期:警告期:非活躍期:帳號到期日
    /etc/group ###組信息

    組名稱:組密碼:組id:附加組成員技術分享

    /etc/gshadow ###組認證信息

  2. 技術分享

    /home/username ###用戶家目錄
    /etc/skel/.* ###用戶骨架文件

    技術分享

    2.用戶管理
    (1).用戶建立
    useradd 參數 用戶名字
    -u ##指定用戶uid
    -g ##指定用戶初始組信息,這個組必須已經存在

    -G ##指定附加組,這個組必須存在
    -c ##用戶說明
    -d ##用戶家目錄
    -s ##用戶所使用的shell,/etc/shells記錄了用戶能使用shell的名字

    技術分享
    (2).用戶刪除
    userdel -r 用戶名稱 -r表示刪除用戶信息及用戶的系統配置

    (3).組的建立
    groupadd -g ##建立組
    groupdel 組名字 ##刪除組

    作以上實驗的監控命令:
    watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt‘技術分享


    (4).用戶id信息查看
    id 參數 用戶
    -u ##用戶uid
    -g ##用戶初始組id
    -G ##用戶所有所在組id
    -n ##顯示名稱而不是id數字
    -a ##顯示所有信息

    (5).用戶信息更改
    usermod 參數 用戶
    -l ##更改用戶名稱
    -u ##更改uid
    -g ##更改gid
    -G ##更改附加組
    -aG ##添加附加組
    -c ##更改說明
    -d ##更改家目錄指定
    -md ##更改家目錄指定及家目錄名稱
    -s ##更改shell
    -L ##凍結帳號
    -U ##解鎖

    3.用戶權力下放
    (1)在系統中超級用戶可以下放普通用戶不能執行的操作給普通用戶
    (2)下放權力配置文件:/etc/sudoers技術分享

    (3)下放權力的方法
    *)超級用戶執行visudo進入編輯/etc/sudoers模式
    *)格式:
    獲得權限用戶 主機名稱=(獲得到的用戶身份) 命令
    test desktop0.example.com=(root) /usr/sbin/useradd


    test用戶能在desktop0.example.com以超級用戶身份執行/usr/sbin/useradd
    (4)執行下放權限命令
    sudo 命令 ##如果第一次執行sudo需要輸入當前用戶密碼
    在/etc/sudoers中如果設置如下:
    test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
    表示用戶調用sudo命令的時候不需要自己密碼

    4.用戶認證信息的控制
    chage 參數 用戶
    -d ##用戶密碼組後一次修改的時間,如果設定成0,用戶登陸系統後必須修改自己的密碼
    -m ##最短有效期
    -M ##最長有效期
    -W ##警告期
    -I ##用戶非活躍天數
    -E ##帳號到期日格式 -E "YYYY-MM-DD"

    5.文件權限

    (1).文件屬性的查看####

    ls -l filename
    -|rw-r--r--.|1| root| root| 46 |Oct 1 05:03 |filename
    — ————————— — ———— ———— —— ———————————— ————————
    1 2 3 4 5 6 7 8
    技術分享
    1."-": 文件類型
    - ##普通文件
    d ##目錄
    c ##字符設備
    s ##套接字
    p ##管道
    b ##快設備
    l ##連接

    2."rw-r--r--":文件讀寫權限
    rw-|r--|r--
    * $ @

    *所有人的權限
    $所有組的權限
    @其他人的權限

    3."1":
    對文件:文件內容被系統記錄的次數
    對目錄:目錄中文件屬性的字節數

    4."root":文件所有人

    5."root":文件所有組

    6."46":文件內容的大小

    7."Oct 1 05:03":文件最後一次被修改的時間

    8."filename":文件名字

    (2).文件所有人所有組的管理

    chown username file|dir ##更改文件的所有人
    chown username.groupname file|dir ##更改所有人所有組
    chown -R username dir ##更改目錄本身及裏面所有內容的所有人
    chgrp -R groupname dir ##更改目錄本身及裏面所有內容的所有組技術分享

    監控命令
    watch -n 1 ls -lR /mnt

    (3).文件普通權限
    rw-|r--|r--
    u g o
    u:文件所有人對文件可以讀寫
    g:文件組成員對文件可讀
    o:其他人對文件可讀
    u優先匹配,g次優先,o當u,g不匹配時匹配

    1.r
    對文件:可以查看文件中的字符
    對目錄:可以查看目錄中文件的信息

    2.w
    對文件:可以更改文件內字符
    對目錄:可以在目錄中添加刪除文件

    3.x
    對文件:可以運行文件內記錄的程序動作
    對目錄:可以進入目錄中
    (4).字符方式修改該文件權限
    chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir

    chmod u-x file1 ##file1擁有者去掉x權限
    chmod g+w file1 ##file1擁有組添加w權限
    chmod u-x,g+w file1 ##file1擁有者去掉x權,file1擁有組添加w權限
    chmod ugo-r file2 ##file2的用戶組其他人去掉r權限
    chmod ug+x,o-r file3 ##file3用戶和組添加x權限,其他人去掉r權限技術分享

    (5).數字方式修改該文件權限
    在linux中
    r=4
    w=2
    x=1
    文件權限數字表示方式
    rw-|r--|r--
    u g o
    u=rw-=4+2+0=6
    g=r--=4+0+0=4
    o=r--=4+0+0=4
    所以文件權限表示為644

    chmod 修改後權限值 file
    chmod 777 file

    7=rwx
    6=rw-
    5=r-x
    4=r--
    3=-wx
    2=-w-
    1=--x
    0=---


    6.系統默認權限的設定

    從系統存在角度來說,開放權力越大,系統存在意義越高
    從系統安全角度來說,開放權力越少,系統安全性越高
    所以系統設定新建文件或目錄會去掉一些權限
    設定方式
    umask ##查看系統保留權限默認為022
    umask 077 ##修改該系統保留權限為077,此設定為臨時設定,只當前shell中生效

    永久設定方式:
    vim /etc/bashrc ##shell
    70 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    71 umask 002 ##普通用戶umask
    72 else
    73 umask 077 ##超級用戶 uask
    74 fi

    vim /etc/profile ##系統
    59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    60 umask 002 ##普通用戶umask
    61 else
    62 umask 077 ##超級用戶umask
    63 fi技術分享

    以上兩個文件umask設定值必須保持一致
    source /etc/bashrc
    source /etc/profile
    讓設定立即生效
    技術分享


    7.文件的訪問控制(acl列表)######
    (1).acl定義
    acl = access control
    指定特殊用戶對特殊文件有特殊權限
    drwxrwx---+ 2 root root 17 Jul 18 01:39 /westos/
    ^表

    getfacl /westos/

    # file: westos/ ##文件名稱
    # owner: root ##文件所有人
    # group: root ##文件所有組
    user::rwx ##擁有者權限
    user:student:rwx ##特殊用戶權限
    group::--- ##組權限
    mask::rwx ##權限掩碼
    other::--- ##其他人權限

    註意:當文件上有權限列表時,ls -l 能看到的權限是假的
    技術分享

    (2).設定acl列表

    設定
    setfacl -m <u|g>:<username|groupname>:權限 文件|目錄
    -m #設定
    u #用戶
    g #組
    技術分享

    刪除列表中的用戶或者組####
    setfacl -x <u|g>:<username|groupname> 文件|目錄

    關閉列表
    setfacl -b 文件|目錄 技術分享

    acl mask值
    1.mask 權限掩碼
    mask用來標示能夠賦予用戶最大權限
    當用chmod改變文件普通權限時可能會被破壞技術分享
    修復
    setfacl -m m:rwx 文件名稱

    ####acl 默認權限######
    當我們需求某個目錄對於student可寫,並且目錄中新建的子目錄對student也可寫
    就要設定默認默認權限

    註意: 默認權限只對目錄中新建立的文件或者目錄生效,對已經建立的文件無效,
    對於目錄本身也無效

    setfacl -m d:u:student:rwx /westos







    8.特殊權限####
    (1).suid ##冒險位
    之針對二進制可執行文件,
    文件內記錄的程序產生的進程的所有人為文件所有人
    和進程發起人身份無關

    設定方式:
    chmod u+s file
    suid=4
    chmod 4xxx file技術分享

    (2).sgid ##強制位
    對文件:只針對二進制可執行文件,
    任何人運行二進制文件
    程序時程序產生的進程的所有組都是文件的所有組
    和程序發起人組的身份無關
    對目錄:當目錄有sgid權限後,目錄中新建的所有文件的所有組
    都自動歸屬到目錄的所有組之中,和文件建立者所在的組無關技術分享

    設定方式:

    chmod g+s file|dir
    sgid=2
    chmod 2xxx file|dir

    (3).sticky ##粘制位
    t權限:
    只針對與目錄,當一個目錄上有t權限,那麽目錄中的文件只能被文件的擁有者刪除

    設定方式:
    chmod o+t direcotry
    t=1
    chmod 1777 direcotry技術分享



本文出自 “13122425” 博客,請務必保留此出處http://13132425.blog.51cto.com/13122425/1950096

linux雲自動化運維基礎知識5.6(用戶管理及文件權限)