linux系統用戶以及用戶組管理

本系列的博客來自於:http://www.92csz.com/study/linux/linux

在此,感謝原做者提供的入門知識shell

這個系列的博客的目的在於將比較經常使用的liunx命令從做者的文章中摘錄下來,供本身學習和複習之用。安全

 

管道命令,是指 | 的左邊運行結果 是|右邊的 輸入條件或者範圍。bash

認識/etc/passwd/etc/shadow】學習

這兩個文件能夠說是linux系統中最重要的文件之一。ui

/etc/passwd由’:’分割成7個字段,每一個字段的具體含義是:加密

1)用戶名(如第一行中的root就是用戶名),表明用戶帳號的字符串。用戶名字符能夠是大小寫字母、數字、減號(不能出如今首位)、點以及下劃線,其餘字符不合法。雖然用戶名中能夠出現點,但不建議使用,尤爲是首位爲點時,另外減號也不建議使用,由於容易形成混淆。unix

2)存放的就是該帳號的口令,爲何是’x’呢?早期的unix系統口令確實是存放在這裏,但基於安全因素,後來就將其存放到/etc/shadow中了,在這裏只用一個’x’代替。生命週期

3)這個數字表明用戶標識號,也叫作uid。系統識別用戶身份就是經過這個數字來的,0就是root,也就是說你能夠修改test用戶的uid爲0,那麼系統會認爲root和test爲同一個帳戶。一般uid的取值範圍是0~65535,0是超級用戶(root)的標識號,1~499由系統保留,做爲管理帳號,普通用戶的標識號從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,用」:」分割成9個字段。

1)用戶名,跟/etc/passwd對應。

2)用戶密碼,這個纔是該帳號的真正的密碼,不過這個密碼已經加密過了,可是有些黑客仍是可以解密的。因此爲了安全,該文件屬性設置爲600,只容許root讀寫。

3)上次更改密碼的日期,這個數字是這樣計算得來的,距離1970年1月1日到上次更改密碼的日期,例如上次更改密碼的日期爲2012年1月1日,則這個值就是365*(2012-1970)+1=15331。

4)要過多少天才能夠更改密碼,默認是0,即不限制。

5)密碼多少天后到期。即在多少天內必須更改密碼,例如這裏設置成30,則30天內必須更改一次密碼,不然將不能登陸系統,默認是99999,能夠理解爲永遠不須要改。

6)密碼到期前的警告期限,若這個值設置成7,則表示當7天后密碼過時時,系統就發出警告告訴用戶,提醒用戶他的密碼將在7天后到期。

7)帳號失效期限。你能夠這樣理解,若是設置這個值爲3,則表示:密碼已經到期,然而用戶並無在到期前修改密碼,那麼再過3天,則這個帳號就失效了,即鎖定了。

8)帳號的生命週期,跟第三段同樣,是按距離1970年1月1日多少天算的。它表示的含義是,帳號在這個日期前可使用,到期後帳號做廢。

9)做爲保留用的,沒有什麼意義。

 

新增/刪除用戶和用戶組

a. 新增一個組 groupadd [-g GID] groupname

不加-g則按照系統默認的gid建立組,跟用戶同樣,gid也是從500開始的

-g選項能夠自定義gid

 

b. 刪除組 groupdel groupname

沒有特殊選項

 

c. 增長用戶 useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]

-u 自定義UID

-g 使其屬於已經存在的某個GID

-d 自定義用戶的家目錄

-M 不創建家目錄

-s 自定義shell

 

useradd -u 510 -g 504 -M -s /sbin/nologin  test111

終端顯示:test111:x:510:504::/home/test111:/sbin/nologin

建立test11時,加上了-M選項後,在/etc/passwd文件中test11那行的第六字段依然有/home/test11,但是ls查看該目錄時,會提示該目錄不存在。

-M選項的做用就是不建立用戶的家目錄。

 

d.刪除用戶userdel [-r] username

-r 刪除用戶時,連同用戶的家目錄一塊兒刪除。

 

【用戶身份切換】

Linux系統中,有時候普通用戶有些事情是不能作的,除非是root用戶才能作到,這時候就須要臨時切換到root身份來作事了。

使用su -就能夠切換成root身份,固然這須要知道root密碼

可使用 echo $LOGNAME 來查看當前登陸的用戶名

 

su 的語法爲:su [-] username

後面能夠跟"-"也能夠不跟,普通用戶su不加username時就是切換到root用戶,固然root用戶一樣能夠su到普通用戶。

加"-"後會連用戶的環境變量一塊兒切換過來。su test 後雖然切換到了test用戶,可是當前目錄仍是切換前的/root目錄,而後當用su - test 時切換用戶後則到了test的home目錄 /home/test。當用root切換普通用戶時,是不須要輸入密碼的。

 

用su是能夠切換用戶身份,若是每一個普通用戶都能切換到root身份,若是某個用戶不當心泄露了root的密碼,這樣會形成系統的不安全,爲了改進這個問題,產生了sudo這個命令。使用sudo執行一個root才能執行的命令是能夠辦到的,可是須要輸入密碼,這個密碼並非root的密碼,而是用戶本身的密碼。默認只有root用戶才能使用sudo命令,普通用戶想要使用sudo,是須要root預先設定的,即,使用visudo命令去編輯相關的配置文件 /etc/sudoers 。若是沒有visudo這個命令,使用yum install -y sudo 安裝。

相關文章
相關標籤/搜索