學習Linux旅途--Day Five--

Linux用戶和組的管理

    當我們使用useradd增加一個用戶,此時會在/etc/passwd文件增加一行,而密碼則放置在/etc/shadow文件,接下來我們詳細瞭解下這兩個文件


1、/etc/passwd

    由冒號:分割成七段

    第一段:用戶名

    第二段:在早期的Linux中這個段位存放的密碼,由於安全因素,只是用x標識符佔位,實際密碼則在/etc/shadow配置文件

    第三段:uid,用戶標識號0-(2^32-2)範圍,root的uid爲0,1-499爲系統保留,普通的賬戶uid從500開始

    第四段:gid,羣組標識號,則對應的是/etc/group

    第五段:用於註釋說明,一般爲空(finger查看用戶信息,chfn設置用戶註釋說明)

    第六段:家目錄

    第七段:登陸的shell,/bin/bash、/bin/flase、/bin/nologin(不允許登陸)


2、/etc/shadow

    由冒號:分割成九段

    第一段:用戶名

    第二段:存放密碼($1:是MD5加密,$5:是sha-256加密,$6:是sha-512加密),*表示被鎖定,!!表示無密碼

    第三段:上次更改密碼的時間,是從1970-1-1開始計算

    第四段:要過多少天纔可以更改密碼,0就代表不限制

    第五段:密碼多少天后到期,默認是99999

    第六段:密碼到期前的警告期限

    第七段:賬號失效的期限,過多少天鎖定賬號

    第八段:賬號的生命週期,表示這個賬號可以使用多久

    第九段:作爲保留用,沒什麼意義


useradd:添加用戶

    -u:指定uid

    -g:指定gid,加入某組,羣組必須已經有的,否則報錯

    -d:指定家目錄(當指定的家目錄已存在時,則家目錄的相關配置文件不會生成)

    -s:指定shell

    -M:創建用戶時,不創建家目錄


userdel:刪除用戶

    默認並不會刪除家目錄

    -r:指定刪除用戶的家目錄


usermod:修改用戶賬號信息

    -u:指定uid

    -g:修改uid

    -G:修改用戶所屬附加羣組

    -s:修改shell(不允許登陸/bin/nologin、拒絕訪問/bin/flase)

    -d:修改家目錄

    -L:鎖定用戶密碼,使密碼無效

    -U:解鎖用戶


3、/etc/group

    第一段:用戶組名稱

    第二段:用戶組密碼,x佔位

    第三段:gid羣組標識號

    第四段:用戶列表,每個用戶之間用逗號分隔

    

4、/etc/gshadow

    第一段:用戶組名稱

    第二段:用戶組的密碼,可以爲空或者!,都表示沒有密碼

    第三段:用戶組的管理者,這個字段可以爲空,如果有多個用戶組管理者,用逗號分隔

    第四段:組成員,多個成員用逗號分隔


groupadd:新增一個用戶組

    -d:指定gid


groupdel:刪除一個用戶組,若組裏由用戶,則無法刪除

    

groupmod:修改羣組信息

    -n:更改羣組名稱

    -g:更改gid


5、passwd:修改用戶密碼

   mkpasswd:可以生成不規則的密碼,須安裝expect包

        -l:指定密碼長度,默認爲9

        -d:指定數字個數,默認爲2

        -c:指定小寫字符個數,默認爲(密碼長度-大寫字符個數-小寫字符個數-特殊字符個數=默認小寫字符個數)

        -C:指定大寫字符個數,默認爲2

        -s:指定特殊字符個數,默認爲1


6、用戶身份切換

    su:臨時切換身份(這種方法,用戶的PATH變量沒有變)

    su -:會切換到用戶的家目錄(用戶的PATH變量會切換)


    sudo:用其他身份來執行命令,/etc/sudoers配置文件,也可以visudo == vi /etc/sudoers

    找到"root    ALL=(ALL)    ALL"這一行,添加下面三行:

            User_Alias    USER_SU = 用戶    //比如user1

            Cmnd_Alias    SU = /bin/su

            USER_SU       ALL=(ALL)    NOPASSWD:SU

        用戶別名:USER_SU是user1的別名

        命令別名:SU是/bin/su的別名


更改的格式:user    host=(as_user)    commands    //解釋下,一列表示讓那個用戶使用sudo命令,第二列host指定主機,表示讓哪個主機去臨時擁有誰(as_user)的權限,第三列執行什麼命令

上面這幾段也可以一段結合:用戶1,用戶2...    ALL=(ALL)    NOPASSWD:/bin/su





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