linux用戶和組管理

linux系統是一個多用戶的系統,每個賬號都干什么用,你必須了如指掌。

【Linux用戶】

即UID分為兩大類:管理員 UID:0

                              普通用戶 UID:1-65535

普通用戶又分為:系統用戶和登錄用戶兩種:

                              系統用戶:1-499(centos6系統)1-999(centos7系統)一般來說,每個系統進程都對應一個系統用戶,進行權限分配;

                              登錄用戶:500+(centos6)1000+(centos7)通過交互式方式登錄

【Linux組GID】

        管理員組:root 0

             普通組:1-65535

  普通組又分為系統組和非系統組

             系統組:1-499(centos6)1-999(centos7)

             非系統組:500+(centos6)1000+(centos7)

一個用戶可以有多個不同的組:基本組(主組)和附加組(額外組)。

    基本組組名和用戶名相同,且僅包含一個用戶,也叫私有組?;窘M以外的組屬于附加組

【用戶和組的配置文件】

/etc/passwd  記錄用戶屬性信息

內容由冒號分割成7個字段,每個字段的具體含義是:

用戶名:密碼:UID:GID:用戶的詳細信息:用戶的家目錄:用戶的默認shell

/etc/shadow  記錄用戶密碼信息

內容由逗號分成9個字段

    用戶名:加了密的密碼:最近一次更改密碼的日期:密碼的最小使用期限:密碼的最大使用期限:密碼的警告時間段:密碼禁用期:賬戶的過期日期:保留字段

/etc/group  記錄組的屬性信息

組名:組密碼:組id:以當前組為附加組的用戶列表(如果有多個,則以逗號隔開)

/etc/gshadow 組密碼及其相關屬性  

組名:組密碼(一般沒有)

Linux中密碼的格式: 

mage1:$6$4kW6f7Qr0GFvqh$nryByGweKuNWKvr7ZZwszgojqtktU7KpjsV9E/M/wH5/7MDelx1Nft7m6Zl6xhoScT4PNSNEva6p90S/cZM6s.::

用戶名:$為分隔符 6表示加密算法 后面兩$之間的字符表示salt(如果有兩個相同的密碼,加入不同的salt就會生成截然不同的字符串,也就是后面的一長串字符)

                                                     用戶命令

創建用戶:useradd

-u:指定UID號

-o:配合-u選項,不檢查UID的唯一性

-g:GID,指明用戶所屬基本組,可為組名,也    可以為GID

-c:用戶的注釋信息

-d:以指定的路徑(必須不存在)為家目錄

-s:指明用戶的默認shell程序

-G:指明附加組,組必須事先存在,多個用,分割

-N:不創建私有組做主組,使用users做主組

-r:創建系統用戶 centos6:ID<500

                 centos7:ID<1000

-D:顯示默認設置

-D -s SHELL:更改默認設置

修改用戶屬性: usermod

usermod[OPTION] login

-u UID: 新UID

-g GID: 新基本組

-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append;

-s SHELL:新的默認SHELL;

-c 'COMMENT':新的注釋信息;

-d HOME: 新家目錄不會自動創建,原家目錄中的文件不會同時移動至新的家目錄;若要創建新家目錄并移動原家數據,同時使用-m?選項

-l login_name: 新的名字;

-L: lock指定用戶,在/etc/shadow 密碼欄的增加!

-U: unlock指定用戶,將/etc/shadow 密碼欄的! 拿掉

-e YYYY-MM-DD: 指明用戶賬號過期日期;

-f INACTIVE: 設定非活動期限(賬號過期寬容時間);

刪除用戶 userdel

-r 同時刪除家目錄

查看用戶信息

 id命令

id username             #查看指定用戶的組信息

-u:UID

-g:GID

-G:group

-n:name

cat /etc/passwd         #查看用戶屬性信息

getent passwd           #查看用戶屬性信息

getent passwd username  #查看指定用戶屬性信息

設置密碼

passwd[OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶權限

?passwd: 修改自己的密碼;

?常用選項:

-l:鎖定指定用戶

-u:解鎖指定用戶

-e:強制用戶下次登錄修改密碼

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天開始警告

-iinactivedays:非活動期限;

echo "123456" | passwd–stdin 用戶名

                                                              【組】

新建組

groupadd[OPTION]… group_name

-g GID: 指明GID號;[GID_MIN, GID_MAX]

-r: 創建系統組;

修改組屬性:groupmod

groupmod[OPTION]… group

-n group_name: 新名字

-g GID: 新的GID

刪除組:groupdel

groupdel GROUP

組密碼:gpasswd

?gpasswd[OPTION] GROUP

-a user: 將user添加至指定組中;

-d user: 從指定組中移除用戶user

-A user1,user2,…: 設置有管理權限的用戶列表

查看組信息

groupmems[options] [action]

options:

-g, –group groupname更改為指定組(只有root)

Actions:

-a, –add username 指定用戶加入組

-d, –delete username 從組中刪除用戶

-p, –purge 從組中清除所有成員

-l, –list 顯示組成員列表

groups username 查看用戶所屬組列表

[root@si ~]# groupmems -l  -g mage1   #查看組成員

zhangsan  lisi 

                                           命令小技巧


為用戶添加附加組

通常會覆蓋掉以前的附加組,用下面的命令則會追加而不是覆蓋

usermod –aG root,ftp username

usermod -G " " username 則會清空所有附加組

當我們需要批量添加用戶的時候,不可能一個個的建,這時候就會用到下面的命令

批量添加用戶newuser

vi user添加內容按/etc/passwd格式

newuser user

批量建立的沒有密碼

用cat pass.txt | chpasswd 命令批量修改

vi pass.txt添加如下

zhangsan:123

lisi:888

wagwu:000000

當我們不小心刪除家目錄或者使用useradd -d 指定家目錄路徑時,先給他創建了一個家目錄,這時

[root@sibo1 testdir]# userdel -r wangwu

[root@sibo1 testdir]# mkdir wangwu

[root@sibo1 testdir]# useradd -d /testdir/wangwu wangwu

useradd: warning: the home directory already exists.

Not copying any file from skel directory into it.   #系統會提示:沒有從skel目錄復制任何文件到里面,所以我們就要手動復制

[root@sibo1 testdir]# getent passwd wangwu

wangwu:x:503:510::/testdir/wangwu:/bin/bash

[root@sibo1 testdir]# 

[root@sibo1 testdir]# ls -a wangwu/

.  ..

[root@sibo1 testdir]#

 

修復家目錄

cp –r /etc/skel/.[^.]* /home/sibo

cp -r /etc/skel/. /home/lisi


最后給大家寫點小東西娛樂一下linux用戶和組管理

blob.png

修改描述信息chfn:在這里我們可以定制屬于我們自己的個人信息

blob.png


查看描述信息:finger 用戶名

原創文章,作者:cszdz123,如若轉載,請注明出處:http://www.www58058.com/29103

(0)
cszdz123cszdz123
上一篇 2016-08-05 16:13
下一篇 2016-08-05 16:13

相關推薦

  • Linux發展史

    簡 述 Linux是一套自由加開放源代碼的類Unix操作系統,誕生于1991年10月5日(第一次正式向外公布),由芬蘭學生Linus Torvalds和后來陸續加入的眾多愛好者共同開發完成。 Linux是一個基于POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的Unix工具軟件、應用程序和網絡協議,可支持32位和64位硬件。…

    2016-10-14
  • 馬哥網絡班21期-第六周作業

    請詳細總結vim編輯器的使用并完成以下練習題    vim(visual interface):文本編輯器      模式        編輯模式        輸入模式        末行…

    Linux干貨 2016-09-07
  • Linux系統命令格式及基礎命令、幫助信息。

    一、Linux系統上的命令使用格式 命令的語法通用格式:                 # COMMAND OPTIONS ARGUMENTS     &nb…

    Linux干貨 2016-10-30
  • Linux文本搜索工具grep

    Linux文本搜索工具grep Linux文本搜索工具grep grep 基本正則表達式 egrep 擴展正則表達式 fgrep 簡介 grep(全稱Globally search a Regular Expression and Print,全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,根據用戶指定的“模式(pattern)”對目標文本進行匹…

    2016-04-05
  • Linux下的進程調度與作業管理

    Linux下的進程調度與作業管理 一、概述 1.1 進程的相關概念: 通過前面的幾個章節,我們幾乎已經學習了很多的linux的基礎,這個章節我們講一下linux下的進程管理,就像windows 下的進程一樣,我們知道windows 下有一個任務管理器,專門用來管理進程,我們首先看一下windows 的任務管理器: 從這2個圖我們可以看出,windows 下的…

    Linux干貨 2016-10-17
  • shell 腳本中數組的總結

    描述:   變量是存儲單個元素的內存空間,而數組是多個變量的集合,是一個連續的空間;但整個數組只能有 的名字。   數組內的數據都有指定的索引,從而找到數組內所指定的數據。索引的編號是從0開始的,依次遞增(0,1,2,3,…),這種方式叫數值索引。格式為:數組名[索引];${ARRAY_NAME[INDEX]}。索引也支持自定…

    Linux干貨 2016-08-29
欧美性久久久久