1. /etc/passwd文件詳解
輸入vi /etc/passwd 可以查看此文件的內容
[root@localhost ~]# vi /etc/passwdroot:x:0:0:root:/root:/bin/bash root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin
每行保存了一個用戶的詳細信息,查看此服務器有多少賬號:
[root@localhost~]> cat /etc/passwd | wc -l38
則代表本機一共有38個賬號
Passwd文件由許多條記錄組成,每條記錄占一行,記錄了一個用戶帳號的所有信息。每條記錄由7個字段組成,字段間用冒號“:”隔開,其格式如下:
username:password:User ID:Group ID:comment:home directory:shell
字段含義:
-
1.username
它唯一地標識了一個用戶帳號,用戶在登錄時使用的就是它。 -
2.password
加密之后的用戶密碼 -
3.userId
用戶id。0是系統管理員賬號,1-499是系統保留賬號,500+即一般賬號(centos6,cenos 7 為1000+) -
4.groupId
用戶組id -
5.comment
用戶相關注釋 -
6.home directory
用戶家目錄 -
7.login command
用戶登錄自動執行腳本。指定為系統的sbin/nologin時,用戶無法登陸
關于系統賬號:
系統中還有一些默認的帳號(1-500),如daemon、bin等。這些帳號有著特殊的用途,一般用于進行系統管理。這些帳號的口令大部分用(x)號表示,代表它們不能在登錄時使用。
/etc/shadow文件詳解
這個文件單獨保存用戶的密碼相關信息. 文件的大致形式如此:
wyf:$6$Jhodyovx$wgT7....Lf0:0:3:10:3:0:: ntp:!!:17092:::::: mysql:!!:17094:::::: natasha:!!:17095:0:99999:7::: harry:!!:17095:0:99999:7:::
以:分割,有九個欄位:
-
用戶名
-
密碼
用戶的真正密碼保存處。當這個欄位為‘*’或是'!'表示這個用戶不會被用來登陸,一般來說,‘*’代表系統服務用戶 -
最近更改密碼的日期
這個欄位記錄了‘更動密碼的那一天’的日期。以 1970 年 1 月 1 日作為起始到如今的天數。 -
密碼不可被變動的天數
如果為0,表示密碼隨時可以更動的意思。如果設定為 20 天的話,那么當你設定了密碼之后, 20 天之內都無法改變這個密碼。 -
密碼需要重新變更的天數
必須要在這個時間之內重新設定你的密碼,否則這個帳號將會暫時失效。如果是99999,密碼則不需要重新變更。 -
密碼需要變更期限前的警告期限
-
.密碼過期的恕限時間
當密碼失效后,你還可以用這個密碼在 n 天內進行登入。如果過了這個期限還是沒有重新更改密碼,則賬號失效,無法登入。 -
帳號失效日期
這個欄位表示: 這個帳號在此欄位規定的日期之后,將無法再使用。 這個欄位會被使用通常應該是在‘收費服務’的系統中, 你可以規定一個日期讓該帳號不能再使用 -
保留
最后一個欄位是保留的,看以后有沒有新功能加入。
舉個離子:
dmtsai:$1$8zdAKdfC$XDa8eSus2I7nQL7UjRsIy/:13025:5:60:7:2:13125:
1.最近一次更動密碼的日期是 2005/08/30 (13025);
2.能夠修改密碼的時間是 5 天以后
3. 使用者必須要在 2005/09/04 到 2005/10/29 之間的 60 天限制內去修改自己的密碼,若 2005/10/29 之后還是沒有變更密碼時,該帳號就會宣告失效;
4.如果使用者一直沒有更改密碼,那么在 2005/10/29 之前的 7 天內,系統會警告 dmtsai 應該修改密碼的相關資訊
5.如果該帳號一直到 2005/10/29 都沒有更改密碼,由于還有兩天的恕限時間,因此, dmtsai 還是可以在 2005/10/31 以前繼續登入
6.如果使用者在 2005/10/29 以前變更過密碼,那么那個 13025 的日期就會跟著改變,因此, 所有的限制日期也會跟著相對變動
7.無論使用者如何動作,到了 13125 ,大約是 2005/12/8 左右,該帳號就失效了
/etc/group文件詳解
Linux /etc/group文件與/etc/passwd和/etc/shadow文件都是有關于系統管理員對用戶和用戶組管理時相關的文件。linux /etc/group文件是有關于系統管理員對用戶和用戶組管理的文件,linux用戶組的所有信息都存放在/etc/group文件中。
將用戶分組是Linux系統中對用戶進行管理及控制訪問權限的一種手段。每個用戶都屬于某個用戶組;一個組中可以有多個用戶,一個用戶也可以屬于不 同的組。當一個用戶同時是多個組中的成員時,在/etc/passwd文件中記錄的是用戶所屬的主組,也就是登錄時所屬的默認組,而其他組稱為附加組。
用戶組的所有信息都存放在/etc/group文件中。此文件的格式是由冒號(:)隔開若干個字段,這些字段具體如下:
-
組名
祖名不能重復 -
口令
口令字段存放的是用戶組加密后的口令字。一般Linux系統的用戶組都沒有口令,即這個字段一般為空,或者是*。 -
組標識號
組標識號與用戶標識號類似,也是一個整數,被系統內部用來標識組。別稱GID -
組內用戶列表
是屬于這個組的所有用戶的列表,不同用戶之間用逗號(,)分隔。這個用戶組可能是用戶的主組,也可能是附加組
文件內容:
[root@localhost test6]# cat /etc/grouproot:x:0:root,linuxsir bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin
/etc/group文件詳解
/etc/gshadow是/etc/group的加密資訊文件,比如用戶組(Group)管理密碼就是存放在這個文件。
/etc/gshadow和/etc/group是互補的兩個文件;對于大型服務器,針對很多用戶和組,定制一些關系結構比較復雜的權限模型,設置用戶組密碼是極有必要的。
比如我們不想讓一些非用戶組成員永久擁有用戶組的權限和特性,這時我們可以通過密碼驗證的方式來讓某些用戶臨時擁有一些用戶組特性,這時就要用到用戶組密碼。
[root@localhost~]> cat /etc/gshadow root:::harry,root bin:::bin,daemon daemon:::bin,daemon sys:::bin,adm
組名:口令:組管理者:組內用戶列表
-
組名
-
口令:用戶組密碼,這個段可以是空的或!,如果是空的或有!,表示沒有密碼
-
組管理者:這個字段也可為空,如果有多個用戶組管理者,用,號分割
-
組內用戶列表:如果有多個成員,用,號分割 ;
用戶組之間的切換,應該用 newgrp ,這個有點象用戶之間切換的su ;我先舉個例子:
[beinan@localhost ~]$ newgrp linuxsir
[beinan@localhost ~]$ mkdir lingroup [beinan@localhost ~]$ ls -ld lingroup/ drwxr-xr-x 2 beinan linuxsir 4096 10月 18 15:56 lingroup/ [beinan@localhost ~]$ newgrp beinan [beinan@localhost ~]$ mkdir beinangrouptest [beinan@localhost ~]$ ls -ld beinangrouptest drwxrwxr-x 2 beinan beinan 4096 10月 18 15:56 beinangrouptest
可以看到,切換分組之后,創建出來的文件所屬組發生了變化。
/etc/group文件詳解
在/etc/default/useradd文件為設置添加的用戶規則文件
[root@localhost~]> cat /etc/default/useradd# useradd defaults file#用戶組idGROUP=100#用戶家目錄路徑HOME=/home#是否啟用帳號過期停權,-1表示不啟用INACTIVE=-1#帳號終止日期,不設置表示不啟用。EXPIRE=#所用SHELL的類型SHELL=/bin/bash#默認添加用戶的目錄默認文件存放位置。也就是說,當用戶用useradd添加用戶時,用戶主目錄下的文件都是從這個目錄中復制的。SKEL=/etc/skel#是否創建用戶郵件緩沖,yes表示創建CREATE_MAIL_SPOOL=yes
/etc/gshadow文件詳解
etc/login.defs 是設置用戶帳號限制的文件。該文件里的配置對root用戶無效。
如果/etc/shadow文件里有相同的選項,則以/etc/shadow里的設置為準,也就是說/etc/shadow的配置優先級高于/etc/login.defs
# *REQUIRED* required # Directory where mailboxes reside, _or_ name of file, relative to the # home directory. If you _do_ define both, MAIL_DIR takes precedence. # QMAIL_DIR is for Qmail # #QMAIL_DIR Maildir MAIL_DIR /var/spool/mail #創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件 #MAIL_FILE .mail # Password aging controls: # # PASS_MAX_DAYS Maximum number of days a password may be used. # PASS_MIN_DAYS Minimum number of days allowed between password changes. # PASS_MIN_LEN Minimum acceptable password length. # PASS_WARN_AGE Number of days warning given before a password expires. # PASS_MAX_DAYS 99999 #密碼最大有效期 PASS_MIN_DAYS 0 #兩次修改密碼的最小間隔時間 PASS_MIN_LEN 5 #密碼最小長度,對于root無效 PASS_WARN_AGE 7 #密碼過期前多少天開始提示 # # Min/max values for automatic uid selection in useradd #創建用戶時不指定UID的話自動UID的范圍 UID_MIN 500 #用戶ID的最小值 UID_MAX 60000 #用戶ID的最大值 # # Min/max values for automatic gid selection in groupadd #自動組ID的范圍 GID_MIN 500 #組ID的最小值 GID_MAX 60000 #組ID的最大值 # # If defined, this command is run when removing a user. # It should remove any at/cron/print jobs etc. owned by # the user to be removed (passed as the first argument). # #USERDEL_CMD /usr/sbin/userdel_local #當刪除用戶的時候執行的腳本 # # If useradd should create home directories for users by default # On RH systems, we do. This option is overridden with the -m flag on # useradd command line. # CREATE_HOME yes #使用useradd的時候是夠創建用戶目錄 # The permission mask is initialized to this value. If not specified, # the permission mask will be initialized to 022. UMASK 077 # This enables userdel to remove user groups if no members exist. # USERGROUPS_ENAB yes #用MD5加密密碼
原創文章,作者:21期王逸凡,如若轉載,請注明出處:http://www.www58058.com/53727