您好,登錄后才能下訂單哦!
如何分析Linux系統用戶管理,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
想必大家都應該知道Linux系統是一個多任務多用戶的系統吧,一個Linux系統通常有很多用戶同時在線,這就顯得用戶管理尤為重要,下面和大家分析一下Linux中用戶管理。
這兩個文件可以說是Linux系統中最重要的文件之一。如果沒有或者存在問題,您是無法登陸Linux系統的
/etc/passwd 由‘:’分割成7個字段,每個字段的具體含義是:
(1) 用戶名(如第一行中的root就是用戶名),代表用賬戶的字符串。用戶名可以是大小寫字母、數字、減號(不能出現在首位)、點以及下劃線,其他字符不合法。雖然用戶名可以出現點,但不建議使用,尤其是首位為點時,另外減號也不建議使用,因為容易造成混淆
(2) 存放的就是該賬號的口令,為什么‘x’呢?早期的nuix系統口令確實是存放在這里,但基于安全因素,后來就將其存放早‘/etc/shadow’中了,在這里只用一個‘x’代替。
(3) 這個數字代表用戶標識號,也叫做UID。系統識別用戶身份就是通過這個數字來的0就是root,也就是您可以修改test用戶的UID為零,那么系統會認為root和 test為同一個用戶。通常UID個的取值范圍是065535(但實際上已經可以支持到4294967294),0是超級用戶的標識號,1499由系統保留,作為管理賬號,普通用戶的標識從500開始,如果我么你自定義建立一個普通用戶,您會看到該賬戶的標識號大于或等于500的。
(4) 這個數字代表組標識號,也叫做GID。這個字段對應著/etc/group中的一條記錄,其實/etc/group/和/etc/passwd基本上類似。
(5) 注釋說明,該字段沒有實際意義,通常記錄該用戶的一些屬性例如姓名、電話、地址等。不過,當您使用finger的功能時就會顯示這些信息的(稍后作介紹)
(6) 用戶的家目錄,當用戶登錄時就處在這個目錄下,root的家目錄是/root,普通用戶的家目錄則為/home/username,這個字段可以自定義的,步入您建立一個普通用戶test1,要想讓test1的家目錄在/data下,只要修改/etc/passwd文件中的test1那行中的該字段改為/data既可。
(7) shell,用戶登錄后要啟動一個進程,用來將用戶下達的指令傳給內核,這就是shell。Linux的shell有很多種sh、csh、ksh、tcsh、bash/等,而Redhat/CentOS的shell就是bash。查看/etc/passwd文件,該制度單除了/bin/bash外還有/sbin/nologin比較多,它表示不允許該賬號登錄。如果您想建立一個賬號不讓他登錄,那么就可以把該字段蓋晨/sbin/nologin,默認是/bin/bash
再來看看/etc/shadow 這個文件,和/etc/passwd類似,用‘:’分割成9個字段
每個字段的含義是:
(1) 用戶名,跟/etc/passwd對應。
(2) 用戶密碼,這個才是該賬號的真正的面,不過這個密碼已經加密過了,但是有些黑客還是能夠解密的。所以,該文件屬性設置為000,但是root賬戶是可以訪問或更改的。
(3) 上次更改密碼的日期,這個數字是這樣計算得來的,距離1970年1月1日到上次更改密碼的時間,例如上次更改密碼的日期為2012年1月1日,則這個值就是‘365*(2012-1970)/4+1 = 15341’,因為如果是閏年,則有366天。
(4) 要多少天才可以更改密碼,默認是0,即不限制。
(5) 密碼多少天后到期。即在多少天內必須更改密碼,例如這里設置成30,則30天內必須更改一次密碼,否則將不能登錄系統,默認是9999,可以理解為永遠不需要更改。
(6) 密碼到期前的警告期限,若這個值設置成7,則表示當7天后密碼過期時,系統就發出警告告訴用戶,提醒用戶他的密碼將在7天后到期。
(7) 賬號失效期限。您可以這樣理解,如果設置這個值為3,則表示:密碼已經到期,然而用戶并沒有在到期前修改密碼,那么再過3天,則這個賬號就失效了,即鎖定了。
(8) 賬號的生命周期,跟第三段一樣,是按距離1970年1月1日多少天算的。它表示的含義是,賬號在這個日期前可以使用,到期后賬號作廢。
(9) 作為保留用的,沒有什么意義。
1、新增一個組“groupadd [-g GID] 組名”
不加“-g”選項則按照系統默認的gid創建組,跟用戶一樣,GID也是從500開始的。
2、 刪除組 “groupdel 組名”
該命令沒有特殊選項,但有一種情況不能刪除組
這是因為user1中包含user1用戶,只有刪除賬戶后才可以刪除該組。
3、增加用戶 “useradd [-u UID] [-g GID] [-d HOME] [-M] [-s] 用戶名”
‘-u’ 自定義UID
‘-g’是其屬于已經存在的某個組,后面可以跟組id,也可以跟組名
‘-d’自定義用戶的家目錄
‘-M’不建立家目錄
‘-s’ 自定義shell
‘useradd’不加任何選項直接跟用戶名,則會創建一個跟用戶名同樣名字的組
\4. 刪除賬戶 “userdel [-r] 用戶名”
‘-r’的選項作用只有一個,就是刪除賬戶的時候連帶賬戶的家目錄一起刪除。
*chfn 更改用戶的finger(不常用)
*創建/修改一個用戶的密碼 “passwd [username]”
等創建完賬戶后,默認是沒有設置密碼的,雖然沒有密碼,但該賬戶同樣登錄不了系統。只有設置好密碼后登錄系統。為用戶創建密碼時,為了安全起見,請盡量設置復雜一些。您可以按照這樣的規則來設置密碼:
a, 長度大于10個字符
b, 密碼中包含大小寫字母以及特殊字符“*”、“&”、“%”、等;
c,不規則性(不要出現單詞或者某些數字)
d, 不要帶自己名字,公司名字,自己電話,自己生日等。
只有root才可以修該其他賬戶的密碼,普通賬戶只能修改自己的密碼,其他賬戶的密碼是不可以修改的
“mk passwd”
這個命令經常用來生成密碼,省的自己去想。默認您的Linux是沒有這個命令的,需要安裝一個包“expect”,如果您的Centos可以上網,請使用yum install expect 既可完成安裝。安裝好后,輸入“mkpasswd”
Linux中有時候普通用戶做某些事情是有限制的。這時候就需要切換root身份來做事了。
現假設我用一個普通用戶test登錄(登陸后使用“whoami”命令查看當前用戶是誰)
命令su “su [-] username”
后面可以跟‘-’也可以不跟,普通用戶su不加username時及時切換到root用戶,當然root用戶同樣可以su到普通用戶。‘-’這個字符的作用是,加上后會初始化當前用戶的各種環境變量。我們用一個簡單地實驗來說明加與不加‘-’的區別:
命令sudo
用su是可以切換用戶身份,如果每個普通用戶都能切換到root身份,如果某個用戶不小心泄漏了root的密碼,那豈不是系統非常的不安全?沒有錯,為了改進這個問題,產生了sudo這個命令。使用sudo執行一個root才能執行的命令是可以辦到的,但是需要輸入密碼,這個密碼并不是root的密碼而是用戶自己的密碼。默認只有root用戶能使用sudo命令,普通用戶想要使用sudo,是需要root預先設定的,即,使用 visudo 命令去編輯相關的配置文件/etc/sudoers. 如果沒有visudo這個命令,請使用 yum install -y sudo 安裝。
默認root能夠sudo是因為這個文件中有一行 “root ALL=(ALL) ALL” 在該行下面加入 “test ALL=(ALL) ALL” 就可以讓test用戶擁有了sudo的權利。使用 “visudo” 命令編輯/etc/sudoers配置文件,其實它的操作方法和前面阿銘介紹的 “vi” 命令使用方法是一樣的,按 ‘i’ 進入編輯模式,編輯完成后,按 “Esc” ,再輸入 ”:wq” 完成保存。
此時可以驗證一下test的權限了
由于切換到test賬戶后的當前目錄依舊是在/root 下,test賬戶沒有任何權限,所以 ‘ls’ 的時候提示說權限不夠,然而使用 sudo ls 輸入test賬戶自身的密碼后就有權限了。初次使用sudo 時會有上面的一大段提示,而后再次使用sudo 命令則不再提示。
如果每增加一用戶就設置一行,這樣太麻>煩了。所以您可以這樣設置。把 “# %wheel ALL=(ALL) ALL” 前面的 ‘# ‘ 去掉,讓這一行生效。它的意思是,wheel這個組的所有用戶都擁有了sudo的權利。接下來就需要您把想讓有sudo權利的所有用戶加入到wheel這個組中即可。
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
關于如何分析Linux系統用戶管理問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。