用戶和組管理

Linux用戶和用戶組管理

  Linux是個多用戶多任務的分時操作系統,所有要使用系統資源的用戶必須向系統管理員申請一個賬號,然后以這個身份進入系統。用戶登陸系統是也是一種驗證方式,系統通過用戶的UID(Username IDentification)這種機制來識別用戶的身份和權限。每個用戶賬號都是唯一的用戶名和用戶口令。用戶在登陸時鍵入正確的用戶名和口令才能進入系統和自己的家目錄。Linux用戶分為管理員和普通用戶。普通用戶又分為系統用戶和登陸用戶。管理員的UID為0,系統用戶的UID為CentOS6:1-499 登陸用戶UID為500-60000. CentOS7系統用戶為1-999 登陸用戶為1000-60000。

Linux用戶和組的主要配置文件:

/etc/passwd:#用戶及其屬性信息(名稱、UID、主組ID等)

[root@localhost ~]# whatis passwd #查看passwd章節號
sslpasswd (1ssl)     - compute password hashes
passwd (1)           - update user's authentication tokens
passwd (5)           - password file #5章節為配置章節
[root@localhost ~]# man 5 passwd
......

name:password:UID:GID:GECOS:directory:shell  #用":"分為7個主要信息

#用戶名密碼占位符用戶ID用戶主組ID注釋信息家目錄默認shell

…..

/etc/group:組及其屬性信息

組的主要信息有同":"為4個主要信息

root:x:0:   #組用戶密碼占位符GUI用戶列表

/etc/shadow:用戶密碼及其相關屬性

[root@localhost ~]# whatis shadow #查看章節號
shadow (3)           - encrypted password file routines
shadow (5)           - shadowed password file
[root@localhost ~]# head -1 /etc/shadow

#用:分9個字段,每個字段的信息如下

root:$6$dGARWYghrvhD9W7P$4af2uw8A4tHvNLe2F6bDrk0J69dt.uYoV4SneKG4kzIsc/nF3JpfnuHg7D5lVE.jxC3p6.K29FCjwtom9VXWf.::0:99999:7:::

 #用戶名:$#(算法)$salt(雜質)$密碼占位符:從1970年1月1日起到密碼最近一次被更改的時間:密碼再過幾天

可以被變更(0表示隨時可被變更):密碼再過幾天必須被變更(99999表示永不過期):密碼過期前

幾天系統提醒用戶(默認為一周):密碼過期幾天后帳號會被鎖定:從1970年1月1日算起,多少天后帳號失效:保留

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

root::: 4個分組

組名組密碼組管理員組的用戶列表

  Linux用戶賬號的管理

用戶的管理用到用戶的添加、刪除和修改等操作。

useradd或adduser:添加用戶或更改默認新用戶信息 

語法 

 useradd [options] LOGIN #創建用戶
       useradd -D #查看創建用戶的默認屬性
       useradd -D [options] #修改新建用戶默認屬性

常用參數

          -u --uid UID  #指定新用戶UID
          -o, --non-unique #不檢測現存UID,創建相同UID的新用戶  ou同用居多
          -g, --gid GROUP:#指定基本組ID; 
          -G, --groups,GROUP1[,GROUP2... [,GROUPN]]:#指明用戶所屬的附加組,多個組之間用逗號分隔
          -c,--comment COMMENT:  #添加注釋信息:
          -d, --home HOME_DIR:# 以指定的路徑為用戶的家目錄;
          -s,--shell SHELL: #指定用戶的默認shell,可用的所有shell列表為/etc/shells文件
          -r, --system:#創建系統用戶
          -M #不創建主目錄
          -N, --no-user-group #不創建私有組,還有user組做主組
          -p, --password #創建新用戶時,設置密碼
          -f, --inactive INACTIVE # 禁用啟用賬戶 -1啟用 0禁用
 
例如: 創建用戶gentoo,UID為5000,附加組為bin和root,默認shell為/bin/csh,注釋信息為"Gentoo Distribution"

[root@localhost ~]# useradd -u 5000 -G bin,root -s /bin/csh -c "Gentoo Distribtution" gentoo
[root@localhost ~]# tail -1 /etc/passwd
gentoo:x:5000:5000:Gentoo Distribtution:/home/gentoo:/bin/csh #gentoo的信息

[root@localhost ~]# useradd -D #顯示useradd默認用戶配置
GROUP=100 #當不創建主組是用的的主組是UID的user組
HOME=/home #默認家目錄
INACTIVE=-1 #不禁用賬戶 -f
EXPIRE=   #過期時間空為永不過期
SHELL=/bin/bash #默認shell
SKEL=/etc/skel #配置文件路徑
CREATE_MAIL_SPOOL=yes  #默認創建郵箱

usermod:更改用戶屬性

語法

usermod [options] LOGIN 

常用選項

-u, --uid UID #修改用戶的ID為此處指定的新UID
              -g, --gid GROUP #修改用戶所屬的基本組
              -G, --groups GROUP1[,GROUP2,...[,GROUPN]]] #修改用戶的附加組,原來的附加組會被覆蓋 a要放在G的前面
              -a, --append:#與-G一同使用,為用戶添加新的附加組;
              -c, --comment COMMENT  #修改注釋信息
              -d, --home HOME_DIR  #修改用戶的家目錄:用戶原有的文件不會被移動到新的位置
              -m, --move-home #只能與-d選項一同使用,用于將原來的家目錄移動為新的家目錄,所有原有的文件予以保留。
              -l, --login NEW_LOGIN #修改用戶名
              -s, --shell SHELL #修改用戶的shell為指定shell
              -L, --lock #鎖定用戶密碼:即在用戶原來的密碼字符串之前添加一個“!”
              -U, --unlock #解鎖用戶的密碼

例如 修改用戶gentoo的UID為5001,更改用戶的基本組為tty,默認shell改為/bin/dash,家目錄為/var/Archilinux,更改用戶名為Archilinux,注釋信息為"Archilinux Distribution Now

[root@localhost ~]# usermod -u 5001 -g tty -s /bin/dash -d /var/Archilinux -l Archilinux -c "Archilinux Distribution Now" gentoo
[root@localhost ~]# getent passwd Archilinux
Archilinux:x:5001:5:Archilinux Distribution Now:/var/Archilinux:/bin/dash #改成Archilinux的原gentoo用戶信息

 

usermod:刪除用戶

語法

  userdel [options] LOGIN

常用選項

  -r: 刪除用戶家目錄

 linux安全上下文:運行中的程序叫做進程,進程所能夠訪問資源的權限取決于進程運行者的身份,root用戶和普通用戶使用同一個命令,能夠做的操作權限是不相同的!

   

 如果有很多用戶需要同樣的權限時,管理用戶和設定權限就很麻煩,所有就有了組的概念。每個系統都有組的概念,它能讓系統更好的管理用戶的權限和資源。組也可以說是用戶的容器。

 組分為系統組和普通組,GID和UID相同概念。普通組分為私有組和附加組,每個用戶在創建時一般都會默認創建和自己同名的私有組,私有組只能有一個。一個用戶也可以零或多個的附加組。

groupadd :創建新組

語法 

groupadd [options] group

常用選項

-g GID: #指明GID號
-r: #創建系統組
-p:#指定組密碼
-o:#不檢車現存GID,創建相同的GID 和og通用

例如

[root@localhost ~]# groupadd -g 10000 -r goodluck #創建GID為10000的系統組goodluck
[root@localhost ~]# tail -1 /etc/group
goodluck:x:10000:   #顯示組

groupmod : 修改組屬性

語法  

groupmod [options] GROUP

常用選項

-g, --gid GID #修改GID
-n, --new-name NEW_GROUP #組重命名
-o, --non-unique #修改GID為不唯一

例如

[root@localhost ~]# groupmod -g 10001 -n goodlook goodluck #更改GID為10001 改名goodlook
[root@localhost ~]# tail -1 /etc/group
goodlook:x:10001: #顯示結果

groupdel 刪除組 沒有太多選項

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

選項

-d:#刪除密碼,僅有系統管理者才能使用;

-f:#強制執行;

-k:#設置只有在密碼過期失效后,方能更新;

-l:#鎖住密碼; 

-s:#列出密碼的相關信息,僅有系統管理者才能使用;

-u:#解開已上鎖的帳號。

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

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

–stdin:#從標準輸入接收用戶密碼;

[root@localhost ~]# echo "123456" |passwd --stdin root #使用管道更改密碼
Changing password for user root.
passwd: all authentication tokens updated successfully.

chage 修改密碼有效期限

語法

chage[OPTION]… LOGIN

常用選項

-d, --lastday LAST_DAY #上一次密碼更改日期
-E, --expiredate EXPIRE_DATE #密碼的過期時間
-I, --inactive INACTIVE #賬號的非活動期限
-m, --mindays MIN_DAYS #密碼的最小有期限
-M, --maxdays MAX_DAYS #密碼的最大有期限
-W, --warndays WARN_DAYS #密碼的警告期限
-l, --list #列出用戶密碼等信息
-1
也可在/etc/login.defs修改創建用戶默認的值
PASS_MAX_DAYS99999 #最大有效日期
PASS_MIN_DAYS0   #最小有效日期 0表示用不過期
PASS_MIN_LEN5   #密碼的最小長度
PASS_WARN_AGE7  #密碼的警告日期

示例

[root@localhost /]# chage -l root #顯示root的密碼的信息
Last password change: Jul 26, 2016 
Password expires: never
Password inactive: never
Account expires: never
Minimum number of days between password change: 0
Maximum number of days between password change: 99999
Number of days of warning before password expires: 7

groupmems 管理用戶的主要成員

語法

groupmems -a user_name | -d user_name | [-g group_name] |

                 -l | -p 

常用選項

-a, --add user_name #新增用戶到當前用戶的組
-d, --delete user_name#刪除用戶于當前的組
-g, --group group_name#更改組名
-l, --list #列出組成員
-p, --purge #清空組成員
[root@localhost ~]# groupmems -a linux #新加linux用戶到組
[root@localhost ~]# groupmems -a gentoo #新加gentoo用戶到組
[root@localhost ~]# groupmems -l #列出組成員
linux  gentoo  #成員
[root@localhost ~]# groupmems -p #清空組成員
[root@localhost ~]# groupmems -l #查看組成員顯示為空

groups 顯示用戶所屬組

語法

groups [OPTION]… [USERNAME]…

[root@localhost ~]# groupmems -a linux #新增用戶到組
[root@localhost ~]# groups root 顯示root用戶的組
root : root # 用戶:組
[root@localhost ~]# groups linux #顯示linux所屬的組
linux : linux root #它有兩個組,linux、root組

chgrp 用來改變文件或目錄所屬的用戶組

語法

chgrp [OPTION]… GROUP FILE…

chgrp [OPTION]… –reference=RFILE FILE…

常用選項

-c, –changes #顯示更改過程

-R, –recursive #遞歸更改,當更改為父目錄是,子目錄及文件都更改

–reference=RFILE #參照其他文件或目錄

例如

[root@localhost testdir]# ll -d /testdir #顯示目錄屬性
drwxr-xr-x 2 root root 6 Aug  6 14:44 /testdir
[root@localhost testdir]# chgrp -v Cloud /testdir #更改目錄組
changed group of ‘/testdir’ from root to Cloud #顯示更改過程
[root@localhost testdir]# ll -d #顯示更改組
drwxr-xr-x 2 root Cloud 6 Aug  6 14:43 .

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

(0)
ladsdmladsdm
上一篇 2016-08-07
下一篇 2016-08-07

相關推薦

  • 高可用keepalived結合haproxy代理WordPress(動靜分離)

    (1)A  B兩臺服務器做keepalived高可用,同時作為haproxy動靜分離后端代理。         (keepalived時主備模型,haproxy輪詢調度) (2)C 服務器搭建apache作為動態資源服務器 (3)D 服務器搭建nginx作為靜態資源服務器 (4)VIP:172.18.0.42…

    2017-05-20
  • 優云云監控:先定一個運維小目標,比方監控它10000臺主機

    “想做世界最好是對的,但是最好先定一個能達到的小目標,比方說我先掙它一個億。”,王首富云淡風輕地給各行各業提供了一個很好的Roadmap,包括我們運維。的確,如今數據中心的規模增長速度也已像一匹脫韁的野馬,各地都頻頻建設起超大型數據中心。按工信部的定義,超大型是指規模大于等于一萬個標準機架的數據中心,考慮到虛擬化技術的使用,實際上需要運維的主機規模很容易超過…

    系統運維 2016-12-05
  • 二、(1)Linux常用文件管理類命令詳解

    Linux 文件管理 命令 cp mv rm

    2018-01-08
  • MySQL管理應用入門(一)

    什么是數據庫? 數據庫(Database)是按照數據結構來組織、存儲和管理數據的建立在計算機存儲設備上的倉庫。 簡單來說是本身可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。 在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的“倉庫”,并根據管理的需要進行相應的處理。 例如, 企業或事業單位的人事部…

    Linux干貨 2017-07-08
  • 數據結構知識點(list,tuple,冒泡法)

    分類 數值型 int、float、complex、bool 序列對象 字符串str、列表list、tuple 鍵值對 集合set、字典dict 數值型 complex:有實數和虛數部分組成 float:有整數和小數組成。只有雙精度 類型轉換 int(X) 返回一個整數 float(x) 返回一個浮點數 complex(x)、complex(x,y) 返回一個…

    2017-09-25
  • Mysql之主從復制

    Mysql之主從復制 節點一 修改配置文件設置唯一ID開起二進制日志 [root@node1 ~]# vim /etc/my.cnf 增加以下內容     [mysqld]     log-bin=master_bin &nbsp…

    Linux干貨 2016-07-19
欧美性久久久久