linux中sudo命令的使用方法

2021-06-21 11:35:53 字數 2626 閱讀 2728

sudo是允許系統管理員讓普通使用者執行一些或者全部的root命令的乙個工具,

如halt,reboot,su等等。這樣不僅減少了root使用者的登陸和管理時間,同

樣也提高了安全性。

sudo不是對shell的乙個代替,它是面向每個命令的。它

的特性主要有這樣幾點:

§ sudo能夠限制使用者只在某台主機上執行某些命令。

sudo提供了豐富的日誌,詳細地記錄了每個使用者幹了什麼。它能夠將日

志傳到中心主機或者日誌伺服器。

§ sudo

使用時間戳檔案來執行類似的「檢票」系統。當使用者呼叫sudo並且輸入它的密碼時,使用者獲得了一張存活期為5分鐘的票(這個值可以在編譯的時候改變)。

§ sudo的配置檔案是sudoers

檔案,它允許系統管理員集中的管理使用者的使用許可權和使用的主機。它所存放的位置預設是在/etc/sudoers,屬性必須為0411。一

,安裝檢測是否已經安裝了sudo:

[root@localhost ~]# rpm -q sudo

sudo-1.6.8p12-4.1

如果沒有安裝

對於大多數系統來說,

sudo

的配置都是相對比較簡單的:

0) $> cd /;cp sudo-1.6.8p12.tar.gz / 

1) $> tar vxzf sudo-1.6.8p12.tar.gz 

2) make 

3) make install 

如下面是乙個極為簡單的例子

加入如下幾行:

defaults syslog=auth

defaults logfile=/var/log/sudo.log

cmnd_alias shutdown=/sbin/halt,/sbin/shutdown

root all=all

使用者名稱all=all

這樣不同使用者就可以變成超級使用者啦!擁有root的許可權啦!

用普通使用者登入,在

提示符下鍵入

sudo bash

怎樣,$變為#

了吧?要回到普通使用者模式,請鍵入exit

注:事實上,這並非真的讓你變為

root

,你打入

who am i

,它會告訴你

某某使用者

tty1...

,也就是說你的身份還是普通使用者,但你的確得到了

root

許可權。你幾乎可以做任何root可以做的事情!

/etc/sudoers中還可以定義使用者別名、主機別名例如:

host_alias server=no1

user_alias admins=abc,bcd

admins all=(all) nopasswd: all

這樣admins

不用口令就可以執行一切操作了。

三,使用 

指令名稱:sudo

使用許可權:在 /etc/sudoers 中有出現的使用者

使用方式:

sudo -v 

sudo -h 

sudo -l 

sudo -v 

sudo -k 

sudo -s 

sudo -h 

sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s 

用法:sudo command 

說明:以系統管理者的身份執行指令,也就是說,經由sudo 所執行的指令就好像是root 親自執行

引數:-v

顯示版本編號

-h 會顯示版本編號及指令的使用方式說明

-l 顯示出自己(執行

sudo

的使用者)的許可權

-v 因為sudo 在第一次執行時或是在

n 分鐘內沒有執行(n 預設為五)會問密碼,這個引數是重新做一次確認,如果超過 n 分鐘,也會問密碼

-k 將會強迫使用者在下一次執行

sudo 時問密碼(不論有沒有超過n 分鐘)

-b 將要執行的指令放在背景執行

-p prompt

可以更改問密碼的提示語,其中 %u 會代換為使用者的帳號名稱,

%h 會顯示主機名稱

-u username/#uid

不加此引數,代表要以root 的身份執行指令,而加了此引數,可以以username 的身份執行指令(

#uid 為該username 的使用者號

碼)-s

執行環境變數中的

shell

所指定的

shell

或是/etc/passwd

裡所指定的

shell 

-h 將環境變數中的

home

(家目錄)

指定為要變更身份的使用者家目錄

(如不加

-u 引數就是系統管理者

root

注:command

要以系統管理者身份(或以

-u 更改為其他人)執行的指令

四:日誌資訊

有乙個記錄檔

在/var/log/sudo.log ,

裡面記錄著誰在什麼時候利用

sudo

下了那些指令

sudo命令的使用

在linux系統中,有些普通使用者需要借助root帳號來執行一些操作,但我們並不能把root密碼給普通使用者,就有了sudo sudo可以臨時切換到指定帳號進行操作 使用方法 sudo u 使用者帳號 需要執行的命令 切換到root時,可以直接執行sudo 執行命令 即可 sudo l 列出所有可以...

sudo命令使用

sudo命令允許系統管理員分配給普通使用者一些合理的許可權,不需要普通使用者知道超級使用者的密碼,就能執行一些超級使用者才能完成的任務。sudo命令許可權是受限制的,su命令許可權是無限制的。sudo的配置檔案 etc sudoers 例如 讓普通使用者test來訪問 etc shadow 可以在 ...

Linux中su命令與sudo命令

ps 前幾天,實驗室的同學問到為什麼sudo cd命令不行,我當時幫他解決了這個問題,但是我想了想我自己也不太清楚為什麼sudo cd不行,而需要用到su root然後再使用cd命令。所以自己在網上找了一些資料,並整理了一下發表出來,在自己忘了的時候自己也可以查閱一下!一 linux下的su命令 s...