linux用戶和組

                             linux用戶和組linux


安全3A: 算法

        Authentication:認證shell

        Authorization:受權centos

        Accouting|Audition:審計安全


用戶user:bash


用戶類別::管理員和普通用戶app


普通用戶又分爲:系統用戶和登陸用戶ide


用戶的標識:UID加密

管理員:0centos7

普通用戶:1-65535

    系統用戶:1-499(centos6) 1-999(centos7)

    登陸用戶:500-60000(centos6) 1000-60000(centos)


組類別1:管理員組和普通組


管理員組:root 0

普通用戶組:1-65535

    系統用戶組:1-499(centos6) 1-999(centos7)

    登陸用戶組:500-60000(centos6) 1000-60000(centos)


組類別2:

用戶的主要組,基本組,主組:

        用戶必須屬於一個且只有一個主組


用戶的附加組,輔助組:

        一個用戶能夠屬於0個或多個輔助組          


組類別3:

私有組:組名同用戶名,且僅包含一個用戶

公共組:組內包含多個用戶


安全上下文:

運行的程序==>進程


root:/bin/cat

qiuwei: /bin/cat

當兩個用戶運行上面的程序時,進程可以訪問資源的權限取決於進程的運行者的身份,


用戶的權限有多大就能訪問多大的資源



passwd: 

       

使用man命令看下passwd格式

wKioL1ef_afg1SnTAACOuFd_j34353.png

name:登陸用戶名(qiuwei)

passwd:密碼(X)

UID:用戶的身份編號(1000)

GID:用戶默認所在組編號(1000)

GECOS:用戶全名或註釋

dierctory:用戶的家目錄(/home/qiuwei)

shell:用戶默認使用的shell

wKiom1ef_szD4V8DAAAyVceh9zA127.png

以sarah用戶爲例:


name:登陸用戶名(sarah)

passwd:密碼(X)

UID:用戶的身份編號(1241)

GID:用戶默認所在組編號(1241)

GECOS:用戶全名或註釋(無註釋信息)

dierctory:用戶的家目錄(/home/sarah)

shell:用戶默認使用的shell==>/sbin/nologin


從上面能夠看到passwd是沒有的,用戶的密碼不是存放在/etc/passwd下的,而是在專門存放在/etc/shadow中,且只有管理員用戶可以查看,由於是密碼,若是普通用戶能看那就有問題了


shadow文件格式:

wKioL1egAE7xkGzoAABrRvM28Ks349.png

仍是以sarsh用戶爲例:

登陸用戶名: sarah

用戶密碼碼:$6$wMPzucdS$G9lv.F1KtfHUyZYGLYgpCkHr7kVZCXI7Q.

B8VyMzM8OsFAfKqWMtiYuguFtdhUTliqdZXiQJzxW5dZwW8ckZ0.(如今通常是使用sha512加密)

從1970年1月1日期密碼最近一次被更改的時間:17014

密碼的最短使用期限:0

密碼的最長使用期限;9999

密碼過時前幾天提醒時間:7

密碼過時幾天帳號會被鎖定:

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


密碼期限示意圖:

wKioL1egCoWBTQCLAAEVW854fLA157.png密碼加密:


加密機制:

加密:明文-->密文

解密:密文-->明文

單項加密:哈希算法,原文不一樣,密文不一樣

          相同算法定長輸出,得到密文不可逆推除原始數據

          雪崩效應:初始條件的微小改變,引發結果的巨大改變

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

非對稱加密:加密和解密實用的一對兒密鑰 

          密鑰對兒:

               公鑰:public key 

               私鑰 :private key


加密算法種類:

md5:128位

sha1:160位

sha224:224位

sha256:256位

sha384:384位

sha512:512位==>如今經常使用


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

wKioL1egB4PAXcQmAACejzkqfqg835.png

將加密算法改成sha256後,而後再改回sha512,經過對比可知,sha512密碼複雜程度大大超過了sha256


在第二個$和第三個$中間有幾個字符,稱爲salt,是隨機數,因此就算你兩個用戶設置相同的密碼可是家裏salt後,shadow現實的密碼也是徹底不同的

wKiom1egCWnxipfiAACoghywL6Q650.png

給上a,b,c用戶設置密碼centos,可是shadow顯示密碼徹底不同


密碼的使用策略:

1.使用隨機密碼

2.最短長度不要低於8位

3.應該使用大寫字母,小寫字母,數字和標點符號四類字符中至少三類

4.按期更換


設置隨機數:

openssl rand -base64 20

wKiom1egDX6R6PWUAAAp5ONXue8880.png


group文件格式:


羣組名稱:羣組名稱

羣組密碼:一般不須要設置密碼,密碼在/etc/gshadow

GID:羣組的ID

以當前組爲附加組的用戶列表(用逗號爲分隔符)

wKiom1egC-_wJd2TAAAUGo-V7sE849.png

羣組名稱:admins

密碼:x

GID:503

以admins爲附加組的用戶:natasha,harry



gshadow文件格式:


羣組名稱:羣組名稱

羣組密碼:一般不須要設置密碼,密碼在/etc/gshadow

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

以當前組爲附加組的用戶列表(用逗號爲分隔符)

wKiom1egDMHC7KpbAAALlI-Wp14327.png

羣組名稱:admins

密碼:x

組管理員列表:

以admins爲附加組的用戶:natasha,harry



vipw:編輯用戶密碼文件

vigr:編輯組文件

pwck:檢查用戶密碼的完整性

grpck:檢查用戶組及密碼文件的完整性


用戶和組管理命令

用戶:

useradd:建立用戶

-u:指定用戶的UID

-o:配合-u選項,不檢查UID的惟一性(即兩個用戶可用同一個UID)

-g GID:指明用戶的基本組,組名或GID都行

-c:用戶的註釋信息

-G:指明用戶的附加值,能夠多個,用逗號隔開

-d:以指定路徑(不存在)爲家目錄

  備註:-d選項時,父目錄必須存在,子目錄不要有

-s:指明用戶的默認shell程序

     /etc/shells文件中

-N:不建立私有組作主組,使用users組作主組

-r:建立系統用戶centos6 ID<500  centos7 ID<1000

wKioL1egEq2gkQ5UAABMl6otRD0862.pngwKioL1egE2rBHZp3AABMl6otRD0224.png-wh_50

說明:

用戶名:bietianshen

UID:5000

基本組:root

附加組:bin  qiuwei

註釋信息:yongrenzirao

默認shell:/bin/csh

家目錄:/qiuwei


默認值設定:/etc/default/useradd

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

useradd -D -s /bin/csh:建立新用戶時,默認shell爲csh


練習:

1 、建立 用戶gentoo ,附加組爲bin 和root ,默認shell爲 爲

/bin/csh ,註釋信息爲"Gentoo Distribution"

useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo
id gentoo
getent passwd gentoo


wKiom1egHWjCrE9AAAAxUHHxaU4388.png

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

名字爲 爲admins  的組

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

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

用戶sarah ,不可交互登陸系統, 且 不是admins  的成員,

natasha ,harry ,sarah 密碼 都是centos

指令:

groupadd admins
useradd -G admins natasha
useradd -G admins harry
useradd -s /sbin/nologin sarah
echo centos |passwd --stdin natasha
echo centos |passwd --stdin harry
echo centos |passwd --stdin sarah

wKioL1egHp2iDYiVAAB1qs5jjNA745.png


用戶屬性修改

usermod:

選項:

-u:新UID

-g GID :新的基本組

-G GROUP1[GROUP2,....]:新附加組,原來的組將會被覆蓋,若保留原有。則要同時

                       使用-a選項,表示append,追加

-s SHELL:新的默認shell

-c:新的註釋信息

-d:新家目錄不會自動建立,原家目錄中的文件不會同時移動至新的家目錄;若要      建立新家目錄並移動原家數據,同時使用-m

-l:新名字

-L:lock指定用戶,在/etc/shadow密碼欄的增長!

-U:unlock,將/etc/shadow密碼欄的!拿掉

-e  yyyy-MM-DD:指定用戶帳號過時日期

-f 10:設定非活動期限10天


指令

usermod -u 4567 -g root -aG qiuwei -s /bin/bash -l dj gentoo

wKioL1egItmBqHsLAAAwmzInHTA667.png更改以下:

UID:4567

基本組:root

附加組:bin,qiuwei

默認shell:/bin/bash

用戶名:dj



刪除用戶

userdel:

-r選項:刪除用戶家目錄




查看用戶相關的ID信息:id

選項:

-u:查看UID

-g:

-G:

-n:name

wKioL1egJIDC3EFHAAAuqZ0_4IE556.png用戶dj的

UID:4567

gid:0

group:基本組root(0),附加組bin(1)和qiuwei(500)



su:用戶切換


su usernam:非登陸時切換,即不會讀取目標用戶的配置文件,不改變當前工做目錄

su - usernam:登陸時切換,會讀取目標用戶的配置文件,切換至家目錄,徹底切換


 登陸式shell,配置文件及次序: 
/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc 

非登陸式shell: 
~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh  


設置密碼


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

passwd:修改本身的密碼

選項:

-l:鎖定指定用戶

-u:解鎖指定用戶

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

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

-x maxdays:最大使用期限

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

-i inactivedays:非活動期限

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

echo 「centos」|passwd -stdin username


建立組

groupadd [options]...groupname

-g:指明GID

-r:建立系統組

          centos6:ID<500

          centos7:ID<1000


修改和刪除組

groupmod [option]...group

-n groupname:更改組名

-g GID:更改組ID


groupdel:刪除組

groupdel groupname:刪除指定組


更改組密碼:

組密碼:gpasswd

gpasswd [option]group


-a user:將user添加至指定用戶中

-d user:從指定用戶中移除用戶user

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


newgrp:臨時切換基本組

    若是用戶不屬於此組,則須要組密碼



groupmems:列出組成員


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


wKiom1egPDmyTTb-AAA5yxgoJHI954.png

列出組成員
groupmems -l -g qiuwei 
增長組成員
 groupmems -a root -g qiuwei
 刪除組成員
 groupmems -d root -g qiuwei
相關文章
相關標籤/搜索