用戶與組管理

linux系統當中的用戶:
linux

    用戶是linux系統上身份的標識,不一樣身份的用戶權限也有所不一樣,有些用戶是來完成特定任務,如系統用戶,他們一般都不能登陸到系統,在後臺默默運行
算法


UID:用戶標識符,1-65535shell

linux系統用戶分類:centos

    管理員:默認root用戶爲管理員,UID爲0
安全

    普通用戶:1-65535
bash

        系統用戶:1-499(CentOS 6), 1-999(CentOS 7)
編輯器

        通常用於守護某個特定的進程
ide

        登陸用戶:500+(CentOS 6),1000+(CentOS 7)
ui

        交互式登陸系統
加密


GID:組標識符

linux組:用戶的集合,將多個用戶分配在一個組裏,統一管理,權限分配等。

    管理員組:root,GID爲0

    普通組:1-65535

        系統組:1-499(CentOS 6),1-999(CentOS 7)

        普通組:500+(CentOS 6),1-999(CentOS 7)

    組類別:

        用戶的主要組:在建立用戶是會默認建立一個與用戶名同名的組,組內只包含此用戶一個,私有組

       用戶的附加組:用戶可屬於多個輔助組


linux安全上下文:

    運行當中的程序叫作進程,當用戶發起一個進程,進程的屬主是發起此進程的用戶,而不是程序自己的屬主。進程可以訪問某資源的權限取決於發起此進程的用戶的權限

    已發起者的身份運行:如/bin/cat程序的屬主屬組爲root,zhai用戶發起這個進程,那麼此進程就以zhai用戶的身份運行,並以zhai的身份去訪問某資源



linux用戶和組的配置文件:

    /etc/passwd:存放系統上每一個用戶的屬性信息

        Login Name:登陸用戶名

        passwd:密碼,默認爲x

        UID:用戶惟一標識符

        GID:用戶所屬的組的GID

        Common:註釋信息

        Home Directory:用戶所在的家目錄,默認在/home目錄下

        Shell:用戶的shell程序,默認爲/bin/bash

    /etc/shadow:存放每一個用戶的密碼信息以及關於密碼的一些策略

        Login Name:用戶登陸名

         Enctypted Passwd:用戶的密碼

        date of last password change:最近一次密碼更改時間 

        Minimum password age:密碼最少使用期限

        Maximum password age:密碼最長使用期限

        Passwrod warning period:密碼警告期限,密碼過時前n天提醒用戶修改密碼

        Password inactivity period:密碼活動週期,密碼過時後幾天將帳戶鎖定

        Account expiration date:密碼過時時間,明確指定密碼週期

    密碼加密:

        對稱加密:加密和解密使用同一個密碼

        非對稱加密:加密和解密使用一對密鑰

            公鑰:Public key

            私鑰:private key

        單向加密:只能加密,不能解密:提取數據特徵碼

            定長輸出;雪崩效應

         常見的算法有:

            md5,sha,sha224,sha256,sha384,sha512

        更改加密算法:authconfig --passalgo=sha256 --update

    密碼複雜性策略:

        1.最好很差低於8位

        2.使用隨機數做爲密碼

        3.要按期更換

         4.使用數字、大小寫字母、及特殊字符至少三種以上

    

    /etc/group:存放組基本的屬性信息

        Group Name:組名稱

        group passwd:組密碼,通常記錄在/etc/gshadow文件中

        GID:組的GID

        user list:組中包含的用戶列表

    /etc/gshadow:存放組的密碼相關信息

        Group Name:組名稱

        Group Passwd:加密過的羣組密碼

        Aadministrators:組管理員列表

        user list:組中包含的用戶列表


關於配置文件的相關命令:

    vipw:編輯用戶相關配置文件,相似於vi編輯器

    wKiom1ef_9-y8qvpAAAXLPiKaYA005.png

    vigr:編輯組相關配置文件

    wKioL1egACTA1hoUAAAPLQ7sDc8717.png

    pwck:檢查用戶相關配置文件完整性wKiom1egAISzoFaPAAAecuBWbUE530.png

    grpck:檢查組相關配置文件的完整性:

    wKiom1egAPbAN2JtAAAH2bChiKc931.png



用戶管理相關命令:

    useradd:用於建立用戶

    useradd [OPTIONS...] USERNAME

        -u UID:指定用戶的:UID

        -g GID:指定用戶的基本組(基本組必須存在)

        -G GROUP1,GROUP2:指定用戶的附加組(附加組必須存在)

        -d /PATH/TO/HOME:指定用戶的家目錄

        -s /SHELLS:指定用戶的shell

        -c 'COMMON':用戶註釋信息

        -r:建立系統用戶

        -N:不建立用戶的基本組,默認使用users組作基本組

        -o:不檢查UID的惟一性

        -D:顯示或更改默認設置

wKioL1egBLTyG7mDAAAzNb2WG-A363.png

    getent passwd USERNAME:可單獨列出某一用戶的屬性信息

wKiom1egA8PwxVl_AAAVR9RziKY690.png

練習:

    

一、建立用戶gentoo,附加組爲bin和root,默認shell爲/bin/csh,註釋信息爲"Gentoo Distribution"

wKioL1egBmfQNZMpAAAUmvdPpxo232.png

二、建立下面的用戶、組和組成員關係

名字爲admins 的組

用戶natasha,使用admins 做爲附屬組

用戶harry,也使用admins 做爲附屬組

用戶sarah,不可交互登陸系統,且不是admins 的成員,natasha,harry,sarah密碼都是centos

wKioL1egBzDyKdYoAAArRQ0FjfI631.png



新建用戶的默認配置文件:

    /etc/default/useradd:建立用戶是的默認屬性信息

    /etc/skel/*:用戶默認家目錄下的文件

    /etc/login.defs:影子文件默認配置信息


批量建立用戶:newusers passwd格式的文件

    wKiom1egCQii13MwAABcgRJ7nsE442.png批量修改用戶密碼:cat passwd.txt | chpasswd

wKiom1egCxnBjbQWAABor_zsl1s149.png


usermod:用戶屬性修改

    usermod [OPTIONS...] USERNAMEY

        -u UID:新的UID

        -g GID:新的GID

        -a -G GROUP1,GROUP2:新的附加組

        -s SHELL:新的shell

        -d /HOME:指定新的家目錄

        -l NEWNAME:修改用戶的用戶名稱

        -c "COMMON":修改用戶註釋信息

        -L:鎖定用戶,在/etc/shadow密碼處增長!

        -U:解鎖用戶,和-L相反

        -e YYYY-MM-DD:指明帳戶過時時間

        -f INATIVITY:設定非活動期限

wKiom1egEbnStxcMAAAapGmI0og769.png


userdel:刪除用戶

    userdel [OPTIONS] USERNAME

        -r:同時刪除用戶家目錄

wKiom1egEiTjB0a2AAAMMY7P-xY751.png

id:查看用戶id相關信息

    id [OPTIONS...] USERNAME

        -u:查看UID

        -g:查看GID

        -G:查看附屬組

        -n:顯示名稱

wKioL1egEufCZgPnAAAUlHyS5ss921.png


su:切換用戶或以其餘用戶身份執行命

    su [OPTIONS...] [-] USER

    su USERNAME:半切換,不會讀取目標用戶的配置文件,不改變當前工做路徑

wKioL1egFSijnJ2KAAAHNMrBfZk478.png

    su - USERNAME:切換式登陸,會讀取目標用戶的配置文件,將工做路徑切換至目標用戶的加密目錄,徹底切換

wKiom1egFUujbHBuAAAJAsmNe6s611.png

    su -l USERNAME 至關於 su - USERNAME

    注意:管理員切換至普通用戶不須要密碼,而普通用戶切換至管理員須要密碼

wKioL1egFXLC3HLaAAAGGpZwTFo306.png

    su [-] USERNAME -c "COMMAND":以USERNAME用戶的身份運行COMMAND

wKiom1egFaXzSFGkAAAKUHjPyow010.png


passwd:修改用戶密碼屬性

    passwd [OPTIONS...] USERNAME

        -l:鎖定用戶,在/etc/shadow密碼處添加!

        -u:解鎖用戶,與-l相反

        -S:查看用戶密碼狀態

wKioL1egGFfBoeEyAAAYxP8PlQs747.png

        -d:清楚指定用戶的密碼

wKiom1egHsij7Cu4AAAus8hFDg0141.png

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

        -x maxdays:最大使用期限

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

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

        -i INACTIVEDAYS:非活動期限

        --stdin:從標準輸入設置密碼

          echo "centos" | passwd --stdin USERNAME

wKiom1egHw-Qw_bjAAAf53KwT-Y685.png


chage:修改用戶密碼策略

    chage [OPTIONS..] USERNAME

        -d LAST_DAY

        -E, --expiredateEXPIRE_DATE

        -I, --inactive INACTIVE

        -m, --mindaysMIN_DAYS

        -M, --maxdaysMAX_DAYS

        -W, --warndaysWARN_DAYS

        –l:顯示密碼策略

wKiom1egH7yRTVGAAAATBYZvPmw319.png


chfn:指定用戶我的信息

finger:查看用戶我的信息

wKioL1egIH2xNASTAAA15P-3kZ8727.png


chsh:修改用戶的shell

wKiom1egIQGjpy5rAAAl_RTNiwc215.png


組管理命令:

groupadd:建立組

    groupadd [OPTIONS...] GROUPNAME

        -r:建立系統組

        -g GID:指定組的GID

    getent group GROUPNAME:可查看指定組的相關信息

    groups USER:查看用戶USER屬於哪些組

    wKiom1egIb6CCSKaAAAHnqFZAf8685.png


groupmod:修改組屬性

    groupadd [OPTIONS...] GROUPNAME

        -g GID:修改組的GID

        -n NEWGROUP:修改組名

    wKioL1egIkDzCefaAAAIXiFYITk588.png


groupdel:刪除組

    groupadel GROUPNAME

    wKiom1egIpDysqZIAAAQui60Z2s671.png


gpasswd:修改組密碼

    gpasswd [OPTIONS...] GROUPNAME

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

        -d USER:將user從指定組中刪除

wKioL1egJV_jTcXEAAASsXvR3KM548.png

        -A USER1,USER2:設置有管理權限的用戶列表

    newgrp:臨時切換基本組,若是用戶自己不屬於這個組,則須要密碼

wKiom1egJEyxU2niAAAJEq5UY3w098.png


groupmems:更改查看組成員

    grupmems [OPTIONS...] GROUPNAME

        -l:顯示指定組成員

        -g GROUPNAME:指定組

        -a USER:將USER用戶添加至指定組

        -d USER:將USER用戶從指定組中刪除

        -p:清除組中全部成員

wKiom1egJrGiGFC4AAASRatxd_g781.png

相關文章
相關標籤/搜索