user相關的一些命令及用法

前言     

      我們知道,當我們進入一家公司做運維方面的工作的時候,我們需要對公司的服務器進行監控管理,換句話說,我們需要一個身份來操作服務器。那么我們又知道,linux系統下擁有最高權限的管理員是Root,它無所不能,無所畏懼,那么公司肯定就是不會把這個賬戶交給你使用。那么就引出一個概念:用戶。除了root管理員,其他所有人都是這個服務器的用戶。由root管理員創建用戶來交予你使用,當然root會賦予該管理員一些可以行使的權利和限制一些它的操作,那么這篇文章就來詳細說說用戶管理和權限管理的那些事。

首先先來認識一個文件  /etc/passwd

user相關的一些命令及用法

為了區別明顯,分別以rootmagedu登陸對比來看,可以看到以‘:’ 隔開,分為七個部分,下面分別來進行解釋:

user相關的一些命令及用法

user相關的一些命令及用法

第一位:用戶名??瓷蠄D,分別是root magedu

第二位:用戶密碼。之所以顯示X是由于安全考慮,會在另一個文件中顯示,后面會提到。

第三位:用戶ID,即UID。因為root是超級管理員,擁有至高無上的權利,所有它的UID0。反之也就是說當UID0時,說明該用戶是管理員賬戶。那我們應該思考一下,既然root0,那為什么mageduUID1000而不是1呢?因為在CentOS
6
系統下,默認將1-499UID留給了系統用戶使用,而在CentOS 7系統下,默認將1-999留給了系統用戶使用。因為本編使用的是CentOS 7系統,所有magedu這個用戶的UID就從1000開始啦。

第四位:GID,即組ID。當我們創建一個用戶時,會自動創建一個與用戶同名的組作為用戶的主要組。每個用戶有且僅有一個主要組。既然有主要組,是不是也要有附加組(輔助組),沒錯,少年,你hin有前途呦~~  每個用戶可以有零個或者多個輔助組,后面也會提到啊~~

第五位:描述位。簡單來說,對你來個簡單介紹。如果創建用戶的時候沒有進行描述,則默認為用戶名。那我想修改怎么辦?No problem !改!怎么改?后面說啦(給自己挖了這么多坑,哭著也得填滿啊~~

第六位:用戶的家目錄。很好理解啦,每個用戶的家嘛~如果把用戶家目錄刪除了,那用戶就無家可歸嘍~

第七位:用戶默認登陸的shell。一般來說用戶創建時,默認指定的shell/bin/bash。那么能改嗎?當然了,記?。?/span>linux一切皆文件。怎么改?你懂得~后面來說。

~~~終于說完一個文件,接下來還有一個文件。堅持住,老鐵們~~

 再來看下一個文件 /etc/shadow

user相關的一些命令及用法

/etc/passwd 文件是對用戶的基本信息進行描述,那么/etc/shadow則是對用戶密碼的基本信息進行描述。

這個我們換個用戶,分別以root、zhangsan對比來看,可以看到以‘:’隔開,分為九個部分,下面分別來進行解釋:

user相關的一些命令及用法

user相關的一些命令及用法

第一位:用戶名。root 、zhangsan

第二位:密碼位。咦~這次為啥不是X表示了?來看這個文件的名字,shadow?影子、投影的意思。這么長一串都是密碼嗎?那這用戶得有多自虐啊設置這樣的密碼(哈哈哈)老鐵們也看過不少諜戰戲,一看就是加密的密碼嘍~至于怎么個加密法,不是本章重點就不啰嗦這個了~知道是加密過的密碼就闊以了噻~

第三位:密碼上一次的修改日期(從1970-1-1到修改的時間經過了多少天來表示)為什么從1970年算起呢?因為1970linux誕生的日子啊。看圖,zhangsan用戶為17368天,換算成年,47年。正是今年創建的時間,怎么樣?暈了沒~~

第四位:密碼最小存活期。很簡單,距離你上次修改密碼有幾天你才能進行下一次修改。看圖,root0,則代表你隨時可以修改;zhangsan用戶為2天,如果你現在修改了密碼,那么下次你就要等到兩天后才能修改了。

第五位:密碼最大存活期。與上同理,過了密碼最大存活期,系統會提醒你強制修改密碼了。如圖,zhangsan用戶的密碼最長維持333天。

第六位:密碼過期之前提前多少天提醒用戶(在正確登錄時),這就是智能所在了。有時候我們忘記了密碼什么時候過期了咋辦?沒問題,交給系統來設置。如圖,zhangsan用戶會在密碼過期的前12天會提醒他的。

第七位:密碼過期之后多少天帳戶過期(在正確登錄時)。那如果系統提醒你改密碼了,你死活就是不改,那么抱歉了,過了天數你這個賬戶就過期了。如圖,zhangsan用戶設置的也是12天。

第八位:帳戶過期時間(自1970-1-1到該天經過了多少天來表示)。這個與上同理,就不多解釋了~

第九位:保留位。留給未來寫系統的人的保留位~真的是很有前瞻意識啊~~~

接下來要學習一個新知識了,既然這兩個文件都是跟用戶有關的,那么怎么來創建一個用戶呢?來干貨了~~

 useradd 命令用來創建一個用戶。我們知道一般一個命令都有一些選項,好,列舉一些出來:

             -u  uid username           創建用戶時指定uid(如不指定則Centos6:500-60000, Centos7: 1000-60000)

             -o  -u uid username       創建用戶時指定uid(可以與已存在用戶的uid相同)

             g  groupname username  創建用戶時指定主組為某個已存在的組。(將不會再創建與用戶同名的組)

             -c   “…”   username        創建用戶時指定描述信息。(看清楚,是在創建時候哈~

             -d   path username         指定用戶的家目錄(確保指定的家目錄所在的上級目錄要存在,且家目錄本身不能存在)

             -s   /sbin/nologin username      指定用戶的默認shell

             -G  group1[,group2] username  指定用戶的輔助組

             N  username 設置用戶的主要組為默認組(users,uid=100)

             -r   username 創建系統用戶

看了上面一堆是不是有點眼花,沒關系~來做一個實驗馬上就一目了然了~

想一個題目吧:創建一個用戶Mary,UID6666,設置主組為zhangsan組,注釋信息為“womeima?,默認shell/bin/csh 。怎么樣,是不是超簡單,看本編一條命令搞定(user相關的一些命令及用法

user相關的一些命令及用法

user相關的一些命令及用法

      那我們之前說了。當我們創建用戶時,會自動創建一個與用戶同名的組。當使用-g 選項指定該用戶的主組時,將不會再創建與用戶同名的組,那我們上面例子是不是實現了呢,還差一步來驗證。查看/etc/group文件,該文件時用來存放組的基本信息。

user相關的一些命令及用法


實驗成功~~

 

      那么還有一個問題。有人要問了,我的用戶已經創建了,我想修改信息沒辦法改嗎?開玩笑,linux下啥不行!改!那要用usermod命令了。同樣的,它也有選項,來吧,讓我們暢游在知識的海洋里~~

       usermod  命令用來修改用戶的一些信息

             -u   newuid username      修改用戶的UID

             -o -u newuid username    修改用戶的uid(可以與已存在用戶的uid相同)          

             -aG     加組名,可以追加輔助組而不用覆蓋之前的組

             -G “” username  或 usermod -G primarygroup username 清空用戶所有的輔助組

             -g groupname username     修改用戶的主組

             -s /sbin/nologin username   修改用戶的默認 shell

             -c …  username     修改用戶時指定描述信息。

             -d   /…/path username      修改用戶的家目錄(不會創建,只修改/etc/passwd當中的家目錄信息)

             -m  -d /…/path username   修改用戶的家目錄信息,并將家目錄移動到目的目錄并改名。

             -l  newname oldname         修改用戶名

             -L     給用戶/etc/shadow中的密碼位加!使用戶被鎖定

             -U    解鎖用戶(把!拿掉)

             -e   yyyy-mm-dd    設置一個帳戶過期時間

             -f    days    指定密碼過期之后多少天帳戶過期

挺住~老鐵 ,一個實驗就明白了~

再來一個題:修改zhangsan用戶,UID6688,主組為magedu,注釋信息為“woshizhangsan”,默認shell /sbin/nologin

先來看一下zhangsan用戶現在的信息:

user相關的一些命令及用法

接下來進行修改:

user相關的一些命令及用法

突然覺得zhangsan這個用戶名太俗了,改個名字吧~

useradd  –l  newname  oldname

user相關的一些命令及用法

Ps:看官們發現了,在上面的實驗中,本編使用了 getent passwd username這一命令來查看用戶的信息,除了這條,用戶還可以使用finger username 來查看用戶信息。finger CentOS中默認沒有安裝,用戶可以使用以下這條命令來進行安裝:

rpm –ivh   /run/media/root/CentOS\ 7\ x_86_64/packages package里查找finger的安裝包進行安裝。

eg:用 finger username來查看laowang的信息

user相關的一些命令及用法

另外還有一個與useradd -c “” 設置描述信息命令相似的命令,就是使用chfn username 直接進行修改:

user相關的一些命令及用法

還有一個快速修改用戶密碼的命令:chage
username +
回車進行交互式修改密碼  ,   如圖:

user相關的一些命令及用法

當然chage命令也有一些選項,可以進行單個逐個的修改,在這里不做實驗了,列出了解一下:

  chage -l username     顯示帳戶的密碼信息

                 -d 指定密碼的上次修改時間(輸入天數或yyyy-mm-dd)從1970年算起

                 -d 0 強制用戶下次登陸時修改密碼

                 -E 帳號到期的日期(輸入天數)從1970年算起

                 -I 密碼過期之后多少天密碼失效

                 -m 密碼可更改的最小天數,為零時代表任何時候都可以更改密碼

                 -M 密碼保持有效的最大天數

                 -W 密碼過期前,提前收到警告信息的天數

 

有關user的一些命令與相關用法就總結到這里啦,當然里面也有一些沒有寫到的部分,想起來了在來進行補充。還有與group 相關的一些命令與用法就下次再見了~~

如有錯誤,希望各位路過的看官大神不吝指教,小女子不勝感激~~~

再次筆芯~~~

user相關的一些命令及用法

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

(0)
wanperfectwanperfect
上一篇 2017-07-22
下一篇 2017-07-22

相關推薦

  • 磁盤管理,軟raid,腳本基礎

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; mke2fs -t ext4 -L MYDATA -m 2 /dev/sdb tune2fs -o acl /dev/sdb (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行…

    Linux干貨 2017-10-25
  • shell腳本之變量類型、算數運算符、條件測試

    一、bash中的變量類型     本地變量:僅對當前shell有效,對其子shell無效             變量賦值:name=value      &n…

    Linux干貨 2016-08-15
  • Linux進程管理和計劃任務

    進程管理篇 進程概念 內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、安全功能等 Process: 運行中的程序的一個副本,是被載入內存的一個指令集合     進程ID(Process ID,PID)號碼被用來標記各個進程     UID、GID、和SELinux語…

    Linux干貨 2016-09-17
  • 網卡路由配置信息及偷懶用法

            對于初學Linux的人來說,配置網卡無疑是比較暈的,各種的配置文件,字段、命令等讓人眼花撩亂。所以這一章主要給大多數還在網卡配置路由配置的同學們解惑一、網卡配置基本概念        …

    Linux干貨 2017-05-08
  • 磁盤管理

                             磁盤管理 磁盤管理簡介:   &nbsp…

    2017-04-22
  • 馬哥教育網絡20期+第8周練習博客

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:鏈接層設備,基于MAC地址過濾。 集線器:物理層設備,基本都屬于半雙工模式。集線器與網橋在現在的局域網中基本都不用了。 二層交換機:基本MAC轉發數據,功能齊全的可支持VLAN等功能。常見的有100/1000M、16口/24口/48口。 三層交換機:功能齊全的交換機,具備都…

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