在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

搞懂Linux權限管理,提升系統安全性與穩定性

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2024-11-22 10:31 ? 次閱讀

目錄

權限管理

4.1 linux安全上下文

4.2 特殊權限

2.1 修改權限的命令chmod

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

1.權限簡介

2.權限管理命令

3. 遮罩碼

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

5. 文件系統訪問控制列表facl

6. sudo

7. 管理命令

1.權限簡介

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

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

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

權限 對應的操作對象 權限說明
r 文件 可讀
可以使用類似cat等命令查看文件內容
w 文件 可寫
可以編輯或刪除此文件
x 文件 可執行,eXacutable
可以在命令提示符下
當作命令提交給內核運行
r 目錄 可以對此目錄執行ls以列出內部的所有文件
w 目錄 可以在此目錄中創建文件
也可刪除此目錄中的文件
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的屬組賦予可寫和可執行權限,它之前可讀權限消失了
[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賦予可讀可寫可執行權限
[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賦予可讀可寫可執行權限
//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文件賦予可讀可寫可執行權限
[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
//也可以通過數字的方式賦予文件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. 遮罩碼

為什么文件創建以后默認權限是644?
為什么目錄創建以后默認權限是755?

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

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

文件最終的權限為:

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

777-umask
文件默認是不能具有執行權限的,如果算得的結果有執行權限則將其權限整體加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執行權限在那么就會整體權限加一,
目錄的滿權限是777,可以看見遮罩碼是只能改變后面創建的文件或者目錄權限,之前已經存在的不會改變

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

4.1 linux安全上下文

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

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

4.2 特殊權限

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

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

Sticky(1) //在一個公共目錄,每個人都能創建文件,刪除自己的文件,但是不能刪除別人創建的文件
chmod o+t DIR
chmod o-t DIR
//如果DIR本身原來就有執行權限,則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權限后,再次進行測試發現最終其屬主還是root本身
//此處w后面出現一個小s代表賦予執行權限,如果是大S那么就是這條命令本來就沒有執行權限

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


//可以看見通過設置u-s可以取消那個權限也可以設置755權限后就沒有suid權限然后這條執行命令的用戶回到了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 //沒有執行權限是大寫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
//有執行權限是小寫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權限,就是說在這個公共目錄中,你可以創建并且刪除自己的東西,其他的還是需要管理員給予權限
[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. 文件系統訪問控制列表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,此時在此目錄中創建的文件均繼承此訪問控制列表所設置的權限
-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有執行權限
[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可以實現某個用戶能夠以另外哪一個用戶的身份通過哪些主機執行什么命令

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地址
網絡地址
其它主機別名
Runas別名:
Runas_Alias =
用戶名
%組名
其它的Runas別名
命令別名:
Cmnd_Alias =
命令路徑
目錄(此目錄內的所有命令)
其它已定義的命令別名
//sudo命令語法:sudo [options] COMMAND
-V //顯示版本編號
-h //會顯示版本編號及指令的使用方式說明
-l //列出當前用戶可以使用的所有sudo類命令
-v //因為sudo在第一次執行時或是在N分鐘內沒有執行(N默認為5)會問密碼,這個參數
//是重新做一次確認,如果超過N分鐘,也會問密碼
-k //讓認證信息失效,如果不指定-k,默認認證信息在5分鐘后失效
-b //將要執行的指令放在后臺執行
-u USERNAME //以指定的用戶名執行命令,默認為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.
//只能創建,不能刪除用戶
[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在第一次執行時或是在N分鐘內沒有執行(N默認為5)會問密碼,這個參數 是重新做一次確認,如果超過N分鐘,也會問密碼

7. 管理命令

w //顯示當前登錄到系統的用戶有哪些,以及其正在做什么
sleep //睡眠,寫腳本為防止上一個命令沒執行完下一命令就開始執行時可以加上sleep #
//表示停頓#秒后再執行后面的命令
sleep NUMBER[SUFFIX]...
SUFFIX:
s:秒,默認
m:分
h:小時
d:天
last //顯示/var/log/wtmp文件,顯示用戶登錄歷史及系統重啟歷史
-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
//統計這個命令執行的時間
[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

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

    關注

    87

    文章

    11420

    瀏覽量

    212355
  • 權限
    +關注

    關注

    0

    文章

    13

    瀏覽量

    7335

原文標題:搞懂 Linux 權限管理,提升系統安全性與穩定性

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

收藏 人收藏

    評論

    相關推薦

    諧波檢測與電力系統穩定性

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

    電子負載的保護功能:如何保障電源測試的穩定性

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

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

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

    如何有效地監控電力系統的運行狀態并保證系統安全性

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

    混合部署 | 在迅為RK3568上同時部署RT-Thread和Linux系統

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

    智能系統安全性分析

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

    如何選擇和使用發那科機床數據采集網關?確保數據的實時穩定性安全性

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

    如何保證備自投裝置可靠穩定性

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

    聚徽-提升工業顯示屏耐用穩定性的方法都有哪些

    提升工業顯示屏耐用穩定性的方法主要包括以下幾個方面:
    的頭像 發表于 09-12 10:14 ?608次閱讀

    VCO的頻率穩定性是什么

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

    自動控制原理如何提高系統穩定性

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

    自動控制原理怎么判斷系統穩定性

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

    環路增益的穩定性

    值為單位1且相角為180度時,A(w)=-1則閉環增益為無窮大,這就導致當輸入信號為0時,輸出信號信號不為0,也就意味著電路產生了震蕩。 判斷系統穩定性的依據:奈奎斯特判據,不僅可以判定系統是否
    發表于 06-18 15:00

    影響放大器穩定性的因素

    的影響因素,對于提升電路設計的可靠和性能具有重要意義。本文將從多個方面對放大器穩定性的影響因素進行詳細分析,旨在為讀者提供全面的指導和參考。
    的頭像 發表于 05-28 14:43 ?2398次閱讀

    4針M5公頭產品耐用穩定性如何?

      德索工程師說道在電子設備和系統的連接中,4針M5公頭產品因其特定的設計和功能,被廣泛應用于各種場景。其耐用穩定性不僅關系到設備的使用壽命,還直接影響到整個系統的運行效率和
    的頭像 發表于 05-13 17:47 ?585次閱讀
    4針M5公頭產品耐用<b class='flag-5'>性</b>和<b class='flag-5'>穩定性</b>如何?
    主站蜘蛛池模板: 日本www高清 | 色网站在线视频 | 高清国产在线 | 欧美一级黄色片在线观看 | 久久精品影院永久网址 | 天堂网在线最新版www | 在线观看一二三区 | 午夜黄大色黄大片美女图片 | 1v1高h肉爽文bl | 综合五月 | 青草91 | 朱元璋传奇1998王耿豪版 | 亚洲干综合| 国产又色又爽又黄的网站在线一级 | 四虎影视大全免费入口 | 亚洲成在人色婷婷 | 在线观看亚洲一区二区 | 爱我免费视频观看在线www | 欧美一区二区三区在线观看 | 天天操天天射天天舔 | 又粗又大又爽又色又过瘾视频 | 五月婷婷电影 | 日本天堂网在线观看 | 天天躁夜夜躁狠狠躁躁 | 欧美黄页| 一区二区三区四区精品 | 久久久国产高清 | 窝窝午夜在线观看免费观看 | 中文日产国产精品久久 | 色综合天天网 | 免费看国产一级片 | 国产看午夜精品理论片 | sihu国产午夜精品一区二区三区 | h黄网站 | 亚洲444kkk| 国产叼嘿免费视频网站 | 精品国产麻豆免费人成网站 | 欧美精品久久久久久久小说 | 国产亚洲综合一区 柠檬导航 | 国产高清美女一级a毛片 | 你懂的在线观看网站 |