Linux用戶、組和權(quán)限管理

2017年1月18日15:11:04 發(fā)表評論 3,963 ℃

用戶

Multi -tasks, Multi-Users

每個(gè)使用者:

用戶標(biāo)識、密碼:

Authentication認(rèn)證:

Authorization授權(quán):

Audition審計(jì):

組:用戶組,用戶容器

用戶類別:

管理

普通用戶

普通用戶

登錄用戶

用戶標(biāo)識:UserID,UID

16bits二進(jìn)制數(shù)字:0-65535

管理員:0

普通用戶:1-65635

系統(tǒng)用戶:1-499(Centos6)1-99(Centos7)

登錄用戶:500-600000(Centos6)1000-60000(Centos7)

名稱解析:名稱轉(zhuǎn)換

Username <--> UID

根據(jù)名稱解析庫進(jìn)行:/etc/passwd

組:

組類別1:

管理員組

普通用戶組

系統(tǒng)組

登錄組

組標(biāo)識:GroupID,GID

管理員組:0

普通用戶:1-65635

系統(tǒng)用戶:1-499(Centos6)1-99(Centos7)

登錄用戶:500-600000(Centos6)1000-60000(Centos7)

名稱解析:名稱轉(zhuǎn)換

groupname <--> UID

根據(jù)名稱解析庫進(jìn)行:/etc/group

組類別2:

用戶的基本組

用戶的附加組

組類別3:

私有組:組名同用戶名,且只包含一個(gè)用戶:

公共組:組內(nèi)包含了多個(gè)用戶:

認(rèn)證信息:

通過比對事先存儲的,與登錄時(shí)提供的信息是否一致:

password:

/etc/shadow

/etc/gshadow

密碼的是要策略:

1、使用隨機(jī)密碼

2、最短長度不要低于9位

3、應(yīng)該使用大寫字母、小寫字母、數(shù)字和標(biāo)點(diǎn)符號四類中至少三類

4、定期更換

加密算法:

對稱加密:加密和解密使用同一個(gè)密碼

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

密鑰對兒:

公鑰:public key

私鑰:private key

單項(xiàng)加密:只能加密,不能解密:提取數(shù)據(jù)特征碼

定長輸出:

雪崩效應(yīng):

算法:

md5: message digest,128bits

sha:  secure hash algorithm ,160bites

sha224

sha256

sha384

sha512

在計(jì)算之時(shí)加salt,添加隨機(jī)數(shù)

/etc/passwd :用戶信息庫

name:password:UID:GID:GECOS:directory:shell

name:用戶名

password:可以是加密的密碼,也可是占位符x

UID:

GID:用戶所屬的主組ID號

GECOS:注釋信息

directory:用戶的家目錄

shell:用戶的默認(rèn)shell,登錄時(shí)默認(rèn)shell程序:

/etc/shadow 用戶密碼

用戶名:加密的密碼:最近一次修改密碼的時(shí)間:密碼最短使用期限:密碼最長使用期限:警告期限:過期期限:保留字段

/etc/group

group_name:passwd:GID:user_list

user_list:該組的用戶成員:以此組為附加組的用戶的用戶列表:

linux用戶組和組管理

安全上下文:

進(jìn)程以其發(fā)起者的身份運(yùn)行:

進(jìn)程對文件的訪問權(quán)限,取決于發(fā)起此進(jìn)程的用戶的權(quán)限

為了能夠讓那些后臺進(jìn)程或服務(wù)類進(jìn)程以非管理員的身份運(yùn)行,通常要為此創(chuàng)建多個(gè)普通用戶,這類用戶從不用于登錄

groupadd命令:添加組

groupadd [選項(xiàng)] group_name

-g GID: 指定GID: 默認(rèn)是上一個(gè)組的GID+1

-r 創(chuàng)建系統(tǒng)組:

groupmod命令:修改組屬性

groupmod [選項(xiàng)] group

-g GID: 修改GID

-n new_name: 修改組名

groupdel命令:刪除組

groupdel [選項(xiàng)] group

useradd命令:創(chuàng)建用戶

useradd [選項(xiàng)] 登錄名

-u,--uid UID: 指定UID

-g, --gid GROUP: 指定基本組ID,此組得事先存在

-G, --grups GROUP1[,GROUP2,...[,GROUPN]]] 指明用戶所屬的附加組,多個(gè)組之間用逗號分隔

-c, --comment COMMENT:指明注釋信息

-d, --home HOME_DIR:以指定的路徑為用戶的家目錄:通過復(fù)制/etc/skel此目錄并重命名實(shí)現(xiàn):指定的家目錄路徑如果事先存在,則不會為用戶復(fù)制環(huán)境配置文件

-s,--shell SHELL: 指定用戶的默認(rèn)shell,可用的所有shell列表存儲在/etc/shells文件:

-r, --system:創(chuàng)建系統(tǒng)用戶:

注意:創(chuàng)建用戶時(shí)的諸多默認(rèn)設(shè)置配置文件為/etc/login.defs

useradd -D:顯示創(chuàng)建用戶的默認(rèn)配置:
useradd -D 選項(xiàng):修改默認(rèn)選項(xiàng)的值:

修改的結(jié)果保存于/etc/default/useradd文件中:

usermod命令: 修改用戶屬性

usermod [選項(xiàng)] 登錄名

-u,--uid UID: 修改用戶UID

-g,--gid group: 修改用戶所屬的基本組

-G, --grups GROUP1[,GROUP2,...[,GROUPN]]] 修改用戶所屬的附加組,原來的附加組會被覆蓋

-a, --append: 與-G一同使用,用于為用戶追加新的附加組

-c, --comment COMMENT:修改注釋信息:

-d, --home home_dir:修改用戶的家目錄,用戶原有的文件不會被移至新位置

-m , --move--home : 只能與-d選項(xiàng)一同使用,用于將原來的家目錄移動(dòng)到新的家目錄

-l, --login new_login:修改用戶名

-s , --shell SHELL:修改用戶的默認(rèn)shell

-L ,-- lock :鎖定用戶密碼
-U, --unlock: 解鎖用戶的密碼

userdel命令:刪除用戶屬性

userdel [選項(xiàng)] 登錄

-r: 刪除用戶時(shí)一并刪除其家目錄

練習(xí)1:創(chuàng)建用戶gentoo ,UID為4001,基本組為gentoo,附加組為distro(GID為5000)和peguin(GID為50001)

練習(xí)2:創(chuàng)建用戶fedora ,其注釋信息為“Fedora core”默認(rèn)shell為/bin/tcsh

練習(xí)3:修改gentoo用戶的家目錄為/var/tmp/gentoo,要求原有文件仍能被用戶訪問

練習(xí)4:為gentoo新增附加組netadmin

passwd命令:

passwd  [-k]  [-l]  [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i  inactivedays] [-S] [--stdin] [username]

(1)passwd:修改用戶自己的密碼

(2)passwd username:  修改指定用戶的密碼

-l, -u :鎖定和解鎖用戶

-d: 清除用戶密碼

-e date: 過期期限,日期

-i  days: 非活動(dòng)期限

-n days: 密碼的最短使用期限

-x  days:密碼的最長使用期限

-w days:警告期限

--stdin:

echo "password" | passwd --stdin username 

gpasswd命令

gpasswd[選項(xiàng)] group

-a username: 向組中添加用戶

-d username: 從組中移除用戶

newgrp命令: 臨時(shí)切換指定的組為基本組

newgrp [-] [group]

-: 會模擬用戶重新登錄以實(shí)現(xiàn)重新初始化其工作環(huán)境:

chage命令:更換用戶密碼過期信息

chage [選項(xiàng)] [登錄]

id命令:顯示是用戶的真實(shí)和有效信息

id [OPTION]... [USERNAME]

-u :僅顯示有效的UID

-g :僅顯示用戶基本組ID

-G :僅顯示用戶所屬組所有組的ID

-n :顯示名字而非ID

id -n 

su命令:switch user

登錄式切換:會通過重新讀取目標(biāo)用戶的配置文件來重新初始化

su - username

su -l username

非登錄式切換:不會讀取目標(biāo)用戶的配置文件進(jìn)行初始化

注意:管理員可無密碼切換至其他任何用戶:

 - c 'command': 僅以指定用戶的身份運(yùn)行此處指定的命令:

其他幾個(gè)命令:chsh, chfn ,finger, whoami, pwck ,grpck

權(quán)限管理:

ls -l

rwxrwxrwx

左三位:定義user(owner)的權(quán)限

中三位:定義group的權(quán)限

右三位:定義other的權(quán)限

進(jìn)程安全上下文

進(jìn)程對文件的訪問權(quán)限應(yīng)用模型

進(jìn)程的屬主與文件的屬主是否相同:如果相同,則應(yīng)用屬主權(quán)限

否則,則檢查進(jìn)程的屬主是否屬于文件的屬組:如果是,則應(yīng)用屬組權(quán)限

否則,就只能應(yīng)用other的權(quán)限

權(quán)限:

r:  readable, 讀

w: writeable, 寫

x: excuteable ,執(zhí)行

文件:

r:可獲取文件的數(shù)據(jù)

w:可修改文件的數(shù)據(jù)

x:可將此文件運(yùn)行為進(jìn)程

目錄:

r: 可使用ls命令獲取其下的所有文件列表

w: 可修改此目錄下的文件列表, 即創(chuàng)建或者刪除文件

x: 可cd至此目錄中,且可使用ls -l 來獲取所有文件的詳細(xì)屬性信息

mode: rwxrwxrwx 

ownership : user , group

 權(quán)限組合機(jī)制:

--- 000  0

--x 001  1

-w- 010  2

-wx 011  3

r--  100   4

r-x  101   5

rw- 110   6

rwx 111   7

權(quán)限管理命令:

chmod命令:

chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...

三類用戶:

u:屬主

g:屬組

o:其他

a:所有

(1)chmod [OPTION]... MODE[,MODE]... FILE...

mode表示法:

賦權(quán)表示法:直接操作一類用戶的所有權(quán)限r(nóng)wx

u=

g=

o=

a=

授權(quán)表示法:直接操作一類用戶的一個(gè)權(quán)限位r,w,x

u+, u-

g+, g_

o+, o-

a+, a-

(2)chmod [OPTION]... OCTAL-MODE FILE...

(3)chmod [OPTION]... --reference=RFILE FILE...

選項(xiàng):

-R, --recursive:遞歸修改

注意:用戶僅能修改屬主為自己的那些文件的權(quán)限

chown命令:

chown [OPTION]... [OWNER][:[GROUP]] FILE...

          chown [OPTION]... --reference=RFILE FILE...

選項(xiàng):

-R遞歸修改

chgrp命令:

           chgrp [OPTION]... GROUP FILE...

           chgrp [OPTION]... --reference=RFILE FILE...

注意:僅管理員可以修改文件的屬主和屬組

umask: 文件的權(quán)限反向掩碼,遮罩碼

文件:

666-umask

目錄:

777-umask

注意:之所以文件用666區(qū)減,表示文件默認(rèn)不能擁有執(zhí)行權(quán)限:如果減的的結(jié)果中有執(zhí)行權(quán)限,則需要將其加1

umask:023

666-023=644

777-023=754

umask命令:

umask:查看當(dāng)前umask
umask MASK :設(shè)置umask

注意:此類設(shè)置僅對當(dāng)前shell經(jīng)常有效

練習(xí):

1.新建系統(tǒng)組mariadb,新建系統(tǒng)用戶mariadb,屬于mariadb組,要求其沒有家目錄,且shell為/sbin/nologin,嘗試切換至用戶,查看其命令提示符:

2.新建GID為5000的組mageedu,新建用戶gentoo,要求其家目錄為/users/gentoo,密碼同用戶名:

3.新建用戶fedora,其家目錄路為/users/fedora,密碼同用戶名:

4.新建用戶web,其家目錄為/users/web,刪除web用戶,但保留其家目錄:

5.為用戶gentoo和fedora新建附加組mageedu

6.復(fù)制目錄/var/log至/tmp/目錄,修改/tmp/log及其內(nèi)部的所有文件屬組為mageedu,并讓屬組隊(duì)目錄本身擁有寫權(quán)限

install命令:

install - copy files and set attributes

單元復(fù)制:

       install [OPTION]... [-T] SOURCE DEST

多源復(fù)制:
       install [OPTION]... SOURCE... DIRECTORY
       install [OPTION]... -t DIRECTORY SOURCE...

創(chuàng)建目錄
       install [OPTION]... -d DIRECTORY...

常見選項(xiàng)

-m , --mode=MODE: 設(shè)定目標(biāo)文件權(quán)限,默認(rèn)為755

-o , -- owner=OWNER:設(shè)定目標(biāo)文件屬主

-g ,-- group=GROUP :設(shè)定目標(biāo)文件屬組

-d   創(chuàng)建目錄

mktemp命令:

mktemp - create a temporary file or directory

mktemp [OPTION]... [TEMPLATE]

常用選項(xiàng):

-d :創(chuàng)建臨時(shí)目錄

注意:mktemp會將創(chuàng)建的臨時(shí)文件名直接返回,因此,可以直接通過命令引用保存起來

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: