linux用戶和組管理

在Linux系統上,用戶管理是基於用戶名和密碼的方式進行資源的分配,Linux上的用戶分爲以下類別:

    管理員:root UID 0

    普通用戶:1-65535

        系統用戶:1-999 對守護進程獲取資源進行權限分配

        登錄用戶:1000+ 通過交互式方式登錄

組group

    管理員組;root GID 0

    普通組:1-65535,普通組又分爲:

        系統組:1-999

        一般組:1000+,而一般組分爲:

        基本組:也叫私有組,創建用戶時,如果沒有指定其所屬的組,系統自動爲期創建一個與用戶同名的組,用戶必須屬於一個且只有一個基本組,組名同用戶名,且僅包含一個用戶

        附加組:也叫額外組,默認組以外的其他組,一個用戶可以屬於零個或多個附加組


安全上下文

    運行中的程序:進程(process),以進程發起者的身份運行:

root: /bin/cat

hadoop:/bin/cat

    進程所能夠防僞資源的權限取決於進程的運行者的身份


passwd文件格式

    可以通過man 5  passwd來查看對應的配置文件的幫助信息,經過查詢可以得知passwd的文件格式,它是由冒號分隔的七個段組成的,分別是:

    account:登錄用戶名 

    passwd:密碼 

    UID:用戶的身份編號

    GID:默認所在組編號

    comment:註釋信息

    Homedir:用戶家目錄

    shell:用戶默認shell


wKiom1eclajAKkRgAABZjzSfdCs373.jpg-wh_50


group文件格式

    經過man幫助可以查詢到文件格式,格式如下:

    groupname:組名

    gpasswd:組密碼

    GID:組的身份編號

    附加組:

wKiom1ecl3LgCk5IAAAok4-cVIU736.jpg-wh_50

gshadow文件格式

    羣組名

    羣組密碼

    組管理員列表:組管理員列表,更改組密碼和成員

    以當前組爲附加組的用戶列表,多個用戶之間用逗號分隔

wKiom1edrRPyqK2QAAAl3d9cp9w619.jpg-wh_50


shadow文件格式

    同樣也可以使用man幫助來查詢shadow文件的格式,格式如下:

    account:登錄名

    encrypte passwd:加密後的密碼

    從1970年1月1日起到密碼最近一次被更改的時間

    密碼不可更改的時間,兩次密碼修改的時間間隔,0表示可以立即可以改

    密碼保持最大有效天數,到了這個時間就必須要改密碼

    密碼過期的警告時間,密碼過期前幾天系統會提醒用戶更改密碼(默認是一週)

    密碼過期賬號鎖定的天數

    從1970年1月1日起,多少天后賬號失效

    保留項


密碼加密機制

    加密:明文—>密文

    解密:密文—>明文

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

    公鑰加密:每個密碼都成對出現,一個爲公鑰,一個爲私鑰

    單項加密散列加密:提取數據特徵碼長用戶數據完整性校驗

    單項加密有如下的特點:

    雪崩效應

    定長輸出

    算法通常有:

    MD5 128位定長輸出

    SHA1:secure  hash algorithm 160位定長輸出

    sha224:224位

    sha256

    sha384

    sha512

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


密碼的複雜性策略

    使用數字、大小寫字母、以及特殊字符中至少3種

    足夠長

    使用隨機密碼

    定期更換,不要使用最近曾經使用過的密碼

       

密碼期限

wKioL1ecnmbzqh-eAABdv9i2iXY295.png-wh_50


  用戶和組管理命令

    用戶管理命令

    useradd:添加用戶

    useradd [options] username

    -u:指定uid

    useradd -u 1050 user1

    -g GID(基本組) 指定用戶基本組  ,可以寫組名也可以寫GID

    useradd -g  hadoop  user2

    -G:GID(附加組)指定用戶附加組

    useradd -G  dockr  user3

    -c:"comment"註釋信息

    useradd -c “the user is datebase user” mysql

    -d:HOME_dir 指定用戶家目錄

    useradd -d  /tmp/user4   user4

    -s:指定用戶所使用的shell

    useradd -s  /bin/csh user5

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

    useradd -N  user6

    -m:新建用戶時創建家目錄

    -M:創建用戶時不創建家目錄

    useradd -M user7

    -r:添加一個系統用戶

    useradd -r   mail

wKioL1edT8_D2OqfAAAxTlChng8385.jpg-wh_50


新建用戶的相關文件

    /etc/default/useradd

    /etc/skel/* 創建用戶時會在家目錄下創建的一些文件包括用戶的環境變量文件,.bashrc記錄命令別名和本地環境變量

   創建用戶時有個默認的設定存放在/etc/default/useradd文件中

   顯示或更改默認值

   useradd -D

   useradd -D -s  /bin/csh  username

    /etc/login.defs 用戶賬號限制的文件包括最大過期天數,密碼的最大長度約束等內容。

    

id:查看用戶的賬號屬性信息

    -u:顯示用戶的UID

    -g:顯示用戶的GID

    -G:顯示用戶的GID

    -n:顯示用戶的用戶名一般要配合-u選項

wKiom1edT0PxHzl7AAAg9lhZ8K8211.jpg-wh_50


userdel:刪除用戶

    userdel  [option] username

    -r:刪除用戶家目錄

wKioL1edU2Sz89ZUAAApEFs3wbM867.jpg-wh_50

用戶屬性修改

    usermod

    usermod [ options]  username

    -u UID:修改用戶的uid

    usermod -u 1500 username

    -g UID:修改用戶的基本組

    usermod -g  hadoop username

    -G -a:添加新的附加組,要配合-a選項使用,如果不使用-a選項會覆蓋此前的附加組

    usermod -aG amind username

    -c:更改註釋信息

    usermod -c "my user" username

    -d -m:更改用戶家目錄且移動用戶文件

    usermod -c /tmp/123 username

    -s:更改用戶的shell

    usermod -s /bin/bash username

    -l:更改用戶名

    usermod -l oldname newname

    -L:鎖定賬號

    usermod -L username

    -U:解鎖賬號

    usermod -U username

wKiom1edVaqT2-5CAABFNaU4gew982.jpg-wh_50


su切換用戶

    su [OPTION]... [-] [USER [ARG]...]

    su username:非登錄式切換,不會讀取目標用戶的配置文件,不改變當前工作目錄

    su - username:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換

    su -l username =su - username

wKiom1edruzx0nZ-AAAkJPhD6yc024.jpg-wh_50

注意:root切換至非root用戶時不需要輸入密碼的,非管理員用戶切換需要輸入密碼

    

passwd設置密碼

    passwd [OPTION...] <accountName>

    passwd 不接用戶默認修改當前登錄用戶的密碼

     -l:鎖定賬號

    -u:解鎖賬號

    -d:刪除賬戶密碼

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

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

    -x maxdays:指定密碼最大使用期限

    -i :非活動期限,密碼過期賬號鎖定時間

    --stdin:從標準輸入接受用戶密碼

    echo “redhat”|passwd --stdin username

    wKiom1edsjbR5mmQAADf6W6A9jM690.jpg-wh_50


chage修改用戶密碼策略

    chage [options] LOGIN

    -d:最近一次修改密碼的時間

    -E:設置過期時間

    -I:設置非活動時間,密碼過期後賬戶鎖定時間

    -m:設置密碼最短使用期限

    -M:設置密碼最長使用期限

    -W:設置密碼過期前的警告天數


wKioL1edtgaAIc0zAADf6W6A9jM636.jpg-wh_50


chfn修改用戶個人信息

    chfn username

wKiom1edttvgw5GPAAAn-mYdXO4363.jpg-wh_50


chsh更改用的shell

    chsh   username

wKioL1edt0qglUa2AAAasiT6rMg924.jpg-wh_50

finger查看用戶用戶屬性

    finger username

wKiom1edt7vRkGGLAAAkpp0h4gM037.jpg-wh_50


組管理

    groupadd

    groupadd [options] groupname

    -g GID: 以指定的GID創建組

    -r:添加系統組其GID小於1000

wKioL1educfwL26MAAAr-UEx8Yw042.jpg-wh_50

groupdel刪除組

    groupdel [options] groupname

    groupdel test2

wKiom1edukWxDrg-AAATS17_7mA032.jpg-wh_50


gpasswd組密碼

    gpasswd [option] group

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

    -d user:將user從組中移除

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

newgrp:臨時切換基本組,如果用戶本不屬於詞組,則需要密碼

    newgrp groupname

wKiom1edvI-SC_hJAAB1MgYAstI559.jpg-wh_50

   

groupmems更改和查看組成員

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

    -g,--group groupname 更改爲指定組

    -a,--add username:用戶加入組

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

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

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


grops查看用戶所屬組

     groups  groupname

wKiom1edvsrCf1t7AAAVXckpiHQ924.jpg-wh_50






























1、創建用戶gentoo,附加組爲bin和root,默認shell爲/bin/csh,註釋信息爲"Gentoo Distribution"
2、創建下面的用戶、組和組成員關係
名字爲admins 的組
用戶natasha,使用admins 作爲附屬組
用戶harry,也使用admins 作爲附屬組
用戶sarah,不可交互登錄系統,且不是admins 的成員,natasha,harry,sarah密碼都是centos


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章