linux用戶管理

背景:linux是目前流行的操作系統,除了微軟系剩下的大多數都是以linux爲平臺,部署開發,用戶管理對於系統資源的控制,隔離以及問題排查很有必要,本文蛀牙從三方面進行闡述,用戶管理,用戶相關文件和權限切換。

 

1 用戶管理

  •   添加用戶,命令爲useradd ,格式爲 :useradd   [選項......]  用戶名

   

  例子:useradd –d /usr/sam -m sam 

   此命令創建了一個用戶sam,
  其中-d和-m選項用來爲登錄名sam產生一個主目錄/usr/sam(/usr爲默認的用戶主目錄所在的父目錄)。

 

  • 修改密碼,命令爲passwd   格式爲:passwd  [選項......] 用戶名

例子:passwd zhangsan  (修改張三的用戶名)

  • 新建組 ,命令爲groupadd  ,格式爲:groupadd [選項]  組名

 

例子:groupadd www(創建www組,把與web相關的都可以加入到組中,可以在創建用戶的時候指定,也可以通過usermod指定)

  • 用戶修改 ,命令爲usermod,格式爲:usermod [選項]  組名/用戶名 

例子:usermod -G www nginx(把nginx加入到www組中)

  • 用戶刪除 userdel  ,格式爲:userdel [選項] 登錄

例子:userdel zhangsan (刪除用戶zhangsan )

 

2 用戶權限相關文件

 通過用戶管理所創建的權限,對應到文件的話,主要涉及到4個文件 /etc/passwd ,  /etc/group , /etc/shadow和/etc/gshadow。

  • /etc/passwd ,用戶賬號信息(不要被名字所誤導)

 每一行都代表一個用戶,每一行又通過[:]分爲七個部分

    1、賬號名稱
  2、原先用來保存密碼的,現在密碼都放在/etc/shadow中,所以這裏顯示x
  3、UID,也就是使用者ID。默認的系統管理員的UID爲0,我們添加用戶的時候最好使用1000以上的UID,1-1000範圍的UID最好保留給系統用。
  4、GID,也就是羣組ID
  5、關於賬號的一些說明信息,大部分爲空
  6、賬號的home目錄,home目錄就是你登陸系統後默認的那個目錄
  7、賬號使用的shell

 

  • /etc/shadow,用戶密碼文件

和passwd文件對應,這裏也是由[:]來進行分割,一共分九部分:

       1、賬戶名稱(密碼需要與賬戶對應的嘛)
  2、加密後的密碼
  3、從1970年1月1日算起的總的天數
  4、密碼不可被變更的天數:設置了這個值,則表示從變更密碼的日期算起,多少天內無法再次修改密碼,如果是0的話,則沒有限制
  5、密碼需要重新變更的天數:密碼經常更換才能保證安全,爲了提醒某些經常不更換密碼的用戶,可以設置一個天數,強制讓用戶更換密碼,也就是說該用戶的密碼會在多少天后過期,如果爲99999則沒有限制
  6、密碼過期預警天數:如果在5中設置了密碼需要重新變更的天數,則會在密碼過期的前多少天進行提醒,提示用戶其密碼將在多少天后過期
  7、密碼過期的寬恕時間:如果在5中設置的日期過後,用戶仍然沒有修改密碼,則該用戶還可以繼續使用的天數
  8、賬號失效日期,過了這個日期賬號就不能用了
  9、保留字段

 

  • /etc/group    組信息

通過[:]分割成4個部分:

       1、組名
  2、組密碼標誌
  3、GID
  4、組中附加用戶,一般在passwd文件中

 

  • /etc/gshadow  組密碼文件

以[:]進行分割成4個部分:

       1、組名
  2、組密碼標誌 ,!表示這個用戶組沒有用戶組密碼,沒有用戶組密碼意味着這個用戶組沒有用戶組管理員,其實大多數用戶  組都沒有用戶組管理員
  3、管理者這個字段也可爲空,如果有多個用戶組管理者,用,號分割 
  4、 組內用戶列表:如果有多個成員,用,號分割 

 

3 普通用戶授權root權限

  •  su

   su是最簡單的身份切換名,用su我們能夠進行不論什麼用戶的切換,一般都是su - username,然後輸入password就ok了,可是root用su切換到其它身份的時候是不須要輸入password的。

    su三種用法:

     su  user :受限於環境變量,有時候環境變量PATH不會變。

     su - :完全以root身份運行。

     su -c :一次性操作後,又切換原用戶。

  • sudo 

     與su不同的是,su切換需要切換用戶的密碼,而sudo則只需要本用戶密碼就可以。 當使用sudo時,會到/etc/sudoers文件中檢查該用戶是否有sudo權限,如有有的話,輸入自己的密碼,則完成切換。

 

   sudo配置的三種方法(提升用戶爲root權限的方法):

  方法一:修改 /etc/sudoers 文件,找到下面一行,把前面的註釋(#)去掉

   ## Allows people in group wheel to run all commands
   %wheel    ALL=(ALL)    ALL

  然後修改用戶,使其屬於root組(wheel),命令如下:

  #usermod -g root tommy

    修改完畢,現在可以用tommy帳號登錄,然後用命令 su – ,即可獲得root權限進行操作。

   方法二:修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

   ## Allow root to run any commands anywhere
  root    ALL=(ALL)     ALL
  tommy   ALL=(ALL)     ALL

   修改完畢,現在可以用tommy帳號登錄,然後用命令 sudo – ,即可獲得root權限進行操作。

   方法三:修改 /etc/passwd 文件,找到如下行,把用戶ID修改爲 0 ,如下所示:
   tommy:x:0:33:tommy:/data/webroot:/bin/bash

 

       

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