Linux用戶管理.二Day.9

一.為用戶添加密碼

添加密碼

交互式設(shè)定密碼:passwd? 加用戶名

非交互式設(shè)定密碼: echo? “初始密碼”? | passwd? --stdin? 用戶名


shell腳本

修改密碼

為自己修改密碼

直接使用passwd,注意:密碼修改需要復(fù)雜一點(diǎn),并且要達(dá)到8位數(shù)以上。

如何設(shè)置復(fù)雜的密碼:

echo $RANDOM :(隨機(jī)生成字符串)

echo $RANDOM | md5sum (隨機(jī)生成復(fù)雜數(shù)字串)

mkpasswd(隨機(jī)生成復(fù)雜密碼命令)

mkpasswd參數(shù):-l(字符數(shù))-d(幾個(gè)數(shù)字)-c(幾個(gè)小寫字母)-C(幾個(gè)大寫字母)-s(幾個(gè)特殊符號(hào))

例如:[root@localhost ~]# mkpasswd -l 8 -d 3 -c 1 -C 2 -s 2

:0MX9b6-

yum install -y expect(mkpasswd安裝包)

lastpass(密碼管理網(wǎng)頁(yè)插件)

為別人修改密碼(只有root才可以修改別人的密碼)

總結(jié):

1.為新用戶添加新密碼只有root權(quán)限才可以。

2.為用戶變更密碼也只有root才可以。

3.普通用戶只可以修改自己的密碼,無(wú)法修改他人密碼。

4.密碼的修改方式有兩種,一種是交互式,一種是非交互式。

二.用戶創(chuàng)建流程(PS:在用戶創(chuàng)建的過(guò)程中需要參考/etc/login.defs和/etc/defaylt/useradd這兩個(gè)文件默認(rèn)參考)

/etc/login.defs

MAIL_DIR /var/spool/mail? ? ? ? ? ? ? 創(chuàng)建的郵箱所在位置

PASS_MAX_DAYS 99999? ? ? ? ? ? ? ? ? 密碼最長(zhǎng)使用的天數(shù)

PASS_MIN_DAYS 0? ? ? ? ? ? ? ? ? ? ? ? ? 密碼最短使用的天數(shù)

PASS_MIN_LEN 5? ? ? ? ? ? ? ? ? ? ? ? ? 密碼的長(zhǎng)度

PASS_WARN_AGE 7? ? ? ? ? ? ? ? ? 密碼到期前7天警告

UID_MIN? ? ? ? ? ? ? ? ? 1000? ? ? ? ? ? ? ? ? ? UID從1000開始

UID_MAX? ? ? ? ? ? ? ? 60000? ? ? ? ? ? ? ? ? UID到6萬(wàn)結(jié)束

SYS_UID_MIN? ? ? ? ? ? ? 201? ? ? ? ? ? ? 系統(tǒng)用戶的UID從201開始

SYS_UID_MAX? ? ? ? ? ? ? 999? ? ? ? ? ? ? 系統(tǒng)用戶的UID到999

GID_MIN? ? ? ? ? ? ? ? ? 1000? ? ? ? ? ? ? ? ? ? GID從1000開始

GID_MAX? ? ? ? ? ? ? ? 60000? ? ? ? ? ? ? ? ? GID到6萬(wàn)結(jié)束

SYS_GID_MIN? ? ? ? ? ? ? 201? ? ? ? ? ? ? ? 系統(tǒng)GID從201開始

SYS_GID_MAX? ? ? ? ? ? ? 999? ? ? ? ? ? ? 系統(tǒng)GID到999結(jié)束

CREATE_HOME yes? ? ? ? ? ? ? ? ? ? ? 給用戶創(chuàng)建家目錄,創(chuàng)建在/home?

UMASK? ? ? ? ? 077? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

USERGROUPS_ENAB yes? ? ? ? ? ? ? ? 給用戶創(chuàng)建默認(rèn)組

ENCRYPT_METHOD SHA512? ? ? ? ?

/etc/default/useradd

GROUP=100? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 當(dāng)用戶創(chuàng)建用戶時(shí)不指定組,并且USERGROUPS_ENAB為no的時(shí)候,用戶默認(rèn)創(chuàng)建分配一個(gè)GID為100的組。

HOME=/home? ? ? ? ? ? ? ? ? ? ? ? ? 用戶默認(rèn)的家目錄

INACTIVE=-1? ? ? ? ? ? ? ? ? ? ? ? ? ? 用戶不失效(-1=不失效)

EXPIRE=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 過(guò)期時(shí)間

SHELL=/bin/bash? ? ? ? ? ? ? ? ? ? ? 默認(rèn)登錄shell

SKEL=/etc/skel? ? ? ? ? ? ? ? ? ? ? ? ? 默認(rèn)用戶拷貝的環(huán)境變量

CREATE_MAIL_SPOOL=yes? ? 創(chuàng)建郵箱

三.用戶組的管理

沒有指定組:默認(rèn)會(huì)創(chuàng)建一個(gè)與用戶同名的組,簡(jiǎn)稱私有組。

指定組:-g指定一個(gè)基本組(基本組必須先存在)

附加組:-G 指定一個(gè)附加組(基本組或私有組無(wú)法滿足需求時(shí),添加一個(gè)附加組,繼承該組的權(quán)限)

/etc/group


/etc/gshadow


創(chuàng)建:

groupadd? 組名稱

-g參數(shù)? ? 指定用戶組的GID

-r 參數(shù)? ? 創(chuàng)建一個(gè)系統(tǒng)組

修改組:

groupmod? -g? ? 要修改的GID? 用戶組

groupmod? ? 舊的組名稱? ? -n? 新的組名稱

刪除組:(如果要?jiǎng)h除基本組,需要先刪除基本組中的用戶才可以刪除該組)

groupdel? -r(刪除信息)

用戶提權(quán):

su? ? ? ? 切換用戶? 登錄式shell (如果切換用戶需要輸入密碼)

su? -? 用戶名字 非登錄式shell (root切換任何用戶不需要輸入密碼)

基本概念:

1.交互式shell? (等待用戶輸入執(zhí)行指令,有提示)

非交互式shell? (不需要等待用戶輸入執(zhí)行指令,沒有提示shell執(zhí)行結(jié)束會(huì)自動(dòng)退出)

登錄式shell? ? (需要輸入用戶名和密碼才可以進(jìn)入shell)

非登錄式shell (不需要輸入用戶名和密碼就可以進(jìn)入shell,比如運(yùn)行bash會(huì)開啟一個(gè)新的會(huì)話窗口)

2.bash shell配置文件介紹

個(gè)人配置文件:~/.bash_profile和~/.bashrc

全局配置文件:/etc/profile,/etc/profile.d/*.sh,/etc/bashrc

(profile類文件,設(shè)定環(huán)境變量,登錄前的運(yùn)行腳本和命令)

(bashrc類文件,設(shè)定本地變量,定義命令別名)

PS:如果全局配置和個(gè)人配置沖突,以個(gè)人配置為準(zhǔn)

3.登錄后環(huán)境變量配置文件的應(yīng)用順序:(驗(yàn)證:在每個(gè)文件中輸入echo)

登錄式shll配置文件應(yīng)用順序

1. /etc/profile

2. /etc/profile.d/1.sh

3. ~/.bash_profile

4. ~/.bashrc

5. /etc/bashrc

非登錄式shll配置文件應(yīng)用順序

1. ~/.bashrc

2. /etc/bashrc

3. /etc/profile.d/1.sh

PS:su? 用戶名? 和? su? -? 用戶名的區(qū)別就在于加載的環(huán)境變量不一樣。

sudo? ? 提權(quán)(root事先分配好權(quán)限--關(guān)聯(lián)用戶)

當(dāng)普通用戶需要執(zhí)行一些高級(jí)操作的時(shí)候就需要加上sudo。(不加sudo還是普通用戶的權(quán)限)

1.快速提權(quán)

直接將普通用戶切換至wheel組中 (wheel組是默認(rèn)擁有sudo權(quán)限的)

2.手動(dòng)提權(quán) sudo? -l? (查看自己有哪些權(quán)限)

可使用visudo命令或者vim? /etm/sudoers (visudo有語(yǔ)法檢測(cè)功能,輸入錯(cuò)誤無(wú)法保存退出)

%(組)wheel(組名)? ALL(主機(jī)名)=(ALL)(角色名)? ? ? ALL(所有權(quán)限)?

例如:


3.限制權(quán)限

第一種:使用sudo中自帶的別名操作,將多個(gè)用戶定義成一個(gè)組

1.使用sudo定義分組,這個(gè)分組和系統(tǒng)分組沒有關(guān)系

User_Alias? OPS? =? 要分配的系統(tǒng)真實(shí)用戶

User_Alias? DEV? =? 要分配的系統(tǒng)真實(shí)用戶

2.sudo中默認(rèn)別名

Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

Cmnd_Alias LOCATE = /usr/bin/updatedb

Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount

Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp

Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall

Cmnd_Alias DRIVERS = /sbin/modprobe

3.分配權(quán)限

OPS ALL = (ALL)sudo別名:SOFTWARE, LOCATE ,STORAGE

DEV? ALL =? (ALL)sudo別名? :SOFTWARE,LOCATE

第二種:創(chuàng)建好分配組,將用戶添加到創(chuàng)建好的分配組中。

1.添加用戶

2.添加密碼

3.配置規(guī)則

%真實(shí)組? ALL=(ALL) 命令或命令別名

四.sudo執(zhí)行流程

1.普通用戶執(zhí)行sudo命令的時(shí)候會(huì)檢查/var/db/sudo是否錯(cuò)在時(shí)間戳緩存。

2.如果存在就不需要輸入密碼,否則需要輸入用戶名和密碼

3.輸入密碼會(huì)檢測(cè)是否該用戶是否擁有該權(quán)限/etc/sudoers

4.如果有就會(huì)執(zhí)行,沒有就報(bào)錯(cuò)退出

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容