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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

搞懂Linux權限管理,提升系統(tǒng)安全性與穩(wěn)定性

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2024-11-22 10:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目錄

權限管理

4.1 linux安全上下文

4.2 特殊權限

2.1 修改權限的命令chmod

2.2 修改文件屬主和屬組的命令chown

1.權限簡介

2.權限管理命令

3. 遮罩碼

4. linux安全上下文與特殊權限

5. 文件系統(tǒng)訪問控制列表facl

6. sudo

7. 管理命令

1.權限簡介

文件的權限主要針對三類對象進行定義:

owner 屬主 u
group 屬組 g
other 其它 o

每個文件針對每個訪問者都定義了三種權限:

權限 對應的操作對象 權限說明
r 文件 可讀
可以使用類似cat等命令查看文件內容
w 文件 可寫
可以編輯或刪除此文件
x 文件 可執(zhí)行,eXacutable
可以在命令提示符下
當作命令提交給內核運行
r 目錄 可以對此目錄執(zhí)行l(wèi)s以列出內部的所有文件
w 目錄 可以在此目錄中創(chuàng)建文件
也可刪除此目錄中的文件
x 目錄 可以使用cd切換進此目錄
也可以使用ls -l查看內部文件的詳細信息

權限的二進制與十進制轉換:

ee8e19ce-a0db-11ef-93f3-92fbcf53809c.png

2.權限管理命令

2.1 修改權限的命令chmod

//修改三類用戶的權限:
//語法:chmod MODE file,...
-R //遞歸修改權限

//修改某類用戶或某些類用戶權限:
//u,g,o,a(用戶類別)

//chmod 用戶類別=MODE file,.....
//chmod 用戶類別=MODE,用戶類別=MODE file,.....

//修改某類的用戶某位或某些位權限:
//u,g,o,a(用戶類別)

//chmod 用戶類別+|-MODE file,.....
//chmod 用戶類別+|-MODE,用戶類別+|-MODE file,.....
//chmod +|-MODE file,.....

[root@lnh ~]# ll
total 24
-rw-r--r--. 1 root root     0 Jul  4 12:22 111
-rw-r--r--. 1 root root     0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root     6 Jul  3 12:00 tushanbu
[root@lnh ~]# chmod u-w 111 
[root@lnh ~]# ll
total 24
-r--r--r--. 1 root root     0 Jul  4 12:22 111
-rw-r--r--. 1 root root     0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root     6 Jul  3 12:00 tushanbu
//不要111的屬主寫權限
[root@lnh ~]# chmod o+w 111 
[root@lnh ~]# ll
total 24
-r--r--rw-. 1 root root     0 Jul  4 12:22 111
-rw-r--r--. 1 root root     0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root     6 Jul  3 12:00 tushanbu
//給111其他這里賦予它可以寫的權限
[root@lnh ~]# ll
total 24
-r--r--rw-. 1 root root     0 Jul  4 12:22 111
-rw-r--r--. 1 root root     0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root     6 Jul  3 12:00 tushanbu
[root@lnh ~]# chmod g=wx 222 
[root@lnh ~]# ll
total 24
-r--r--rw-. 1 root root     0 Jul  4 12:22 111
-rw--wxr--. 1 root root     0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root     6 Jul  3 12:00 tushanbu
//給222的屬組賦予可寫和可執(zhí)行權限,它之前可讀權限消失了
[root@lnh ~]# chmod ugo=rwx 222 
[root@lnh ~]# ll
total 24
-r--r--rw-. 1 root root     0 Jul  4 12:22 111
-rwxrwxrwx. 1 root root     0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root     6 Jul  3 12:00 tushanbu
//給222賦予可讀可寫可執(zhí)行權限
[root@lnh ~]# chmod a=rwx 111 
[root@lnh ~]# ll
total 24
-rwxrwxrwx. 1 root root     0 Jul  4 12:22 111
-rwxrwxrwx. 1 root root     0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root     6 Jul  3 12:00 tushanbu
//給111賦予可讀可寫可執(zhí)行權限
//a=u屬主+g屬組+o其他
[root@lnh ~]# chmod -R a=rwx tushanbu/333 
[root@lnh ~]# ll tushanbu/333 
-rwxrwxrwx. 1 root root 0 Jul  4 12:49 tushanbu/333
//遞歸修改權限
//給tushanbu目錄下的333文件賦予可讀可寫可執(zhí)行權限
[root@lnh ~]# chmod 666 111 
[root@lnh ~]# ll
total 24
-rw-rw-rw-. 1 root root     0 Jul  4 12:56 111
-rwxrwxrwx. 1 root root     0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root    17 Jul  4 12:49 tushanbu
//也可以通過數(shù)字的方式賦予文件111可讀可寫權限

2.2 修改文件屬主和屬組的命令chown

chown命令只有管理員可以使用。
chown 用戶名.屬組 文件名
-R //chown 用戶名.屬組 目錄/文件名
chown 用戶名:屬組 文件名

[root@lnh ~]# ll
total 28
-rw-rw-rw-. 1 root root     0 Jul  4 12:56 111
-rwxrwxrwx. 1 root root     0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-------. 1 lxb  root  1003 Jul  4 13:18 lxb
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root    17 Jul  4 12:49 tushanbu
[root@lnh ~]# chown lxb.lxb 111 
[root@lnh ~]# ll
total 28
-rw-rw-rw-. 1 lxb  lxb      0 Jul  4 12:56 111
-rwxrwxrwx. 1 root root     0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-------. 1 lxb  root  1003 Jul  4 13:18 lxb
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root    17 Jul  4 12:49 tushanbu
//修改111的用戶和屬組為lxb
[root@lnh ~]# chown -R lxb.lxb tushanbu/333 
[root@lnh ~]# ll tushanbu/333 
-rwxrwxrwx. 1 lxb lxb 0 Jul  4 12:49 tushanbu/333
//修改tushanbu目錄下的333文件用戶和屬組為lxb
[root@lnh ~]# chown .lxb 222 
[root@lnh ~]# ll
total 28
-rw-rw-rw-. 1 lxb  lxb      0 Jul  4 12:56 111
-rwxrwxrwx. 1 root lxb      0 Jul  4 12:20 222
-rw-------. 1 root root  1003 Jun 28 04:46 anaconda-ks.cfg
-rw-------. 1 lxb  root  1003 Jul  4 13:18 lxb
-rw-r--r--. 1 root root 15032 Jul  4 08:33 outfile
-rw-r--r--. 1 root root   156 Jul  3 07:38 test
drwxr-xr-x. 2 root root    17 Jul  4 12:49 tushanbu
//修改文件222的屬組為lxb

3. 遮罩碼

為什么文件創(chuàng)建以后默認權限是644?
為什么目錄創(chuàng)建以后默認權限是755?

這是由遮罩碼umask來控制的。

從名字就能看出來,遮罩碼umask是用來隱藏一些權限的。舉例:如果你不想讓人家認出你,你會怎么辦?

文件最終的權限為:

666-umask
目錄最終的權限為:

777-umask
文件默認是不能具有執(zhí)行權限的,如果算得的結果有執(zhí)行權限則將其權限整體加1。

[root@lnh tushanbu]# umask 
0022  //遮罩碼  
[root@lnh tushanbu]# umask 011
[root@lnh tushanbu]# mkdir 876
[root@lnh tushanbu]# touch 345
[root@lnh tushanbu]# ll
total 0
-rw-r--r--. 1 root root 0 Jul  4 13:54 123
drwxr-xr-x. 2 root root 6 Jul  4 13:54 234
-rwxrwxrwx. 1 lxb  lxb  0 Jul  4 12:49 333
-rw-rw-rw-. 1 root root 0 Jul  4 13:54 345
drwxrw-rw-. 2 root root 6 Jul  4 13:54 876
[root@lnh tushanbu]# ll
total 0
-rw-r--r--. 1 root root 0 Jul  4 13:54 123
drwxr-xr-x. 2 root root 6 Jul  4 13:54 234
-rw-rw-rw-. 1 root root 0 Jul  4 13:54 345
drwxrw-rw-. 2 root root 6 Jul  4 13:54 876
//因為文件的滿權限是666,如果有x執(zhí)行權限在那么就會整體權限加一,
目錄的滿權限是777,可以看見遮罩碼是只能改變后面創(chuàng)建的文件或者目錄權限,之前已經存在的不會改變

4. linux安全上下文與特殊權限

4.1 linux安全上下文

前提:進程有屬主和屬組;文件有屬主和屬組

任何一個可執(zhí)行程序文件能不能啟動為進程,取決于發(fā)起者對程序文件是否擁有可執(zhí)行權限;
啟動為進程后,其進程的屬主為發(fā)起者,屬組為發(fā)起者所屬的組
進程訪問文件時的權限取決于進程的發(fā)起者:
進程的發(fā)起者是文件的屬主時,則應用文件屬主權限
進程的發(fā)起者是文件的屬組時,則應用文件屬組權限
應用文件“其它”權限

4.2 特殊權限

linux默認權限是根據(jù)linux安全上下文的方式來控制的,而特殊權限的存在打破了linux安全上下文的規(guī)則。
SUID(4) //運行程序時,這個程序啟動的進程的屬主是程序文件自身的屬主,而不是啟動者為屬主
chmod u+s file
chmod u-s file
//如果file本身原來就有執(zhí)行權限,則SUID顯示為s,否則顯示為S

SGID(2) //運行程序時,這個程序啟動的進程的屬組是程序文件自身的屬組,而不是啟動者所屬的基本組
//默認情況下,用戶創(chuàng)建文件時,其屬組為此用戶所屬的基本組;
//一旦某目錄被設定了SGID,則對此目錄有寫權限的用戶在此目錄中創(chuàng)建的文件或目錄,其所屬的組
//為此設定了SGID的目錄的屬組
chmod g+s DIR
chmod g-s DIR
//如果file本身原來就有執(zhí)行權限,則SGID顯示為s,否則顯示為S

Sticky(1) //在一個公共目錄,每個人都能創(chuàng)建文件,刪除自己的文件,但是不能刪除別人創(chuàng)建的文件
chmod o+t DIR
chmod o-t DIR
//如果DIR本身原來就有執(zhí)行權限,則Sticky顯示為t,否則顯示為T

4755 //有SUID,文件權限為755
2755 //有SGID,文件權限為755
1755 //有Sticky,文件權限為755
//這里前面的4、2、1分別表示SUID、SGID、Sticky
SUID:

eea450a4-a0db-11ef-93f3-92fbcf53809c.png

eea7d616-a0db-11ef-93f3-92fbcf53809c.png


//可以看見sleep這個命令程序本來的屬主是root,但是你在另外一個用戶上面啟動這個命令程序后它的進程屬主變成了啟動它的用戶而不是root本來這個屬主,不過你可以給這個命令程序賦予suid權限后,再次進行測試發(fā)現(xiàn)最終其屬主還是root本身
//此處w后面出現(xiàn)一個小s代表賦予執(zhí)行權限,如果是大S那么就是這條命令本來就沒有執(zhí)行權限

eeab813a-a0db-11ef-93f3-92fbcf53809c.png


//可以看見通過設置u-s可以取消那個權限也可以設置755權限后就沒有suid權限然后這條執(zhí)行命令的用戶回到了lxb

SGID:

[root@lnh tushanbu]# mkdir abc
[root@lnh tushanbu]# ll abc
total 0
[root@lnh tushanbu]# touch abc/123
[root@lnh tushanbu]# ll abc/
total 0
-rw-r--r--. 1 root root 0 Jul  4 17:20 123
[root@lnh tushanbu]# chown .lxb abc/   //這里我們將abc的屬組設置成為了lxb
[root@lnh tushanbu]# ll
total 0
drwxr-xr-x. 2 root lxb 17 Jul  4 17:20 abc
[root@lnh tushanbu]# touch abc/234
[root@lnh tushanbu]# ll abc/
total 0
-rw-r--r--. 1 root root 0 Jul  4 17:20 123
-rw-r--r--. 1 root root 0 Jul  4 17:21 234    //按道理說這里234的屬組應該是lxb,但是我們的默認情況下會讓root為屬組
[root@lnh tushanbu]# chmod 2755 abc  //賦予abc這個命令sgid權限
[root@lnh tushanbu]# ll
total 0
drwxr-sr-x. 2 root lxb 28 Jul  4 17:21 abc
[root@lnh tushanbu]# touch abc/456
[root@lnh tushanbu]# ll abc/
total 0
-rw-r--r--. 1 root root 0 Jul  4 17:20 123
-rw-r--r--. 1 root root 0 Jul  4 17:21 234
-rw-r--r--. 1 root lxb  0 Jul  4 17:23 456  //可以看見456的屬組還是lxb本身
//正常情況下我們就算是修改了屬組但是默認下還是之前目錄本身沒有修改前的屬組,但是加上sgid權限后可以把修改后的屬組變成它修改后的屬組
[root@lnh tushanbu]# ll
total 0
drwxr-sr-x. 2 root lxb 28 Jul  4 14:55 abc
[root@lnh tushanbu]# chmod g-x abc
[root@lnh tushanbu]# ll
total 0
drwxr-Sr-x. 2 root lxb 28 Jul  4 14:55 abc //沒有執(zhí)行權限是大寫S
[root@lnh tushanbu]# chmod g+x abc
[root@lnh tushanbu]# ll
total 0
drwxr-sr-x. 2 root lxb 28 Jul  4 14:55 abc
//有執(zhí)行權限是小寫s

Sticky:

[root@lnh tmp]# ll /
total 16
lrwxrwxrwx.   1 root root    7 May 19  2020 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Jun 27 21:10 boot
drwxr-xr-x.  20 root root 3140 Jun 30 04:30 dev
drwxr-xr-x.  77 root root 8192 Jul  4 13:01 etc
drwxr-xr-x.   5 root root   44 Jul  4 13:01 home
lrwxrwxrwx.   1 root root    7 May 19  2020 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 May 19  2020 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 May 19  2020 media
drwxr-xr-x.   2 root root    6 May 19  2020 mnt
drwxr-xr-x.   2 root root    6 Jul  4 13:17 opt
dr-xr-xr-x. 193 root root    0 Jun 29 18:58 proc
dr-xr-x---.   4 root root  258 Jul  4 14:45 root
drwxr-xr-x.  23 root root  660 Jun 29 18:58 run
lrwxrwxrwx.   1 root root    8 May 19  2020 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 May 19  2020 srv
dr-xr-xr-x.  13 root root    0 Jun 29 18:58 sys
drwxrwxrwt.   7 root root  136 Jul  4 15:03 tmp
drwxr-xr-x.  12 root root  144 Jun 27 21:06 usr
drwxr-xr-x.  20 root root  278 Jun 27 21:10 var
//tmp有Sticky權限,就是說在這個公共目錄中,你可以創(chuàng)建并且刪除自己的東西,其他的還是需要管理員給予權限
[root@lnh tmp]# ll
total 8
-rw-r--r--. 1 root root  15 Jul  3 08:40 hello.out
-rwx------. 1 root root 701 Jun 27 21:09 ks-script-mnbhyjqk
[root@lnh tmp]# touch xbd
[root@lnh tmp]# ll
total 8
-rw-r--r--. 1 root root  15 Jul  3 08:40 hello.out
-rwx------. 1 root root 701 Jun 27 21:09 ks-script-mnbhyjqk
-rw-rw-rw-. 1 root root   0 Jul  4 15:06 xbd
[root@lnh tmp]# rm -f xbd
[root@lnh tmp]# ll
total 8
-rw-r--r--. 1 root root  15 Jul  3 08:40 hello.out
-rwx------. 1 root root 701 Jun 27 21:09 ks-script-mnbhyjqk
//可以刪除自己的東西和修改自己的東西權限

5. 文件系統(tǒng)訪問控制列表facl

facl(Filesystem Access Control List),利用文件擴展保存額外的訪問控制權限。

//語法:setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
-m //設定
uperm
gperm
//setfacl -m urw file
//setfacl -m grw file
//如果要為某個目錄設定默認的訪問控制列表,只需要設定時在u或g前面加上d即可。 如:
//setfacl -m dtest:rw file,此時在此目錄中創(chuàng)建的文件均繼承此訪問控制列表所設置的權限
-x //取消
u:UID
g:GID
//setfacl -x u:test file
//setfacl -x g:test file
-b //Remove all

//語法:getfacl [-aceEsRLPtpndvh] file ...
//getfacl file

[root@lnh tmp]# ll
total 8
-rw-rw-rw-. 1 lxb  lxb    0 Jul  4 15:14 111
-rw-rw-rw-. 1 root root   0 Jul  4 15:14 222
-rw-r--r--. 1 root root  15 Jul  3 08:40 hello.out
-rwx------. 1 root root 701 Jun 27 21:09 ks-script-mnbhyjqk
[root@lnh tmp]# setfacl -m ux 111 //設置lxb這個用戶對111有執(zhí)行權限
[root@lnh tmp]# getfacl 111 
# file: 111
# owner: lxb
# group: lxb
user::rw-
user--x
group::rw-
mask::rwx
other::rw-
//可以查看是否更改成功
[root@lnh tmp]# setfacl -b 111 
[root@lnh tmp]# getfacl 111 
# file: 111
# owner: lxb
# group: lxb
user::rw-
group::rw-
other::rw
//-b 清除了它的所有權限

6. sudo

sudo可以實現(xiàn)某個用戶能夠以另外哪一個用戶的身份通過哪些主機執(zhí)行什么命令

sudo的配置文件:/etc/sudoers

使用visudo命令進行sudo的配置,每一行就是一個sudo條目,條目格式如下:

who which_hosts=(runas) command
who:User_Alias,表示運行命令者的身份
which_hosts:Host_Alias,通過哪些主機
runas:Runas_Alias,以哪個用戶的身份
command:Cmnd_Alias,運行哪些命令
別名必須全部而且只能使用大寫英文字母的組合,可以使用感嘆號取反

別名分類:

用戶別名:
User_Alias NETWORKADMIN =
用戶的用戶名
組名,使用%引導
還可以其它已經定義的用戶別名
主機別名:
Host_Alias =
主機名
IP地址
網(wǎng)絡地址
其它主機別名
Runas別名:
Runas_Alias =
用戶名
%組名
其它的Runas別名
命令別名:
Cmnd_Alias =
命令路徑
目錄(此目錄內的所有命令)
其它已定義的命令別名
//sudo命令語法:sudo [options] COMMAND
-V //顯示版本編號
-h //會顯示版本編號及指令的使用方式說明
-l //列出當前用戶可以使用的所有sudo類命令
-v //因為sudo在第一次執(zhí)行時或是在N分鐘內沒有執(zhí)行(N默認為5)會問密碼,這個參數(shù)
//是重新做一次確認,如果超過N分鐘,也會問密碼
-k //讓認證信息失效,如果不指定-k,默認認證信息在5分鐘后失效
-b //將要執(zhí)行的指令放在后臺執(zhí)行
-u USERNAME //以指定的用戶名執(zhí)行命令,默認為root
通過visudo命令進入:

eec778d6-a0db-11ef-93f3-92fbcf53809c.png


//設置允許lxb用戶使用/usr/sbin/useradd這個命令

[lxb@lnh ~]$ useradd  ml
useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later.
[lxb@lnh ~]$ sudo useradd ml

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for lxb: 
Sorry, try again.
[sudo] password for lxb: 
sudo: 1 incorrect password attempt
//要設置lxb的密碼
[lxb@lnh ~]$ su - root
Password: 
Last login: Mon Jul  4 15:50:37 CST 2022 on pts/1
[root@lnh ~]# echo "redhat" | passwd --stdin lxb
Changing password for user lxb.
passwd: all authentication tokens updated successfully.
[root@lnh ~]# su - lxb 
Last login: Mon Jul  4 15:50:51 CST 2022 on pts/1
[lxb@lnh ~]$ sudo useradd ml
//因為剛剛輸入了密碼所以這里不用
[lxb@lnh ~]$ sudo userdel -r  ml
Sorry, user lxb is not allowed to execute '/sbin/userdel -r ml' as root on lnh.
//只能創(chuàng)建,不能刪除用戶
[lxb@lnh ~]$ sudo -V
Sudo version 1.8.29
Sudoers policy plugin version 1.8.29
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.29
//顯示版本編號
[lxb@lnh ~]$ sudo -h
sudo - execute a command as another user

usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
            [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host]
            [-p prompt] [-T timeout] [-u user] [VAR=value] [-i|-s]
            []
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
            prompt] [-T timeout] [-u user] file ...

Options:
  -A, --askpass                 use a helper program for password prompting
  -b, --background              run command in the background
  -B, --bell                    ring bell when prompting
  -C, --close-from=num          close all file descriptors >= num
  -E, --preserve-env            preserve user environment when running
                                command
      --preserve-env=list       preserve specific environment variables
  -e, --edit                    edit files instead of running a command
  -g, --group=group             run command as the specified group name or ID
  -H, --set-home                set HOME variable to target user's home dir
  -h, --help                    display help message and exit
  -h, --host=host               run command on host (if supported by plugin)
  -i, --login                   run login shell as the target user; a
                                command may also be specified
  -K, --remove-timestamp        remove timestamp file completely
  -k, --reset-timestamp         invalidate timestamp file
  -l, --list                    list user's privileges or check a specific
                                command; use twice for longer format
  -n, --non-interactive         non-interactive mode, no prompts are used
  -P, --preserve-groups         preserve group vector instead of setting to
                                target's
  -p, --prompt=prompt           use the specified password prompt
  -r, --role=role               create SELinux security context with
                                specified role
  -S, --stdin                   read password from standard input
  -s, --shell                   run shell as the target user; a command may
                                also be specified
  -t, --type=type               create SELinux security context with
                                specified type
  -T, --command-timeout=timeout terminate command after the specified time
                                limit
  -U, --other-user=user         in list mode, display privileges for user
  -u, --user=user               run command (or edit file) as specified user
                                name or ID
  -V, --version                 display version information and exit
  -v, --validate                update user's timestamp without running a
                                command
  --                            stop processing command line arguments
//會顯示版本編號及指令的使用方式說明
[lxb@lnh ~]$ sudo -l
[sudo] password for lxb: 
Matching Defaults entries for lxb on lnh:
    !visiblepw, always_set_home, match_group_by_gid,
    always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME
    HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG
    LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION
    LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC
    LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS
    _XKB_CHARSET XAUTHORITY", secure_path=/sbin:/bin:/usr/sbin:/usr/bin

User lxb may run the following commands on lnh:
    (ALL) /usr/sbin/useradd
//因為sudo在第一次執(zhí)行時或是在N分鐘內沒有執(zhí)行(N默認為5)會問密碼,這個參數(shù) 是重新做一次確認,如果超過N分鐘,也會問密碼

7. 管理命令

w //顯示當前登錄到系統(tǒng)的用戶有哪些,以及其正在做什么
sleep //睡眠,寫腳本為防止上一個命令沒執(zhí)行完下一命令就開始執(zhí)行時可以加上sleep #
//表示停頓#秒后再執(zhí)行后面的命令
sleep NUMBER[SUFFIX]...
SUFFIX:
s:秒,默認
m:分
h:小時
d:天
last //顯示/var/log/wtmp文件,顯示用戶登錄歷史及系統(tǒng)重啟歷史
-n # //顯示最近#次的相關信息
lastb //顯示/var/log/btmp文件,顯示用戶錯誤的登錄嘗試
-n # //顯示最近#次的相關信息
lastlog //顯示每個用戶最近一次成功登錄信息
-u username //顯示特定用戶最近的登錄信息
basename //顯示路徑基名

[root@lnh ~]# sleep 3
//睡眠3秒
[root@lnh ~]# sleep 3;echo 123
123
//3秒后打印123
[root@lnh ~]# time sleep 3

real0m3.021s
user0m0.000s
sys0m0.003s
//統(tǒng)計這個命令執(zhí)行的時間
[root@lnh ~]# whoami
root
//我是誰
[root@lnh ~]# who am i
root     pts/0        2022-06-30 11:24 (192.168.222.1)
//我在哪里登錄的  登錄的時間  在哪個主機上面登錄的
[root@lnh ~]# who
root     tty1         2022-06-29 23:00
root     pts/0        2022-06-30 11:24 (192.168.222.1)
//有哪些登錄了我這個終端
[root@lnh ~]# w
 15:55:29 up 20:56,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                Wed23   11:24m  0.02s  0.02s -bash
root     pts/0    192.168.222.1    11:24    1.00s  0.69s  0.00s w
在哪里登錄           登錄的ip地址     什么時間點  登錄時cpu的運行時間  這個家伙在干啥
[root@lnh ~]# last 111

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

    關注

    87

    文章

    11511

    瀏覽量

    213758
  • 權限
    +關注

    關注

    0

    文章

    13

    瀏覽量

    7366

原文標題:搞懂 Linux 權限管理,提升系統(tǒng)安全性與穩(wěn)定性

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MCU供電48V降3V500mA穩(wěn)壓IC方案H6601

    限流保護與過溫保護,提升系統(tǒng)安全性。 外圍元器件需求少,設計精簡;采用 SOT23-6L 封裝,適配小型化電路布局。
    發(fā)表于 07-09 16:47

    60V降3.3V500mA移動電源實地降壓H6601

    限流保護與過溫保護,提升系統(tǒng)安全性。 外圍元器件需求少,設計精簡;采用 SOT23-6L 封裝,適配小型化電路布局。
    發(fā)表于 07-08 17:54

    Linux權限管理基礎入門

    Linux的廣闊天空中,權限管理猶如一只翱翔的雄鷹,掌控著系統(tǒng)安全與秩序。掌握Linux
    的頭像 發(fā)表于 05-06 13:44 ?250次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>權限</b><b class='flag-5'>管理</b>基礎入門

    諧波檢測與電力系統(tǒng)穩(wěn)定性

    諧波檢測與電力系統(tǒng)穩(wěn)定性之間存在著密切的關系。以下是對這一關系的介紹: 一、諧波檢測的重要 諧波檢測是評估電力系統(tǒng)諧波污染程度、識別諧波源以及預測諧波對電網(wǎng)和連網(wǎng)設備潛在影響的重要手
    的頭像 發(fā)表于 01-09 09:37 ?578次閱讀

    電子負載的保護功能:如何保障電源測試的穩(wěn)定性

    在電源測試過程中,電子負載作為關鍵設備,其保護機制對于確保測試的穩(wěn)定性安全性至關重要。本文將探討源儀電子負載的保護功能,以及如何保障電源測試的穩(wěn)定性。選擇具備完善保護功能的電子負載,對于電源測試
    的頭像 發(fā)表于 01-02 17:04 ?608次閱讀
    電子負載的保護功能:如何保障電源測試的<b class='flag-5'>穩(wěn)定性</b>

    集中告警管理如何提升設施安全性?

    在工業(yè)或商業(yè)建筑中,集中告警管理已成為確保安全性或檢測故障的必備工具。它是如何提升設施安全性的?歡迎大家閱讀文章了解~
    的頭像 發(fā)表于 12-13 15:51 ?426次閱讀
    集中告警<b class='flag-5'>管理</b>如何<b class='flag-5'>提升</b>設施<b class='flag-5'>安全性</b>?

    如何有效地監(jiān)控電力系統(tǒng)的運行狀態(tài)并保證系統(tǒng)安全性

    AMB100的工作原理及技術特點,結合實際應用場景分析該產品在不同環(huán)境下的優(yōu)勢,以期為電力監(jiān)控和維護提供技術參考。 1. 引言 電力系統(tǒng)中,直流母線作為重要的電能傳輸通道,其工作狀態(tài)直接關系到電力設備的安全性系統(tǒng)
    的頭像 發(fā)表于 11-18 14:10 ?608次閱讀
    如何有效地監(jiān)控電力<b class='flag-5'>系統(tǒng)</b>的運行狀態(tài)并保證<b class='flag-5'>系統(tǒng)安全性</b>?

    混合部署 | 在迅為RK3568上同時部署RT-Thread和Linux系統(tǒng)

    開發(fā)板支持的 AMP 方案如下: 該方案能夠同時滿足實時應用和非實時應用的需求。某些任務可以運行在 Linux 分區(qū),充分利用 Linux 豐富的社區(qū)資源和驅動支持。而對于那些對系統(tǒng)實時
    發(fā)表于 11-01 10:31

    智能系統(tǒng)安全性分析

    智能系統(tǒng)安全性分析是一個至關重要的過程,它涉及多個層面和維度,以確保系統(tǒng)在各種情況下都能保持安全穩(wěn)定和可靠。以下是對智能
    的頭像 發(fā)表于 10-29 09:56 ?745次閱讀

    如何選擇和使用發(fā)那科機床數(shù)據(jù)采集網(wǎng)關?確保數(shù)據(jù)的實時、穩(wěn)定性安全性

    1. 兼容穩(wěn)定性 在選擇發(fā)那科機床數(shù)據(jù)采集網(wǎng)關時,首要考慮的是設備的兼容穩(wěn)定性。由于不同型號的發(fā)那科機床可能采用不同的通訊協(xié)議,因此網(wǎng)關必須支持這些協(xié)議,以確保與機床的無縫連
    的頭像 發(fā)表于 10-21 16:34 ?807次閱讀
    如何選擇和使用發(fā)那科機床數(shù)據(jù)采集網(wǎng)關?確保數(shù)據(jù)的實時<b class='flag-5'>性</b>、<b class='flag-5'>穩(wěn)定性</b>和<b class='flag-5'>安全性</b>

    如何保證備自投裝置可靠穩(wěn)定性

    備用電源自動投入裝置(簡稱備自投)是一種保證配電系統(tǒng)可靠、連續(xù)供電的安全設備,因此它的可靠穩(wěn)定性直接決定了系統(tǒng)的供電質量,那么該如何保證
    的頭像 發(fā)表于 10-17 17:44 ?638次閱讀
    如何保證備自投裝置可靠<b class='flag-5'>性</b>和<b class='flag-5'>穩(wěn)定性</b>

    聚徽-提升工業(yè)顯示屏耐用穩(wěn)定性的方法都有哪些

    提升工業(yè)顯示屏耐用穩(wěn)定性的方法主要包括以下幾個方面:
    的頭像 發(fā)表于 09-12 10:14 ?775次閱讀

    VCO的頻率穩(wěn)定性是什么

    的能力。以下是對VCO頻率穩(wěn)定性的詳細探討,包括其定義、影響因素、測試方法、提升措施及應用場景等方面,旨在全面解析這一重要概念。
    的頭像 發(fā)表于 08-20 16:08 ?1826次閱讀

    自動控制原理如何提高系統(tǒng)穩(wěn)定性

    自動控制原理是研究如何通過自動控制系統(tǒng)實現(xiàn)對被控對象的控制,以達到預定的性能指標和穩(wěn)定性要求的科學。在自動控制系統(tǒng)中,穩(wěn)定性是一個非常重要的性能指標,它關系到
    的頭像 發(fā)表于 07-29 10:30 ?1879次閱讀

    自動控制原理怎么判斷系統(tǒng)穩(wěn)定性

    自動控制原理是研究控制系統(tǒng)行為和性能的科學。穩(wěn)定性是控制系統(tǒng)的一個重要性能指標,它描述了系統(tǒng)在受到擾動后能否恢復到平衡狀態(tài)的能力。 1. 穩(wěn)定性
    的頭像 發(fā)表于 07-29 10:28 ?4307次閱讀