6、用户管理
1.用戶基本概述
1.1.什么是用戶?
用戶指的是能夠正常登錄Linux或Windows系統(tǒng)(可以理解為你租了房?,能夠正常入駐)
F:那Linux與Windows系統(tǒng)的用戶有什么區(qū)別? Q:本質(zhì)都是登陸系統(tǒng),只不過(guò)Linux?持多個(gè)用戶
同時(shí)登陸。
F:難道Windows就不算多用戶操作系統(tǒng)嗎? Q:其實(shí)不是,在Windows系統(tǒng)中可以創(chuàng)建多個(gè)用戶,
但不允許同?時(shí)刻多個(gè)用戶登陸系統(tǒng),但Linux系統(tǒng)則允許同?時(shí)刻多個(gè)用戶同時(shí)登陸,登陸后
相互之間操作并不影響。
1.2.Linux下的用戶有什么用,或者說(shuō)我們?yōu)槭裁匆獎(jiǎng)?chuàng)建用戶?
1.系統(tǒng)上的每?個(gè)進(jìn)程(運(yùn)行的程序),都需要?個(gè)特定的用戶運(yùn)行2.通常在公司是使用普通用戶管理服務(wù)器,因?yàn)閞oot權(quán)限過(guò)?,容易造成故障。
1.3.如何查看系統(tǒng)中所存在的用戶
1.查看當(dāng)前登錄的用戶信息
[root@bgx ~]# id #查看當(dāng)前所登陸的用戶信息
uid=0(root) gid=0(root) groups=0(root)
[root@bgx ~]# id oldboy #查看其它用戶的信息
uid=1000(oldboy) gid=1000(oldboy) groups=1000(oldboy) 2.每?個(gè)進(jìn)程都會(huì)由?個(gè)用戶身份運(yùn)行
[root@bgx ~]# ps aux|less #簡(jiǎn)單使用?下,不用理解
root 33782 0.0 0.0 0 0 ? R 02:46 0:00 [kworker/u256:0]
root 35637 0.0 0.0 0 0 ? R 05:11 0:03 [kworker/0:2] 1.4.那我們的用戶存在哪呢?
Linux系統(tǒng)會(huì)將用戶的信息存放在/etc/passwd,記錄了用戶的信息,但沒(méi)有密碼信息,密碼被存
放在/etc/shadow中。也就是說(shuō)這兩個(gè)文件非常的重要,不要輕易刪除與修改。
1./etc/passwd 配置文件解釋如下圖,或者man 5 passwd
2./etc/shadow 配置文件解釋如下圖,或者man 5 shadow
PS: 使用change修改密碼過(guò)期時(shí)間示例
4.最后我們需要了解下系統(tǒng)對(duì)用戶的?個(gè)約定?(約定娶你,就真的會(huì)娶嗎?)
| 用戶UID | 系統(tǒng)中約定的含義 |
|---|---|
| 0 | 超級(jí)管理員,最?權(quán)限,有著極強(qiáng)的破壞能力 |
| 1~200 | 系統(tǒng)用戶,用來(lái)運(yùn)行系統(tǒng)自帶的進(jìn)程,默認(rèn)已創(chuàng)建 |
| 201~999 | 系統(tǒng)用戶,用來(lái)運(yùn)行用戶安裝的程序,所以此類用戶無(wú)需登錄系統(tǒng) |
| 1000+ | 普通用戶,正常可以登陸系統(tǒng)的用戶,權(quán)限比較小,能執(zhí)行的任務(wù)有限 |
PS:在CentOS7系統(tǒng)之前, UID1-499用于系統(tǒng)用戶, 而UID 500+則用于普通用戶
2用戶相關(guān)命令
下?我們就圍繞著用戶的創(chuàng)建、變更、刪除等來(lái)講講涉及到的命令: useradd、usermod、
userdel
2.1.使用useradd命令新增用戶,注意: adduser命令軟鏈接指向useradd命令
#選項(xiàng)
# -u 指定要?jiǎng)?chuàng)建用戶的UID,不允許沖突
# -g 指定要?jiǎng)?chuàng)建用戶默認(rèn)組
# -G 指定要?jiǎng)?chuàng)建用戶附加組,逗號(hào)隔開(kāi)可添加多個(gè)附加組
# -d 指定要?jiǎng)?chuàng)建用戶家目錄
# -s 指定要?jiǎng)?chuàng)建用戶的bash shell
# -c 指定要?jiǎng)?chuàng)建用戶注釋信息
# -M 給創(chuàng)建的用戶不創(chuàng)建家目錄
# -r 創(chuàng)建系統(tǒng)賬戶,默認(rèn)無(wú)家目錄 #1.創(chuàng)建bgx用戶,UID5001,基本組students,附加組sa 注釋信息:2019 new student,登陸shell:/b
in/bash
[root@bgx ~]# groupadd sa
[root@bgx ~]# groupadd students
[root@bgx ~]# useradd -u 5001 -g students -G sa -c "2019 new student" -s /bin/bash
bgx
#2.創(chuàng)建mysql系統(tǒng)用戶,-M不建立用戶家目錄 -s指定nologin使其用戶無(wú)法登陸系統(tǒng)
[root@bgx ~]# useradd mysql -M -s /sbin/nologin
[root@bgx ~]# useradd -r dba -s /sbin/nologin 2.2.如何使用usermod命令修改用戶信息
#選項(xiàng)
# -u 指定要修改用戶的UID
# -g 指定要修改用戶基本組
# -G 指定要修改用戶附加組,使用逗號(hào)隔開(kāi)多個(gè)附加組, 覆蓋原有的附加組
# -d 指定要修改用戶家目錄
# -s 指定要修改用戶的bash shell
# -c 指定要修改用戶注釋信息
# -l 指定要修改用戶的登陸名
# -L 指定要鎖定的用戶
# -U 指定要解鎖的用戶#1.檢查此前創(chuàng)建的用戶信息
[root@bgx ~]# grep "bgx" /etc/passwd
bgx:x:5001:503:2019 new student:/home/bgx:/bin/bash#2.修改bgx用戶uid、gid,附加組
[root@bgx ~]# groupadd -g 5008 network_sa
[root@bgx ~]# groupadd -g 5009 devops
[root@bgx ~]# usermod -u 6001 -g5008 -a -G 5009 bgx#3.修改bgx用戶的注釋信息, 用戶家目錄, 登錄shell, 登錄名
[root@bgx ~]# usermod -c "2019 new student" -md /bgx -s /bin/sh -l change_bgx bgx
#檢查是否修改成功
[root@bgx ~]# grep "bgx" /etc/passwd
bgx_xuliangwei:x:6001:5008:2019 new student:/bgx:/bin/sh
[root@bgx ~]# id change_bgx
uid=6001(change_bgx) gid=5008(network_sa) groups=5008(network_sa),503(sa),5009(devo
ps)
[root@bgx ~]# ll -d /bgx
drwx------. 2 bgx_xuliangwei network_sa 4096 2014-09-23 00:13 /bgx#4.鎖定用戶[擴(kuò)展]
[root@bgx ~]# echo "123" |passwd --stdin change_bgx
[root@bgx ~]# usermod -L change_bgx #鎖定后會(huì)無(wú)法登陸系統(tǒng)#5.解鎖用戶[擴(kuò)展]
[root@bgx ~]# usermod -U change_bgx PS: 當(dāng)然還有很多命令可以查看用戶的信息,以下簡(jiǎn)單列舉?些,但都是我們常用,所以了解即
可
1) 使用finger命名查詢用戶信息以及登錄信息,示例: finger UserName
2) 使用chfn命令修改用戶信息,示例: chfn UserName
3) 使用chsh命令修改用戶登錄Bash Shell,示例: chsh UserName
4) 使用who、whoami、w檢查用戶登陸情況
2.3.使用userdel命令刪除賬戶
#選項(xiàng) -r 刪除用戶同時(shí)刪除它的家目錄
#1.刪除user1用戶,但不刪除用戶家目錄和 mail spool
[root@bgx ~]# userdel user1
#2.-r參數(shù)可以連同用戶家目錄?起刪除(慎用)
[root@bgx ~]# userdel -r user1 3.用戶擴(kuò)展知識(shí)
3.1.前?我們學(xué)習(xí)如何創(chuàng)建、修改、刪除用戶,接下來(lái)了解下用戶的創(chuàng)建流程?
1.useradd創(chuàng)建用戶時(shí),系統(tǒng)會(huì)以/etc/login.defs、/etc/defaults/useradd兩個(gè)配置文件作為參照物,如果在創(chuàng)建用戶時(shí)指定了參數(shù)則會(huì)覆蓋/etc/login.defs、/etc/defaults/useradd文件默認(rèn)配置,如未指定則使用默認(rèn)。
[root@bgx ~]# grep -Ev "^#|^$" /etc/login.defs
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999
GID_MIN 1000
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512[root@bgx ~]# cat /etc/default/useradd
GROUP=100
HOME=/home #把用戶的家目錄建在/home中。
INACTIVE=-1 #是否啟用賬號(hào)過(guò)期停權(quán),-1表示不啟用。
EXPIRE= #賬號(hào)終止日期,不設(shè)置表示不啟用。
SHELL=/bin/bash #新用戶默認(rèn)所有的shell類型。
SKEL=/etc/skel #配置新用戶家目錄的默認(rèn)文件存放路徑。
CREATE_MAIL_SPOOL=yes #創(chuàng)建mail文件。 2.當(dāng)使用useradd創(chuàng)建用戶時(shí),創(chuàng)建的用戶家目錄下會(huì)存在 .bash_* 環(huán)境變量相關(guān)的文件,這些環(huán)境變量文件默認(rèn)從/etc/skel目錄中拷貝。這個(gè)默認(rèn)拷貝環(huán)境變量位置是由/etc/defaults/useradd配置文件中定義的。
#故障案例,在當(dāng)前用戶家目錄執(zhí)行了rm -rf .*,下次登錄系統(tǒng)時(shí)出現(xiàn)-bash-4.1$,如何解決!
-bash-4.1$ cp -a /etc/skel/.bash* ./
-bash-4.1$ exit
[root@bgx ~]# #重新連接即可恢復(fù) 3.2.如何為新用戶設(shè)定密碼,?如何變更用戶密碼
創(chuàng)建用戶后,如需要使用該用戶登陸系統(tǒng)則需要為用戶設(shè)定密碼,設(shè)定密碼使用passwd命令。
建議密碼復(fù)雜度??些、?度?于10、出現(xiàn)各種特殊字符、無(wú)任何規(guī)律(不要出現(xiàn)名字,電話,?日等)
PS: 注意事項(xiàng)
1.普通用戶只允許變更自己的密碼,無(wú)法修改其他?密碼,并且密碼?度必須8位字符
2.管理員用戶允許修改任何?的密碼,無(wú)論密碼?度多?或多短。
#1.使用passwd命令修改用戶密碼
# passwd #給當(dāng)前用戶修改密碼
# passwd root #給root用戶修改密碼
# passwd oldboy #給oldboy用戶修改密碼,普通用戶只能自己修改自己#2.驗(yàn)證如下?項(xiàng)指標(biāo)
# passwd #root管理員用戶登陸,修改root用戶密碼
# passwd xuliangwei #root用戶登陸,修改其他用戶的密碼
$ passwd root #普通用戶修改root管理員密碼
# echo "123" | passwd --stdin xuliangwei #非交互式修改密碼#3.系統(tǒng)內(nèi)置變量?成隨機(jī)字符串
[root@bgx ~]# echo $RANDOM|md5sum|cut -c 1-10
d09fe9b1xs
[root@bgx ~]# echo $(echo $RANDOM|md5sum |cut -c 5-14) |tee pass.txt| passwd --sn xuliangwei#4.mkpasswd?成隨機(jī)字符串, -l設(shè)定密碼?度,-d數(shù)?,-c小寫(xiě)字?,-C?寫(xiě)字?,-s特殊字符
[root@bgx ~]# yum install -y expect //需要安裝擴(kuò)展包
[root@bgx ~]# mkpasswd -l 10 -d 2 -c 2 -C 2 -s 4
|K&13bR)i/ PS: 推薦密碼保存套件工具,?持windows、MacOS、Iphone以及瀏覽器插件Lastpass官方?站
4.用戶組的管理
4.1.什么是用戶組?
其實(shí)就是?種邏輯層?的定義,邏輯上將多個(gè)用戶歸納至?個(gè)組,當(dāng)我們對(duì)組操作,其實(shí)就相當(dāng)于對(duì)組中的所有用戶操作。
4.2.對(duì)于用戶來(lái)說(shuō),組有?種類別?
基本組,用戶只能有?個(gè)基本組,創(chuàng)建時(shí)可通過(guò)-g指定,如未指定則創(chuàng)建?個(gè)默認(rèn)的組(與用戶同名)
附加組,基本組不能滿?授權(quán)要求,創(chuàng)建附加組,將用戶加入該組,用戶可以屬于多個(gè)附加組
4.3.那組的信息保存在哪呢?
組賬戶信息保存在/etc/group和/etc/gshadow兩個(gè)文件中。重點(diǎn)關(guān)注group
4.3.1./etc/group 配置文件解釋如下圖
4.3.2./etc/gshadow 配置文件解釋如下圖
1.使用groupadd命令新增組,groupadd [-g GID] groupname
#創(chuàng)建基本組, 不指定gid
[root@bgx ~]# groupadd no_gid
[root@bgx ~]# tail -n1 /etc/group
no_gid:x:1000#創(chuàng)建基本組, 指定gid為5555
[root@bgx ~]# groupadd -g 5555 yes_gid
[root@bgx ~]# tail -n1 /etc/group
yes_gid:x:5555:#創(chuàng)建系統(tǒng)組,gid從201-999
[root@bgx ~]# groupadd -r sys_group
[root@bgx ~]# tail -n1 /etc/group
sys_group:x:990: 2.使用groupmod命令新增組
#-g 修改組gid
[root@bgx ~]# groupmod -g 1111 no_gid
[root@bgx ~]# tail -1 /etc/group
no_gid:x:1111#-n 修改組名稱
[root@bgx ~]# groupmod -n active_group yes_gid
[root@bgx ~]# tail -1 /etc/group
active_group:x:5555: 3.groupdel刪除組,刪除時(shí)需要注意,如果用戶存在基本組則無(wú)法直接刪除該組,如果刪除用戶則會(huì)移除默認(rèn)的私有組,而不會(huì)移除基本組。
#刪除組
[root@bgx ~]# groupdel active_group#刪除用戶附加組
[root@bgx ~]# id xuliangwei
uid=1069(xuliangwei) gid=5005(xuliangwei) groups=5005(xuliangwei),5004(devops)
[root@bgx ~]# groupdel devops
[root@bgx ~]# id xuliangwei
uid=1069(xuliangwei) gid=5005(xuliangwei) groups=5005(xuliangwei)#無(wú)法刪除用戶基本組
[root@bgx ~]# groupdel network_sa
groupdel: cannot remove the primary group of user 'bgx_xuliangwei'
#只有刪除用戶或者用戶變更基本后,方可刪除該組 4.使用gpasswd設(shè)置組密碼[擴(kuò)展,可以不會(huì)]
[root@bgx ~]# groupadd devops
[root@bgx ~]# gpasswd devops
Changing the password for group devops
New Password
Re-enter new password: 5.使用newgrp命令切換基本組身份[擴(kuò)展,可以不會(huì)]
#1.檢查賬戶信息
[root@bgx ~]# useradd xuliangwei
[root@bgx ~]# id xuliangwei
uid=1069(xuliangwei) gid=5005(xuliangwei) groups=5005(xuliangwei)#2.切換普通用戶
[root@bgx ~]# su - xuliangwei#3.創(chuàng)建新文件,查看文件的屬主和屬組
[xuliangwei@bgx ~]$ touch file_roots
[xuliangwei@bgx ~]$ ll
-rw-rw-r-- 1 xuliangwei xuliangwei 0 Jun 13 10:06 file_roots#4.使用newgrp切換到devops組
[xuliangwei@bgx ~]$ newgrp devops
Password:#5.創(chuàng)建文件,檢查屬主和屬組
[xuliangwei@bgx ~]$ touch file_test
[xuliangwei@bgx ~]$ ll
-rw-rw-r-- 1 xuliangwei xuliangwei 0 Jun 13 10:06 file_roots
-rw-r--r-- 1 xuliangwei devops 0 Jun 13 10:08 file_test 5.用戶如何提權(quán)
往往公司的服務(wù)器對(duì)外都是禁止root用戶直接登錄,所以我們通常使用的都是普通用戶,那么問(wèn)題來(lái)了?
當(dāng)我們使用普通用戶執(zhí)行/sbin目錄下的命令時(shí),會(huì)發(fā)現(xiàn)沒(méi)有權(quán)限運(yùn)行,這種情況下我們無(wú)法正常的管理服務(wù)器,那如何才能不使用root用戶直接登錄系統(tǒng),同時(shí)?保證普通用戶能完成日常工作?
PS: 我們可以使用如下兩種方式: su、sudo
1.su切換用戶,使用普通用戶登錄,然后使用su命令切換到root。優(yōu)點(diǎn):簡(jiǎn)單 缺點(diǎn):需要知道root密碼
2.sudo提權(quán),當(dāng)需要使用root權(quán)限時(shí)進(jìn)行提權(quán),而無(wú)需切換至root用戶,優(yōu)點(diǎn):安全、方便 缺點(diǎn):復(fù)雜
5.1.su身份切換
在使用su切換前,我們需要了解?些預(yù)備知識(shí),比如shell分類、環(huán)境變量配置文件有哪些
5.1.1.Linux Shell主要分為如下?類
交互式shell,等待用戶輸入執(zhí)行的命令(終端操作,需要不斷提示)
非交互式shell,執(zhí)行shell腳本, 腳本執(zhí)行結(jié)束后shell自動(dòng)退出
登陸shell,需要輸入用戶名和密碼才能進(jìn)入Shell,日常接觸的最多的?種
非登陸shell,不需要輸入用戶和密碼就能進(jìn)入Shell,比如運(yùn)行bash會(huì)開(kāi)啟?個(gè)新的會(huì)話窗? 5.1.2.bash shell配置文件介紹(文件主要保存用戶的工作環(huán)境)
個(gè)?配置文件: ~/.bash_profile ~/.bashrc 全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrc
profile類文件, 設(shè)定環(huán)境變量, 登陸前運(yùn)行的腳本和命令。bashrc 類文件, 設(shè)定本地變量, 定義命令別名PS: 如果全局配置和個(gè)?配置產(chǎn)?沖突,以個(gè)?配置為準(zhǔn)。 5.1.3.登陸系統(tǒng)后,環(huán)境變量配置文件的應(yīng)用順序是?
登錄式shell配置文件執(zhí)行順序: /etc/profile->/etc/profile.d/*.sh->~/.bash_profile->~/.bashrc->/etc/bashrc
非登陸式shell配置文件執(zhí)行順序: ~/.bashrc->/etc/bashrc->/etc/profile.d/*.shPS: 驗(yàn)證使用echo在每行添加?個(gè)輸出即可 5.1.4.說(shuō)了這么多預(yù)備知識(shí),那這些和su命令切換用戶有什么關(guān)系?
su - username屬于登陸式shell,su username屬于非登陸式shell,區(qū)別在于加載的環(huán)境變量不?樣。
普通用戶 su - 可以直接切換至root用戶,但需要輸入root用戶的密碼。
超級(jí)管理員root用戶使用 su - username 切換普通用戶不需要輸入任何密碼。 #1.普通用戶使用su切換root
[xuliangwei@node1 ~]$ su
密碼: #輸入root的密碼
[root@node1 xuliangwei]# pwd
/home/xuliangwei
#2.普通用戶使用su -切換到root,會(huì)加載root的環(huán)境變量
[xuliangwei@node1 ~]$ su -
密碼:
[root@node1 ~]# pwd
/root
#3.以某個(gè)用戶的身份執(zhí)行某個(gè)服務(wù),使用命令`su -c username`
[root@bgx ~]# su - xuliangwei -c 'ifconfig'
[root@bgx ~]# su - xuliangwei -c 'ls ~' 5.2.sudo提權(quán)
su 命令在切換用戶身份時(shí),如果每個(gè)普通用戶都能拿到 root 用戶的密碼,當(dāng)其中某個(gè)用戶不小心泄漏了 root 的密碼,那系統(tǒng)會(huì)變得非常不安全。
為了改進(jìn)這個(gè)問(wèn)題,從而產(chǎn)?了 sudo 這個(gè)命令。
sudo 執(zhí)行?個(gè)僅有 root 身份才能執(zhí)行的命令是可以辦到的,但是需要輸入密碼,這個(gè)密碼并不是 root 的密碼而是用戶自己的密碼。
默認(rèn)只有 root 用戶能使用 sudo 命令,普通用戶想要使用 sudo 需要 root 預(yù)先設(shè)定,即使用visudo 命令去編輯相關(guān)的配置文件 /etc/sudoers
Centos7 提權(quán)
[root@node1 ~]# usermod bgx -G wheel
//日志審計(jì)
[root@node1 ~]$ sudo tail -f /var/log/secureCentOS6 提權(quán)
#1.系統(tǒng)安裝后就有sudo命令,如果沒(méi)有sudo命令,可通過(guò)如下方式安裝
[root@bgx ~]# yum install -y sudo
#2.使用`visudo`命令編輯sudo配置文件, 相當(dāng)于 vim /etc/sudoers`配置文件
[root@bgx ~]# visudo #會(huì)對(duì)配置進(jìn)行驗(yàn)證
xuliangwei ALL=(ALL) /bin/rm, /bin/cp #新增
#3.配置選項(xiàng)詳解
1.用戶名 2.主機(jī)名 3.??名 4.命令名
root ALL= (ALL) ALL
xuliangwei ALL 使用最???執(zhí)行 /bin/rm, /bin/cp #允許使用sudo執(zhí)行命令
xuliangwei ALL=(ALL) NOPASSWD:/bin/cp, /bin/rm //不需要密碼使用rm、cp命令
#4.使用visudo -c檢查配置文件
[root@bgx ~]# visudo -c
/etc/sudoers: parsed OK 5.3.普通用戶驗(yàn)證 sudo 權(quán)
#1.切換普通用戶
[root@bgx ~]# su - xuliangwei#2.檢查普通用戶sudo權(quán)限明細(xì)
[xuliangwei@xuliangwei ~]$ sudo -l
...
User xuliangwei may run the following commands on this host:(ALL) /bin/rm, (ALL) /bin/cp
#3.普通用戶刪除opt目錄,刪除失敗
[xuliangwei@xuliangwei ~]$ rm -rf /opt/
rm: cannot remove `/opt': Permission denied#4.使用sudo提權(quán),驗(yàn)證用戶權(quán)限是否可用,需要輸入普通用戶的密碼
[xuliangwei@xuliangwei ~]$ sudo rm -rf /opt 5.4.sudo免密碼配置選項(xiàng)
#1.普通用戶執(zhí)行sudo不需要輸入密碼配置
[root@bgx ~]# visudo
xuliangwei ALL=(ALL) /bin/rm, /bin/cp #默認(rèn)
xuliangwei ALL=(ALL) NOPASSWD:/bin/rm, /bin/cp #修改后#2.默認(rèn)普通用戶無(wú)權(quán)刪除
[xuliangwei@xuliangwei ~]$ rm -f /root/002
rm: cannot remove `/root/002': Permission denied
#3.驗(yàn)證sudo免密碼執(zhí)行權(quán)限
[xuliangwei@xuliangwei ~]$ sudo rm -f /root/002 5.5. sudo 配置組
//如果每增加?個(gè)用戶需配置?行sudo,這樣設(shè)置非常麻煩。所以可以進(jìn)行如下設(shè)置
%gbx ALL=(ALL) NOPASSWD:/bin/rm, /bin/cp #新增組
//group1這個(gè)組的所有用戶都擁有sudo的權(quán)力。接下來(lái)只需要將用戶加入該組即可。//創(chuàng)建用戶加入該組
[root@bgx ~]# groupadd bgx
[root@bgx ~]# useradd bgx1 -g bgx
[root@bgx ~]# useradd bgx2 -g bgx//root用戶建立目錄
[root@bgx ~]# mkdir /root/bgx_sudo//切換用戶并刪除測(cè)試
[root@node1 ~]# su - bgx1
[bgx1@xuliangwei ~]$ rm -rf /root/bgx_sudo
rm: cannot remove `/root/bgx_sudo': Permission denied//使用sudo
[bgx1@xuliangwei ~]$ sudo rm -rf /root/bgx_sudo 當(dāng)然配置文件 /etc/sudoers 包含了諸多配置項(xiàng),可以使用命令 man sudoers 來(lái)獲得幫助信息。
下?介紹?個(gè)很實(shí)用的案例,我們的需求是將 Linux 服務(wù)器設(shè)置成如下:
1.僅允許使用普通賬戶登陸 Linux 服務(wù)器,禁止root直接登錄
2.可以讓普通用戶不輸入密碼就能 sudo su - 切換到 root 賬戶
//禁止root用戶登陸
[root@bgx ~]# sed -i 's@#PermitRootLogin yes@PermitRootLogin no@g' /etc/ssh/sshd_c
onfig[root@bgx ~]# systemctl restart sshd
//配置sudo權(quán)限
[root@bgx ~]# visudo
User_Alias USER_SU = bgx1,bgx2,xuliangwei
Cmnd_Alias SU = /bin/su
USER_SU ALL=(ALL) NOPASSWD:SU
//使用root登陸服務(wù)器失敗
? ~ ssh root@192.168.56.11
root@192.168.56.11's password:
Permission denied, please try again.
//使用普通用戶登陸服務(wù)器
? ~ ssh xuliangwei@192.168.56.11
xuliangwei@192.168.56.11's password:
Last login: Mon Oct 30 09:28:21 2017 from 192.168.56.2
//使用sudo提權(quán)至root用戶
[xuliangwei@xuliangwei ~]$ sudo su -
[root@bgx ~] 5.6. sudo 執(zhí)行流程:
1.普通用戶執(zhí)行sudo命令, 會(huì)檢查/var/db/sudo是否存在時(shí)間戳緩存
2.如果存在則不需要輸入密碼, 否則需要輸入用戶與密碼
3.輸入密碼會(huì)檢測(cè)是否該用戶是否擁有該權(quán)限
4.如果有則執(zhí)行,否則報(bào)錯(cuò)退出
來(lái)自為知筆記(Wiz)
轉(zhuǎn)載于:https://www.cnblogs.com/Forever-x/p/75bbadf60d36d2e5edd0c91ad4ad4e94.html
總結(jié)
- 上一篇: 上不了名校?可以在 GitHub 上读他
- 下一篇: Kubernetes 架构(下)【转】