99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux用戶管理終極指南:從基礎(chǔ)到進(jìn)階

馬哥Linux運(yùn)維 ? 來源:馬哥Linux運(yùn)維 ? 2024-12-04 11:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.用戶基本概述

1.什么是用戶?

用戶指的是能夠正常登錄Linux或Windows系統(tǒng)(可以理解為你租了房子,能夠正常入駐)

F:那Linux與Windows系統(tǒng)的用戶有什么區(qū)別? Q:本質(zhì)都是登陸系統(tǒng),只不過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í)登陸,登陸后相互之間操作并不影響。

2.Linux下的用戶有什么用

或者說我們?yōu)槭裁匆獎(jiǎng)?chuàng)建用戶?

1.系統(tǒng)上的每一個(gè)進(jìn)程(運(yùn)行的程序),都需要一個(gè)特定的用戶運(yùn)行2.通常在公司是使用普通用戶管理服務(wù)器,因?yàn)閞oot權(quán)限過大,容易造成故障。

3.查看用戶

如何查看系統(tǒng)中所存在的用戶

1.查看當(dāng)前登錄的用戶信息

[root@bgx ~]# id    #查看當(dāng)前所登陸的用戶信息
# uid:用戶id,系統(tǒng)只能識(shí)別uid,不能識(shí)別名字,人看名字
# gid:組id
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 #簡單使用一下,不用理解
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]

4.用戶存存放位置

Linux系統(tǒng)會(huì)將用戶的信息存放在/etc/passwd,記錄了用戶的信息,但沒有密碼信息,密碼被存放在/etc/shadow中。

也就是說這兩個(gè)文件非常的重要,不要輕易刪除與修改。

1./etc/passwd 配置文件解釋如下圖,或者man 5 passwd

392f6b06-aca6-11ef-93f3-92fbcf53809c.png

2./etc/shadow 配置文件解釋如下圖,或者man 5 shadow

PS: 使用change修改密碼過期時(shí)間示例

393a5f52-aca6-11ef-93f3-92fbcf53809c.png

4.最后我們需要了解下系統(tǒng)對(duì)用戶的一個(gè)約定?(約定娶你,就真的會(huì)娶嗎?)

用戶UID 系統(tǒng)中約定的含義
0 超級(jí)管理員,最高權(quán)限,有著極強(qiáng)的破壞能力
1~200 系統(tǒng)用戶,用來運(yùn)行系統(tǒng)自帶的進(jìn)程,默認(rèn)已創(chuàng)建
201~999 系統(tǒng)用戶,用來運(yùn)行用戶安裝的程序,所以此類用戶無需登錄系統(tǒng)
1000+ 普通用戶,正??梢缘顷懴到y(tǒng)的用戶,權(quán)限比較小,能執(zhí)行的任務(wù)有限

超級(jí)管理員用戶 root 0

普通用戶

系統(tǒng)用戶:用來啟動(dòng)系統(tǒng)的一些服務(wù)和進(jìn)程的用戶,不可以登陸 1-999(centos7)1-499 (centos6)

可登陸用戶:能登錄系統(tǒng)的用戶 1000-65535(centos7)500-65535(centos6)

2.用戶相關(guān)命令

下面我們就圍繞著用戶的創(chuàng)建、變更、刪除等來講講涉及到的命令: useradd、usermod、userdel

1.新增用戶

使用useradd命令,注意: adduser命令軟鏈接指向useradd命令

useradd


Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]
普通用戶的id是遞增,系統(tǒng)用戶的id是遞減的
-d 用來指定用戶的家目錄
-g 指定用戶組的id
-G 指定用戶的附加組
-k 指定復(fù)制那個(gè)文件夾下的內(nèi)容,需要和-m一起使用
-m 創(chuàng)建用戶的家目錄
-c "message" 指定用戶的描述信息
-N 不創(chuàng)建同名的組,以u(píng)sers為組
-s 指定用戶登錄后使用的shell
-u 指定用戶的id
—D 顯示系統(tǒng)的默認(rèn)配置
-D [options] 可以修改系統(tǒng)的默認(rèn)配置
-r 創(chuàng)建系統(tǒng)用戶

相關(guān)文件

/etc/default/useradd 創(chuàng)建用戶的默認(rèn)文件

/etc/skel/* 默認(rèn)復(fù)制的文件


#選項(xiàng)
# -u 指定要?jiǎng)?chuàng)建用戶的UID,不允許沖突
# -g 指定要?jiǎng)?chuàng)建用戶默認(rèn)組
# -G 指定要?jiǎng)?chuàng)建用戶附加組,逗號(hào)隔開可添加多個(gè)附加組
# -d 指定要?jiǎng)?chuàng)建用戶家目錄
# -s 指定要?jiǎng)?chuàng)建用戶的bash shell  /bin/bash   /sbin/nologin
# -c 指定要?jiǎng)?chuàng)建用戶注釋信息
# -M 給創(chuàng)建的用戶不創(chuàng)建家目錄
# -r 創(chuàng)建系統(tǒng)賬戶,默認(rèn)無家目錄




#1.創(chuàng)建bgx用戶,UID5001,基本組students,附加組sa 注釋信息:2019 new student,登陸shell:/bin/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使其用戶無法登陸系統(tǒng)
[root@bgx ~]# useradd mysql -M -s /sbin/nologin
[root@bgx ~]# useradd -r dba -s /sbin/nologin


# 3 
useradd od -u 7777 -G sa -d /tmp/od -s /sbin/nologin
grep "7777" /etc/passwd
# 4 SELinux
getenforce # 查看
setenforce 0 # 臨時(shí)關(guān)閉
cat /etc/selinux/config
SELINUX=disabled

2.修改用戶信息

使用usermod命令修改用戶信息

用戶修改usermode

-c 修改描述信息
-d 修改家目錄,默認(rèn)不會(huì)創(chuàng)建新目錄,如果想移動(dòng)家目錄,則需要使用-m
-g 修改用戶組
-G 修改用戶的附加組,默認(rèn)情況下是替換
-a 追加附加組
-l newname 修改用戶的登錄名稱
-L 鎖定用戶,不能登錄系統(tǒng),修改密碼默認(rèn)情況下回解鎖
-U 解鎖用戶
-s 修改用戶登錄后的shell
-u 修改用戶的uid
-e 年-月-日 修改用戶的過期時(shí)間,過期以后不能登錄


#選項(xiàng)
# -u 指定要修改用戶的UID
# -g 指定要修改用戶基本組
# -G 指定要修改用戶附加組,使用逗號(hào)隔開多個(gè)附加組, 覆蓋原有的附加組,-aG追加
# -d 指定要修改用戶家目錄 -md 舊家搬新家
# -s 指定要修改用戶的bash shell
# -c 指定要修改用戶注釋信息
# -l 指定要修改用戶的登陸名
# -L 指定要鎖定的用戶
# -U 指定要解鎖的用戶


#1.檢查此前創(chuàng)建的用戶信息
[root@bgx ~]# grep "bgx" /etc/passwd
bgx5001:503:2019 new student:/home/bgx:/bin/bash


#2.修改bgx用戶uid、gid,附加組  -a表示追加
[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, 登錄名 -l:改名字,-md,把環(huán)境也帶過去
[root@bgx ~]# usermod -c "2019 new student" -md /bgx -s /bin/sh -l change_bgx bgx


#檢查是否修改成功
[root@bgx ~]# grep "bgx" /etc/passwd
bgx_lqz6001: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(devops)
[root@bgx ~]# ll -d /bgx
drwx------. 2 bgx_lqz 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ì)無法登陸系統(tǒng)


#5.解鎖用戶[擴(kuò)展]
[root@bgx ~]# usermod -U change_bgx

3.刪除賬戶

使用userdel命令刪除賬戶

刪除用戶 userdel

默認(rèn)刪除用戶不刪除用戶的家目錄
-r 刪除家目錄
-f 強(qiáng)制刪除
默認(rèn)情況下,用戶登錄狀態(tài)下是不能刪除用戶,強(qiáng)制刪除用戶以后,用戶還是可以用的


#選項(xiàng) -r 刪除用戶同時(shí)刪除它的家目錄


#1.刪除user1用戶,但不刪除用戶家目錄和 mail spool
[root@bgx ~]# userdel user1
[root@bgx ~]# ls /var/spool/mail/


#2.-r參數(shù)可以連同用戶家目錄一起刪除(慎用)
[root@bgx ~]# userdel -r user1

4.其他

使用finger命名查詢用戶信息以及登錄信息(yum install finger),示例: finger UserName

使用chfn命令修改用戶信息(其實(shí)是修改注釋),示例: chfn UserName

使用chsh命令修改用戶登錄Bash Shell,示例: chsh UserName

使用who(當(dāng)前有哪些用戶登錄了)、whoami、w檢查用戶登陸情況

396bac42-aca6-11ef-93f3-92fbcf53809c.png

查看用戶相關(guān)信息id

-g 只顯示組id
-G 只顯示附加組id
-u 只顯示用戶id
-n 顯示名稱,需要和guG來配合使用

3.用戶擴(kuò)展知識(shí)

1.創(chuàng)建流程

前面我們學(xué)習(xí)如何創(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
[root@bgx ~]# cat /etc/login.defs
MAIL_DIR    /var/spool/mail  # 定義了郵件路徑放在哪
PASS_MAX_DAYS   99999        # 密碼過期時(shí)間
PASS_MIN_DAYS   0            # 密碼最少0天
PASS_MIN_LEN    5            # 密碼長度
PASS_WARN_AGE   7            # 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             # 是否創(chuàng)建home
UMASK           077
USERGROUPS_ENAB yes         # 用戶不指定組,默認(rèn)創(chuàng)建一個(gè)同名組
ENCRYPT_METHOD SHA512       # 密碼加密算法


[root@bgx ~]# cat /etc/default/useradd
GROUP=100
HOME=/home      #把用戶的家目錄建在/home中。
INACTIVE=-1     #是否啟用賬號(hào)過期停權(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ù)

2.設(shè)置、修改密碼

創(chuàng)建用戶后,如需要使用該用戶登陸系統(tǒng)則需要為用戶設(shè)定密碼,設(shè)定密碼使用passwd命令。建議密碼復(fù)雜度高一些、長度大于10、出現(xiàn)各種特殊字符、無任何規(guī)律(不要出現(xiàn)名字,電話,生日等)

PS: 注意事項(xiàng)

1.普通用戶只允許變更自己的密碼,無法修改其他人密碼,并且密碼長度必須8位字符

2.管理員用戶允許修改任何人的密碼,無論密碼長度多長或多短。


#1.使用passwd命令修改用戶密碼
# passwd        #給當(dāng)前用戶修改密碼
# passwd root   #給root用戶修改密碼
# passwd oldboy #給oldboy用戶修改密碼,普通用戶只能自己修改自己




#2.驗(yàn)證如下幾項(xiàng)指標(biāo)
# passwd                #root管理員用戶登陸,修改root用戶密碼
# passwd lqz     #root用戶登陸,修改其他用戶的密碼
$ passwd root           #普通用戶修改root管理員密碼
# echo "123" | passwd --stdin lqz    #非交互式修改密碼
# 批量創(chuàng)建100個(gè)用戶,密碼都為123456
for i in {1..100}
do
  useradd test$1
  echo "123456" |passwd --stdin test$1
done


#3.系統(tǒng)內(nèi)置變量生成隨機(jī)字符串(對(duì)隨機(jī)字符串進(jìn)行md5加密)
[root@bgx ~]# echo $RANDOM|md5sum|cut -c 1-10
d09fe9b1xs
[root@bgx ~]# echo $(echo $RANDOM|md5sum |cut -c 5-14) |tee pass.txt| passwd --stdin lqz


#4.mkpasswd生成隨機(jī)字符串, -l設(shè)定密碼長度,-d數(shù)子,-c小寫字母,-C大寫字母,-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官方網(wǎng)站

/etc/passwd文件

用戶名稱

密碼,使用x來占位

uid

gid

描述信息

家目錄

登錄后使用的shell

設(shè)置密碼passwd

passwd [OPTION...] 
-d 刪除指定用戶的密碼,刪除密碼之后就不能登錄
-l 鎖定用戶
-u 解鎖用戶
-e 在下次登錄以后強(qiáng)制用戶修改密碼
-f 強(qiáng)制操作
-x maxday 密碼的最長使用時(shí)間
-n minday 密碼的最短使用時(shí)間
-w warnday 密碼過期前多長時(shí)間提醒
-i inactiveday 密碼過期多長時(shí)間以后禁用
--stdin 從標(biāo)準(zhǔn)輸入讀取密碼 echo '123'|passwd --stdin peiqi

存放文件/etc/shadow

用戶名

密碼 $加密方式(默認(rèn)sha512)$鹽$加密后的字符串$

從1970年1月1日到最近一次修改密碼經(jīng)過的時(shí)間

密碼的最短使用時(shí)間(0表示隨時(shí)可以修改)

密碼的最長使用時(shí)間(99999表示永不過期)

密碼過期多長時(shí)間提醒(默認(rèn)是一周)

密碼過期多長時(shí)間鎖定

從1970年1月1日開始算起,多長時(shí)間后賬號(hào)失效

qiao:$6$HBl7BPCJk6JaLtw2$B4NzlqpCrMczVkK51Rjimw7Wp.oRfsCzrKEzmhiBEAfk9T7h.YleYZ3h3qV6Fv.bZnJh666tr36TBJHhCi6M90::0:99999:7:::

密碼的復(fù)雜性策略

必須包括數(shù)字、大小寫、特殊字符

密碼必須12位以上

不能為弱口令

必須為隨機(jī)密碼

3個(gè)月或者半年修改一次

機(jī)器免密登錄

非對(duì)稱加密,公鑰登錄(在已登錄上機(jī)器機(jī)器上生成公鑰,copy公鑰給要登錄的機(jī)器):

ssh-keygen 一路回車
ssh-copy-id 要登錄的機(jī)器

修改用戶密碼策略 chage

-E
-I
-m
-M
-W
change login 可以使用交互式的修改密碼策略

chfn 修改用戶的個(gè)人描述信息

4.用戶如何提權(quán)

往往公司的服務(wù)器對(duì)外都是禁止root用戶直接登錄,所以我們通常使用的都是普通用戶,那么問題來了?

當(dāng)我們使用普通用戶執(zhí)行/sbin目錄下的命令時(shí),會(huì)發(fā)現(xiàn)沒有權(quán)限運(yùn)行,這種情況下我們無法正常的管理服務(wù)器,那如何才能不使用root用戶直接登錄系統(tǒng),同時(shí)又保證普通用戶能完成日常工作?

PS: 我們可以使用如下兩種方式: su、sudo

1.su切換用戶,使用普通用戶登錄,然后使用su命令切換到root。優(yōu)點(diǎn):簡單 缺點(diǎn):需要知道root密碼

2.sudo提權(quán),當(dāng)需要使用root權(quán)限時(shí)進(jìn)行提權(quán),而無需切換至root用戶,優(yōu)點(diǎn):安全、方便 缺點(diǎn):復(fù)雜

1.su身份切換

在使用su切換前,我們需要了解一些預(yù)備知識(shí),比如shell分類、環(huán)境變量配置文件有哪些

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ì)開啟一個(gè)新的會(huì)話窗口

2.bash shell配置文件介紹(文件主要保存用戶的工作環(huán)境)個(gè)人配置文件:~/.bash_profile ~/.bashrc 。

全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrcprofile類文件, 設(shè)定環(huán)境變量, 登陸前運(yùn)行的腳本和命令。

bashrc 類文件, 設(shè)定本地變量, 定義命令別名PS: 如果全局配置和個(gè)人配置產(chǎn)生沖突,以個(gè)人配置為準(zhǔn)。

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è)輸出即可

4.說了這么多預(yù)備知識(shí),那這些和su命令切換用戶有什么關(guān)系?su - username屬于登陸式shell,su username屬于非登陸式shell,區(qū)別在于加載的環(huán)境變量不一樣。su username 屬于非登陸式shell

普通用戶su -可以直接切換至root用戶,但需要輸入root用戶的密碼。超級(jí)管理員root用戶使用su - username切換普通用戶不需要輸入任何密碼。


#1.普通用戶使用su切換root
[lqz@node1 ~]$ su 
密碼:#輸入root的密碼
[root@node1 lqz]# pwd
/home/lqz


#2.普通用戶使用su -切換到root,會(huì)加載root的環(huán)境變量
[lqz@node1 ~]$ su -
密碼:
[root@node1 ~]# pwd
/root


#3.以某個(gè)用戶的身份執(zhí)行某個(gè)服務(wù),使用命令su -c username
[root@bgx ~]# su - lqz -c 'ifconfig'
[root@bgx ~]# su - lqz -c 'ls ~'


#4 其他
yum provides pstree
yum install psmisc
pstree


# 5 關(guān)閉root遠(yuǎn)程登陸,普通用戶登進(jìn)來,su - 切換到root用戶
vim /etc/ssh/sshd_config
PermitRootLogin yes  # 設(shè)成no

切換用戶

su [options] [-] [USER [arg]...]

切換用戶的方式

完整切換:su - username 登錄式切換,環(huán)境變量等都會(huì)切換

不完整切換:su username 不會(huì)切換用戶的環(huán)境變量家目錄等

root切換普通用戶不需要密碼,非root用戶切換需要密碼

切換用戶執(zhí)行命令,并在切換會(huì)來

[root@localhost ~]#su - peiqi -c "whoami"
peiqi

2.sudo提權(quán)

su命令在切換用戶身份時(shí),如果每個(gè)普通用戶都能拿到root用戶的密碼,當(dāng)其中某個(gè)用戶不小心泄漏了root的密碼,那系統(tǒng)會(huì)變得非常不安全。為了改進(jìn)這個(gè)問題,從而產(chǎn)生了sudo這個(gè)命令。

其實(shí)sudo就相當(dāng)于給某個(gè)普通用戶埋下了浩克(hulk)的種子,當(dāng)需要執(zhí)行一些高級(jí)操作時(shí),進(jìn)行發(fā)怒,但正常情況下還是普通人,還是會(huì)受到限制。

1.如何快速埋下hulk的種子呢?


#1.快速配置sudo方式[先睹為快]
[root@node1 ~]# usermod bgx -G wheel # 把用戶加到wheel組中
[root@node1 ~]$ sudo tail -f /var/log/secure    #sudo審計(jì)日志


#2.一般正常配置sudo方式
[root@www ~]# #visudo => vim /etc/sudoers
#1.用戶名  2.主機(jī)名=(角色名)       4.命令名
bgx       ALL=(ALL)         /usr/bin/yum,/usr/sbin/useradd   #允許使用sudo執(zhí)行命令
oldboy   ALL=(ALL)          NOPASSWD:/bin/cp, /bin/rm   #NOPASSWD不需要使用密碼


visudo -c # 檢查剛剛編輯的是否有錯(cuò)誤
sudo -l  # 對(duì)主機(jī)有哪些權(quán)限

2.埋下了hulk種子后又如何提權(quán)使用呢?


#1.切換普通用戶
[root@bgx ~]# su - lqz


#2.檢查普通用戶能提權(quán)的命令
[lqz@lqz ~]$ sudo -l
User lqz may run the following commands on this host:
    (ALL) ALL


#3.普通用戶正常情況下是無法刪除opt目錄的
[lqz@lqz ~]$ rm -rf /opt/
rm: cannot remove `/opt: Permission denied


#4.使用sudo提權(quán),需要輸入普通用戶的密碼。
[lqz@lqz ~]$ sudo rm -rf /opt

3.開啟某個(gè)命令的使用權(quán)限

提升的權(quán)限太大,能否有辦法限制僅開啟某個(gè)命令的使用權(quán)限?其他命令不允許?

第一種方式:使用sudo中自帶的別名操作,將多個(gè)用戶定義成一個(gè)組,這個(gè)組只有sudo認(rèn)可

[root@bgx ~]# visudo  #也可以使用vi /etc/sudoers來配置
# 1.使用sudo定義分組,這個(gè)系統(tǒng)group沒什么關(guān)系
User_Alias OPS = oldboy,alex
User_Alias DEV = bgx,py


# 2.定義可執(zhí)行的命令組,便于后續(xù)調(diào)用
Cmnd_Alias NETWORKING = /sbin/ifconfig, /bin/ping
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/yum
Cmnd_Alias SERVICES = /sbin/service, /usr/bin/systemctl start
Cmnd_Alias STORAGE = /bin/mount, /bin/umount
Cmnd_Alias DELEGATING = /bin/chown, /bin/chmod, /bin/chgrp
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall


# 3.使用sudo開始分配權(quán)限
OPS  ALL=(ALL) NETWORKING,SOFTWARE,SERVICES,STORAGE,DELEGATING,PROCESSES
DEV  ALL=(ALL) SOFTWARE,PROCESSES


#4.登陸對(duì)應(yīng)的用戶使用 sudo -l 驗(yàn)證權(quán)限

第二種方式:使用groupadd添加組,然后給組分配sudo的權(quán)限,如果有新用戶加入,直接將用戶添加到該組.


#1.添加兩個(gè)真實(shí)的系統(tǒng)組,  group_dev group_op
[root@www ~]# groupadd group_dev
[root@www ~]# groupadd group_op


#2.添加兩個(gè)用戶,      group_dev(user_a  user_b)   group_op(user_c  user_d)
[root@www ~]# useradd user_a -G group_dev
[root@www ~]# useradd user_b -G group_dev
[root@www ~]# useradd user_c -G group_op
[root@www ~]# useradd user_d -G group_op


#3.記得添加密碼
[root@www ~]# echo "1" | passwd --stdin user_a
[root@www ~]# echo "1" | passwd --stdin user_b
[root@www ~]# echo "1" | passwd --stdin user_c
[root@www ~]# echo "1" | passwd --stdin user_d


#4.在sudo中配置規(guī)則
[root@www ~]# visudo
    Cmnd_Alias NETWORKING = /sbin/ifconfig, /bin/ping
    Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/yum
    Cmnd_Alias SERVICES = /sbin/service, /usr/bin/systemctl start
    Cmnd_Alias STORAGE = /bin/mount, /bin/umount
    Cmnd_Alias DELEGATING = /bin/chown, /bin/chmod, /bin/chgrp
    Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall


    %group_dev ALL=(ALL) SOFTWARE
    %group_op ALL=(ALL) SOFTWARE,PROCESSES


#5.檢查sudo是否配置有錯(cuò)
[root@www ~]# visudo -c
/etc/sudoers: parsed OK




#6.檢查user_a,和user_d的sudo權(quán)限
[user_a@www.oldboyedu.com ~]$ sudo -l
User user_a may run the following commands on www:
    (ALL) /bin/rpm, /usr/bin/yum


[user_d@www.oldboyedu.com ~]$ sudo -l
User user_d may run the following commands on www:
    (ALL) /bin/rpm, /usr/bin/yum, /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall

4.sudo命令的執(zhí)行流程

普通用戶執(zhí)行sudo命令時(shí), 會(huì)檢查/var/db/sudo是否存在時(shí)間戳緩存

如果存在則不需要輸入密碼, 否則需要輸入用戶與密碼

輸入密碼會(huì)檢測是否該用戶是否擁有該權(quán)限

如果有則執(zhí)行,否則報(bào)錯(cuò)退出

執(zhí)行本身不能執(zhí)行的命令

sudo 配置文件為/etc/sudoers

peiqi   ALL=(ALL)       NOPASSWD:ALL
其中的NOPASSWD 是不需要輸入密碼

5.用戶組的管理

1.什么是用戶組

其實(shí)就是一種邏輯層面的定義,邏輯上將多個(gè)用戶歸納至一個(gè)組,當(dāng)我們對(duì)組操作,其實(shí)就相當(dāng)于對(duì)組中的所有用戶操作。

2.組有類別

對(duì)于用戶來說,組有幾種類別?

基本組,用戶只能有一個(gè)基本組,創(chuàng)建時(shí)可通過-g指定,如未指定則創(chuàng)建一個(gè)默認(rèn)的組(與用戶同名),簡稱私有組

附加組,基本組不能滿足授權(quán)要求,創(chuàng)建附加組,將用戶加入該組,用戶可以屬于多個(gè)附加組

3985f14c-aca6-11ef-93f3-92fbcf53809c.png

3.組的信息位置

組賬戶信息保存在/etc/group和/etc/gshadow兩個(gè)文件中。重點(diǎn)關(guān)注group

1./etc/group 配置文件解釋如下圖

head -1 /etc/group

399f60c8-aca6-11ef-93f3-92fbcf53809c.png

2./etc/gshadow 配置文件解釋如下圖

39a736c2-aca6-11ef-93f3-92fbcf53809c.png

超級(jí)用戶組 root 0

普通用戶組

系統(tǒng)用戶組 1-999(centos7) 1-499(centos6)

可登陸用戶組 1000-65535(centos7)500-65535 (centos6)

groupadd
-g 指定組id
-r 創(chuàng)建系統(tǒng)用戶組

組的文件

/etc/group

組名

密碼占位

gid

組成員

/etc/gshadow

組名

密碼

組管理員的密碼

組成員

1 groupadd新增組

使用groupadd命令新增組,groupadd [-g GID] groupname


#創(chuàng)建基本組, 不指定gid
[root@bgx ~]# groupadd no_gid
[root@bgx ~]# tail -n1 /etc/group
no_gid1000:


#創(chuàng)建基本組, 指定gid為5555
[root@bgx ~]# groupadd -g 5555 yes_gid
[root@bgx ~]# tail -n1 /etc/group
yes_gid5555:


#創(chuàng)建系統(tǒng)組,gid從201-999
[root@bgx ~]# groupadd -r sys_group
[root@bgx ~]# tail -n1 /etc/group
sys_group990:

2 groupmod修改組

使用groupmod命令修改組


#-g 修改組gid
[root@bgx ~]# groupmod -g 1111 no_gid
[root@bgx ~]# tail -1 /etc/group
no_gid1111:


#-n 修改組名稱(把yes_gid名字改為active_group)
[root@bgx ~]# groupmod yes_gid -n active_group 
[root@bgx ~]# tail -1 /etc/group
active_group5555:

3.groupdel刪除組,

刪除時(shí)需要注意,如果用戶存在基本組則無法直接刪除該組,如果刪除用戶則會(huì)移除默認(rèn)的私有組,而不會(huì)移除基本組。


# 私有組的情況,直接刪除用戶,組也就沒了
[root@bgx ~]# userdel jack


#刪除組
[root@bgx ~]# groupdel active_group


#刪除用戶附加組
[root@bgx ~]# id lqz
uid=1069(lqz) gid=5005(lqz) groups=5005(lqz),5004(devops)
[root@bgx ~]# groupdel devops
[root@bgx ~]# id lqz
uid=1069(lqz) gid=5005(lqz) groups=5005(lqz)


#無法刪除用戶基本組
[root@bgx ~]# groupdel network_sa
groupdel: cannot remove the primary group of user 'bgx_lqz'
#只有刪除用戶或者用戶變更基本后,方可刪除該組

4 gpasswd設(shè)置組密碼

使用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切換基本組身份

使用newgrp命令切換基本組身份[擴(kuò)展,可以不會(huì)


#1.檢查賬戶信息
[root@bgx ~]# useradd lqz
[root@bgx ~]# id lqz
uid=1069(lqz) gid=5005(lqz) groups=5005(lqz)


#2.切換普通用戶
[root@bgx ~]# su - lqz


#3.創(chuàng)建新文件,查看文件的屬主和屬組
[lqz@bgx ~]$ touch file_roots
[lqz@bgx ~]$ ll
-rw-rw-r-- 1 lqz lqz 0 Jun 13 10:06 file_roots


#4.使用newgrp切換到devops組
[lqz@bgx ~]$ newgrp devops
Password:


#5.創(chuàng)建文件,檢查屬主和屬組
[lqz@bgx ~]$ touch file_test
[lqz@bgx ~]$ ll
-rw-rw-r-- 1 lqz lqz 0 Jun 13 10:06 file_roots
-rw-r--r-- 1 lqz devops     0 Jun 13 10:08 file_test

修改組信息

groupmod

-g 修改gid
-n 修改組名

刪除組

groupdel 刪除組

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11509

    瀏覽量

    213731
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3613

    瀏覽量

    91392
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3826

    瀏覽量

    82961

原文標(biāo)題:Linux用戶管理終極指南:從基礎(chǔ)到進(jìn)階,一篇就夠!

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux 新手管理指南

    Linux 新手管理指南  第0 部分: 為什么需要Linux . 10.1 為什么需要Linux? .. 10.2
    發(fā)表于 10-07 14:45

    高手進(jìn)階終極內(nèi)存技術(shù)指南

    高手進(jìn)階終極內(nèi)存技術(shù)指南
    發(fā)表于 08-15 17:53

    高手進(jìn)階_終極內(nèi)存技術(shù)指南

    [url=]高手進(jìn)階_終極內(nèi)存技術(shù)指南[/url]
    發(fā)表于 05-29 16:40

    樹莓派權(quán)威用戶指南

    `樹莓派權(quán)威用戶指南:樹莓派(raspberry pi),是一款基于linux系統(tǒng)的、只有一張信用卡大小的卡片式計(jì)算機(jī)。研發(fā)樹莓派的最初目的是通過低價(jià)硬件及自由軟件來推動(dòng)在學(xué)校的基礎(chǔ)的計(jì)算機(jī)學(xué)科
    發(fā)表于 07-01 00:23

    Linux如何管理用戶用戶組?

    用戶用戶管理的作用Linux如何管理用戶用戶
    發(fā)表于 12-17 07:41

    linux入門跑路相關(guān)資料下載

    linux 入門跑路Note3 電源管理關(guān)機(jī)poweroff命令halt命令輸入后立刻關(guān)機(jī)重啟reboot命令關(guān)閉系統(tǒng)shutdown命令以一種安全的方式關(guān)閉系統(tǒng)。所有登陸
    發(fā)表于 12-31 07:15

    Linux管理指南

    本書為Linux管理者提供了指南,希望對(duì) Linux 工作人員有所幫助,全書是英文版的,電子發(fā)燒友還有很多有關(guān)電子的資料,希望成為您工作學(xué)習(xí)的好幫手,好朋友!
    發(fā)表于 07-11 14:56 ?40次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>管理</b>者<b class='flag-5'>指南</b>

    Hi3510 Linux開發(fā)環(huán)境用戶指南

    Hi3510 Linux開發(fā)環(huán)境用戶指南
    發(fā)表于 12-26 22:03 ?0次下載

    《MATLAB進(jìn)階》程序與數(shù)據(jù)資料下載

    《MATLAB進(jìn)階》程序與數(shù)據(jù)
    發(fā)表于 01-13 10:09 ?18次下載

    易云系統(tǒng)項(xiàng)目及用戶管理操作演示終極

    易云系統(tǒng)項(xiàng)目及用戶管理操作演示終極
    發(fā)表于 07-16 09:36 ?409次閱讀

    Linux Add-in User Guide(Linux插件用戶指南)

    Linux Add-in User Guide(Linux插件用戶指南)
    發(fā)表于 05-20 13:23 ?10次下載
    <b class='flag-5'>Linux</b> Add-in User Guide(<b class='flag-5'>Linux</b>插件<b class='flag-5'>用戶</b><b class='flag-5'>指南</b>)

    linux 入門跑路-電源管理

    linux 入門跑路Note3 電源管理關(guān)機(jī)poweroff命令halt命令輸入后立刻關(guān)機(jī)重啟reboot命令關(guān)閉系統(tǒng)shutdown命令以一種安全的方式關(guān)閉系統(tǒng)。所有登陸
    發(fā)表于 01-11 11:10 ?8次下載
    <b class='flag-5'>linux</b> <b class='flag-5'>從</b>入門<b class='flag-5'>到</b>跑路-電源<b class='flag-5'>管理</b>

    Emulex LightPulse適配器為Linux用戶指南

    電子發(fā)燒友網(wǎng)站提供《Emulex LightPulse適配器為Linux用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 08-10 16:11 ?0次下載
    Emulex LightPulse適配器為<b class='flag-5'>Linux</b><b class='flag-5'>用戶</b><b class='flag-5'>指南</b>

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)
    的頭像 發(fā)表于 01-31 14:58 ?1584次閱讀
    RK3568驅(qū)動(dòng)<b class='flag-5'>指南</b>|驅(qū)動(dòng)基礎(chǔ)<b class='flag-5'>進(jìn)階</b>篇-<b class='flag-5'>進(jìn)階</b>8 內(nèi)核運(yùn)行ko文件總結(jié)

    Linux用戶管理詳解

    用戶分為普通用戶和超級(jí)用戶,超級(jí)用戶在Windows系統(tǒng)中為Administrator在Linux系統(tǒng)中為root。登陸
    的頭像 發(fā)表于 11-01 09:48 ?546次閱讀