Linux用戶和組管理

Linux用戶和組管理


安裝上下文:

進程以其發起者的身份運行;

進程對文件的訪問權限,取決於發起此進程的用戶的權限;


系統用戶:爲了能夠讓那後臺進程或服務類進程以非管理員的身份運行,通常需要爲此創建多個普通用戶;這類用戶從不用登錄系統;



groupadd命令:添加組


groupadd [選項] group_name


-g GID:指定GID;默認是上一個組的GID+1;

-r: 創建系統組;


groupmod命令:修改組屬性


groupmod [選項] GROUP

-g GID:修改GID;

-n new_name:修改組名;


groupdel命令:刪除組


groupdel [選項] GROUP


useradd命令:創建用戶


useradd [選項] 登錄名

-u, --uid UID:指定UID;

-g, --gid GROUP:指定基本組ID,此組得事先存在;

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用戶所屬的附加組,多個組之間用逗號分隔;

-c, --comment COMMENT:指明註釋信息;

-d, --home HOME_DIR:以指定的路徑爲用戶的家目錄;通過複製/etc/skel此目錄並重命名實現;指定的家目錄路徑如果事先存在,則不會爲用戶複製環境配置文件;

-s, --shell SHELL:指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中;

-r, --system:創建系統用戶;


注意:創建用戶時的諸多默認設定配置文件爲/etc/login.defs


useradd -D:顯示創建用戶的默認配置;

useradd -D 選項: 修改默認選項的值;


修改的結果保存於/etc/default/useradd文件中;


usermod命令:修改用戶屬性


usermod [選項] 登錄

-u, --uid UID:修改用戶的ID爲此處指定的新UID;

-g, --gid GROUP:修改用戶所屬的基本組;

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶所屬的附加組;原來的附加組會被覆蓋;

-a, --append:與-G一同使用,用於爲用戶追加新的附加組;

-c, --comment COMMENT:修改註釋信息;

-d, --home HOME_DIR:修改用戶的家目錄;用戶原有的文件不會被轉移至新位置;

-m, --move-home:只能與-d選項一同使用,用於將原來的家目錄移動爲新的家目錄;

-l, --login NEW_LOGIN:修改用戶名;

-s, --shell SHELL:修改用戶的默認shell;


-L, --lock:鎖定用戶密碼;即在用戶原來的密碼字符串之前添加一個"!";

-U, --unlock:解鎖用戶的密碼;


userdel命令:刪除用戶


userdel [選項] 登錄

-r:刪除用戶時一併刪除其家目錄;

passwd命令:


passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]


(1) passwd:修改用戶自己的密碼;

(2) passwd USERNAME:修改指定用戶的密碼,但僅root有此權限;


-l, -u:鎖定和解鎖用戶;

-d:清除用戶密碼串;

-e DATE: 過期期限,日期;

-i DAYS:非活動期限;

-n DAYS:密碼的最短使用期限;

-x DAYS:密碼的最長使用期限;

-w DAYS:警告期限;


--stdin:

echo "PASSWORD" | passwd --stdin USERNAME


gpasswd命令:


組密碼文件:/etc/gshadow


gpasswd [選項] group

-a USERNAME:向組中添加用戶

-d USERNAME:從組中移除用戶


newgrp命令:臨時切換指定的組爲基本組;


newgrp [-] [group]


-: 會模擬用戶重新登錄以實現重新初始化其工作環境;


chage命令:更改用戶密碼過期信息


chage [選項] 登錄名


-d

-E

-W

-m

-M


id命令:顯示用戶的真和有效ID; 


id [OPTION]... [USER]

-u: 僅顯示有效的UID;

-g: 僅顯示用戶的基本組ID; 

-G:僅顯示用戶所屬的所有組的ID;

-n: 顯示名字而非ID;


su命令:switch user


登錄式切換:會通過讀取目標用戶的配置文件來重新初始化

su - USERNAME

su -l USERNAME

非登錄式切換:不會讀取目標用戶的配置文件進行初始化

su USERNAME


注意:管理員可無密碼切換至其它任何用戶;


-c 'COMMAND':僅以指定用戶的身份運行此處指定的命令;


其它幾個命令:chsh, chfn, finger, whoami, pwck, grpck


命令總結:groupadd, groupmod, groupdel, useradd, usermod, userdel, passwd, gpasswd, newgrp, id, su, chage




權限管理:


ls -l 

rwxrwxrwx:

左三位:定義user(owner)的權限

中三位:定義group的權限;

右三位:定義other的權限


進程安全上下文:

進程對文件的訪問權限應用模型:

進程的屬主與文件的屬主是否相同;如果相同,則應用屬主權限;

否則,則檢查進程的屬主是否屬於文件的屬組;如果是,則應用屬組權限;

否則,就只能應用other的權限;


權限:

r:readable, 讀

w:writable, 寫

x:excutable,執行


文件:

r:可獲取文件的數據;

w: 可修改文件的數據;

x:可將此文件運行爲進程;


目錄:

r:可使用ls命令獲取其下的所有文件列表;

w: 可修改此目錄下的文件列表;即創建或刪除文件;

x: 可cd至此目錄中,且可使用ls -l來獲取所有文件的詳細屬性信息;


mode:rwxrwxrwx

ownership:user, group


權限組合機制:

--- 000 0

--x 001 1

-w- 010 2

-wx 011 3

r-- 100 4

r-x 101 5

rw- 110 6

rwx 111 7


練習:rw-rw-r--, rwxrwxr-x, rwxr-x---, rw------, rwxr-xr-x

  664, 640, 600, 775, 750, 755


權限管理命令:

chmod命令:

       chmod [OPTION]... MODE[,MODE]... FILE...

       chmod [OPTION]... OCTAL-MODE FILE...

       chmod [OPTION]... --reference=RFILE FILE...


       三類用戶:

        u:屬主

        g:屬組

        o:其它

        a: 所有


       (1) chmod [OPTION]... MODE[,MODE]... FILE...


        MODE表示法:

        賦權表示法:直接操作一類用戶的所有權限位rwx;

        u=

        g=

        o=

        a=


        授權表示法:直接操作一類用戶的一個權限位r,w,x;

        u+, u-

        g+, g-

        o+, o-

        a+, a-


        (2) chmod [OPTION]... OCTAL-MODE FILE...


        (3) chmod [OPTION]... --reference=RFILE FILE...


        選項:

        -R, --recursive:遞歸修改


        注意:用戶僅能修改屬主爲自己的那些文件的權限;


從屬關係管理命令:chown, chgrp


chown命令:

chown [OPTION]... [OWNER][:[GROUP]] FILE...

        chown [OPTION]... --reference=RFILE FILE...


        選項:

        -R:遞歸修改


        chgrp命令:


        chgrp [OPTION]... GROUP FILE...

        chgrp [OPTION]... --reference=RFILE FILE...


        注意:僅管理員可修改文件的屬主和屬組;


        思考:用戶對目錄有寫權限,但對目錄下的文件沒有寫權限時,能否修改此文件內容?能否刪除此文件?

        模擬之;


        umask:文件的權限反向掩碼,遮罩碼;

        文件:

        666-umask

        目錄:

        777-umask


        注意:之所以文件用666去減,表示文件默認不能擁有執行權限;如果減得的結果中有執行權限,則需要將其加1;

        umask: 023

        666-023=644

        777-023=754


        umask命令:

        umask:查看當前umask

        umask MASK: 設置umask


        注意:此類設定僅對當前shell進程有效;

 install命令:

    install - copy files and set attributes


    單源複製:

        install [OPTION]... [-T] SOURCE DEST

        多源複製:

        install [OPTION]... SOURCE... DIRECTORY

        install [OPTION]... -t DIRECTORY SOURCE...

        創建目錄:

        install [OPTION]... -d DIRECTORY...


        常用選項:

        -m, --mode=MODE:設定目標文件權限,默認爲755;

        -o, --owner=OWNER:設定目標文件屬主;

        -g, --group=GROUP:設定目標文件屬組;


    mktemp命令:

    mktemp - create a temporary file or directory


    mktemp [OPTION]... [TEMPLATE]


    常用選項:

    -d:創建臨時目錄


    注意:mktemp會將創建的臨時文件名直接返回,因此,可直接通過命令引用保存起來;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章