国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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
    +關注

    關注

    88

    文章

    11758

    瀏覽量

    219006
  • 權限
    +關注

    關注

    0

    文章

    13

    瀏覽量

    7472

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    微電網穩定性分析:小干擾穩定與暫態穩定關鍵技術

    微電網作為新型電力系統“源網荷儲”協同的核心單元,其穩定性直接決定能源供給的可靠與用戶用電安全。在高比例新能源滲透與多模式運行的雙重背景下,微電網面臨著“功率波動常態化、故障沖擊多樣
    的頭像 發表于 03-02 10:43 ?1450次閱讀
    微電網<b class='flag-5'>穩定性</b>分析:小干擾<b class='flag-5'>穩定</b>與暫態<b class='flag-5'>穩定</b>關鍵技術

    Neway微波的穩定性優勢

    對信號傳輸的影響。在電子戰系統中,這一特性尤為重要,它確保了在高強度電磁干擾環境下,信號仍能夠穩定傳輸,為電子戰系統的正常運作提供了有力保障。四、長期可靠
    發表于 01-05 08:48

    數字隔離器,如何提升光伏系統的運行穩定性?

    2025年光伏行業轉向高質量發展,數字隔離器提升系統穩定性安全性,保障高效運行。
    的頭像 發表于 12-26 15:24 ?339次閱讀
    數字隔離器,如何<b class='flag-5'>提升</b>光伏<b class='flag-5'>系統</b>的運行<b class='flag-5'>穩定性</b>?

    如何評估內嵌式模組的穩定性

    運行可靠與壽命。 綜合驗證與品牌考量:在決策前,盡可能進行模擬工況的壽命測試,這是驗證其長期穩定性的最有效方法。同時,選擇行業內有良好口碑和豐富應用案例的品牌,通常意味著更可靠的產品質量、完善的技術支持與售后服務,保障生產連續
    發表于 12-04 15:27

    CW32 MCU在高頻率運行下的系統穩定性提升方案

    ,通過合理的電源管理和熱管理策略,保持系統穩定性,包括動態電壓調節(DVS)、節能模式切換、以及散熱方案優化等。 通過這些穩定性
    發表于 12-04 08:04

    高精度壓力測量器:國產萬分級精度零點穩定性和滿量程穩定性能應用場景分析

    壓力傳感器、壓力表。例如國家計量院或企業計量實驗室的壓力校準裝置,需依賴該級別傳感器確保校準結果的溯源和準確。 2. 能源勘探與新能源領域 能源行業對壓力監測的 “長期穩定性” 要求苛刻,尤其是井下、高壓
    發表于 10-28 10:40

    如何利用X-Ray技術提升鋰電池安全性穩定性

    隨著新能源產業的迅猛發展,鋰電池作為電動汽車、智能設備和儲能系統的核心動力源,其安全性穩定性問題日益受到行業關注。鋰電池內部結構復雜,傳統檢測手段難以全面揭示潛在隱患?;诖?,X-Ray技術憑借其
    的頭像 發表于 10-13 14:22 ?581次閱讀

    怎樣確保數據管理平臺的軟件系統穩定性?

    確保電能質量在線監測裝置 數據管理平臺軟件系統穩定性 ,需圍繞 “架構設計、數據處理、容錯災備、性能優化、安全防護、測試驗證、運維保障”7 大核心維度構建體系化方案,結合電能質量監測
    的頭像 發表于 09-19 13:50 ?539次閱讀
    怎樣確保數據<b class='flag-5'>管理</b>平臺的軟件<b class='flag-5'>系統</b><b class='flag-5'>穩定性</b>?

    三坐標如何實現測量穩定性提升

    在三坐標測量機的核心部件中,橫梁與Z軸材料的穩定性對測量結果起著決定性作用。同一臺機器,不同的橫梁材料,儀器具有不同的穩定性能。MizarGold采用的陶瓷橫梁其XRY角擺波動始終穩定
    的頭像 發表于 08-25 11:14 ?1258次閱讀
    三坐標如何實現測量<b class='flag-5'>穩定性</b>的<b class='flag-5'>提升</b>

    技術文章 | Ubuntu權限管理攻略

    前言:在Linux系統生態中,Ubuntu憑借其易用穩定性成為眾多開發者與企業的首選操作系統。而權限
    的頭像 發表于 08-14 12:02 ?926次閱讀
    技術文章 | Ubuntu<b class='flag-5'>權限</b><b class='flag-5'>管理</b>攻略

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

    提高團隊響應速度,優化維護運營在工業或商業建筑中,集中告警管理已成為確保安全性或檢測故障的必備工具。通過將所有安全系統集中管理,企業能夠將所有告警統一在一個HMI界面中,大幅
    的頭像 發表于 08-08 18:25 ?521次閱讀
    宏集分享 | 集中告警<b class='flag-5'>管理</b>如何<b class='flag-5'>提升</b>設施<b class='flag-5'>安全性</b>?

    MCU供電48V降3V500mA穩壓IC方案H6601

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

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

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

    Linux權限管理基礎入門

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

    Linux系統用戶權限詳解

    Linux 是一種開源的、基于 Unix 的操作系統,它因其靈活性、穩定性和高性能而廣泛應用于服務器、嵌入式系統、超級計算機、桌面計算等領域。
    的頭像 發表于 04-25 10:56 ?905次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統</b>用戶<b class='flag-5'>權限</b>詳解