成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網(wǎng)。
搜索
您的當(dāng)前位置:首頁sudo的用法

sudo的用法

來源:九壹網(wǎng)
?sudo的?法

sudo的存在意義

在linux系統(tǒng)下,普通?戶?法直接執(zhí)?root?戶權(quán)限下的命令,如果想讓普通?戶執(zhí)?只有root?戶才能執(zhí)?的操作命令,就需要?到sudo。下?羅列下經(jīng)常使?sudo命令的?個場景:

# 授權(quán)普通?戶執(zhí)?root指令

普通?戶登錄 shell 之后,如果??沒有權(quán)限訪問某個?件或執(zhí)?某個命令時,若該?戶獲得root授權(quán),那么就可以在需要執(zhí)?的命令之前加上 sudo,臨時切換到root?戶的權(quán)限,完成相關(guān)的操作。在sudo于1980年前后被寫出之前,?般?戶管理系統(tǒng)的?式是利?su切換為超級?戶。但是使?su的缺點之?在于必須要先告知超級?戶的密碼,?sudo使?般?戶不需要知道超級?戶的密碼即可獲得權(quán)限。

那么哪些?戶可以臨時獲得root權(quán)限呢?這就需要在/etc/sudoers?件中進(jìn)?配置(或者直接使?visudo命令,不過只能在root?戶下執(zhí)?):[root@test-huanqiu ~]# visudo.....

# User privilege specificationzhangj ALL=(ALL) ALL

參數(shù)解釋:

1)第?個字段zhangj指定的是?戶:可以是?戶名,也可以是別名。每個?戶設(shè)置??,多個?戶設(shè)置多?,也可以將多個?戶設(shè)置成?個別名后再進(jìn)?設(shè)置。

2)第?個字段ALL指定的是?戶所在的主機(jī):可以是ip,也可以是主機(jī)名,表?這個sudo設(shè)置后的?件即/etc/sudoers只在這個主機(jī)上?效,ALL表?在所有主機(jī)上都?效!的?般都是本機(jī),也就是使?這個?件的主機(jī);如果指定為\"192.168.1.88\"表?這個?件只有在這臺主機(jī)上?效,如果拷貝到別的機(jī)?上是不起作?的!?般都指定為\"ALL\"表?所有的主機(jī),不管?件拷到那?都可以?。

3)第三個字段(ALL)括號?指定的也是?戶:指定以什么?戶?份執(zhí)?sudo,即使?sudo后可以享有所有賬號下的權(quán)限。如果要排除個別?戶,可以在括號內(nèi)設(shè)置,?如ALL=(ALL,!root,!ops)。也可以設(shè)置別名

4)第四個字段ALL指定的是執(zhí)?的命令:即使?sudo后可以執(zhí)?所有的命令。也可以設(shè)置別名。NOPASSWD: ALL表?使?sudo的不需要輸?密碼。

如果我們想讓?戶wangshibo只能在本主機(jī)(主機(jī)名為test-huanqiu)以root賬戶執(zhí)?/bin/chown、/bin/chmod 兩條命令,那么就應(yīng)該這樣配置:[root@test-huanqiu ~]# visudo.......

# User privilege specification

zhangj test-huanqiu=(root) /bin/chown,/bin/chmod #注意這?指令要?絕對路勁如果zhangj?戶登錄之后運(yùn)?sudo命令,不滿?上?三個條件之?的操作都將失敗。

此時,你在?root?戶的登錄時,就能夠通過sudo -u root chmod 755 ***

此時回車,會讓你輸?你登錄?戶的密碼,?不是root的密碼,這樣就安全多了。

免密操作:

安全是安全了,但很?煩,每次執(zhí)?指令都要輸?密碼,若要消除密碼輸?操作,修改配置?件:使?root?戶visudo

zhangj ALL=(root) NOPASSWD:/usr/bin/vim #這?的NOPASSWD就是配置?持免密執(zhí)?的字段這?設(shè)置的是vim指令能夠?密碼執(zhí)?!

# 授權(quán)給?戶組:

[root@test-huanqiu ~]# visudo.....

# Allow members of group sudo to execute any command

# (Note that later entries override this, so you might need to move it further down)%sudo ALL=(ALL) ALL

和授權(quán)給單個?戶類似,只不過將?戶名在這?換成%組名,所有在該組中的?戶都按照此規(guī)則進(jìn)?授權(quán)。對于該例,所有在 sudo 組內(nèi)的?戶都有在任何終端(第?個ALL)、以任何?戶(第?個ALL)、執(zhí)?任何命令(第三個ALL)的權(quán)限,查看 /etc/group ?件可以知道哪些?戶屬于 sudo 組。

普通?戶編輯?件沒法保存的情況:有時經(jīng)常會遇到這樣的?個囧境:

使?vim對某個?件進(jìn)?編輯,編輯完之后,按 ESC 之后回到普通模式,再按:wq準(zhǔn)備保存退出時,發(fā)現(xiàn)沒有權(quán)限對該?件進(jìn)?修改,因為在使?vim 命令時忘記在前?加sudo了。出現(xiàn)這種問題,?多數(shù)?的做法是只能不保存強(qiáng)退,再加上 sudo 重新編輯保存,其實?可不必這么愚蠢的做法了,巧妙的做法是:

在vim的普通模式下,按 :w !sudo tee % ,這樣就可以 root 權(quán)限來保存?件了,你也?需因為???時忘記加個 sudo ?沮喪懊惱了!親測可?;

但是在下圖中:

這?選擇L,表?加載?件,再?q!退出就保存了。

# 執(zhí)?root命令忘記加sudo:

還會遇到這樣稍微好?點的情形:輸??個長長的命令,按Enter之后出現(xiàn)?權(quán)限操作,因為在命令前?忘記加sudo了。?多?的做法是按 ↑ 回到上?條命令,在該命令之前加上sudo,再執(zhí)?該命令。其實,也?可不必這樣,巧妙的做法是:

只要輸? sudo !! 即可,這?的 !! 代表上?條命令。如:[zhangjian@test-huanqiu ~]$ cat testcat: test: Permission denied

[zhangjian@test-huanqiu ~]$ sudo !!sudo cat testlalaxiixixi'nihao

ok,拿到了test?件的內(nèi)容!

# shell內(nèi)置命令,沒法使?sudo

shell是?個交互式的應(yīng)?程序,在執(zhí)?外部命令時通過fork來創(chuàng)建?個?進(jìn)程,再通過exec來加載外部命令的程序來執(zhí)?。但是如果?個命令是shell內(nèi)置命令,那么只能直接由shell 來運(yùn)?。

sudo 的意思是,以別的?戶(如root)的權(quán)限來fork?個進(jìn)程,加載程序并運(yùn)?,因此sudo后?不能跟shell 的內(nèi)置命令。實例說明:

[zhangj@test-huanqiu ~]$ sudo cd /sys/kernel/debug/sudo: cd: command not found

在這種情況,我們?沒有root賬戶的密碼,我們怎樣執(zhí)?該命令呢?

有種辦法就是使?sudo獲得root shell 的權(quán)限,然后在root shell中執(zhí)?該命令。

進(jìn)?root shell 很簡單,輸?sudo bash確認(rèn)本?戶的密碼即可(如果/etc/sudoers?配置了?密碼使?sudo,就不需要進(jìn)?密碼),此時你會發(fā)現(xiàn)命令提?符顯?當(dāng)前 root。?旦獲得rootshell,你就可以執(zhí)?任何命令?不需要在每條命令前輸?sudo了。

[zhangj@test-huanqiu ~]$ sudo bash //或者sudo su - 或者 sudo -s,其實就使?sudo命令從當(dāng)前?戶切換到root?戶[root@test-huanqiu debug]# cd /sys/kernel/debug/[root@test-huanqiu debug]#

# sudo操作記??志

作為?個Linux系統(tǒng)的管理員,不僅可以讓指定的?戶或?戶組作為root?戶或其它?戶來運(yùn)?某些命令,還能將指定的?戶所輸?的命令和參數(shù)作詳細(xì)的記錄。?sudo的?志功能就可以?戶跟蹤?戶輸?的命令,這不僅能增進(jìn)系統(tǒng)的安全性,還能?來進(jìn)?故障檢修。1)創(chuàng)建sudo?志?件

我們將sudo?志?件放置在/var/log/sudo.log ?件中:[zhangj@ops-server4 ~]$ sudo touch /var/log/sudo.log

2)修改/etc/rsyslog.conf配置?件(有些版本系統(tǒng)的這個?件名為/etc/syslog.conf),在該?件加?下???:[zhangj@ops-server4 ~]$ sudo vim /etc/rsyslog.conf.........

local2.debug /var/log/sudo.log //空?不能?空格,必須?tab3)修改/etc/sudoers 配置?件

注意?上很多關(guān)于sudo?志?件配置都缺少這?步!在該?件中加?下???:[zhangj@ops-server4 ~]$ sudo vim /etc/sudoers........

Defaults logfile=/var/log/sudo.log4)重啟 syslog 服務(wù):

[zhangj@ops-server4 ~]$ sudo service rsyslog restart

5)最后,就可以查看sudo?志記錄了:

經(jīng)過上?的配置,sudo的所有成功和不成功的sudo命令都記錄到?件/var/log/sudo.log 中。例如我上?運(yùn)??條sudo 命令之后,查看該?件的記錄如下:[zhangj@ops-server4 ~]$ cat /var/log/sudo.log

Dec 3 11:28:38 : zhangj: TTY=pts/0 ; PWD=/home/zhangj ; USER=root ;COMMAND=/sbin/service rsyslog restart

Dec 3 11:29:49 : zhangj : TTY=pts/0 ; PWD=/home/zhangj ; USER=root ;COMMAND=/bin/cat /etc/passwd

Dec 3 11:29:56 : zhangj : TTY=pts/0 ; PWD=/home/zhangj ; USER=root ;COMMAND=/usr/bin/vim /root/a.sh

Dec 3 11:30:35 : zhangj : user NOT in sudoers ; TTY=pts/0 ;

PWD=/home/guohuihui ; USER=root ; COMMAND=/usr/bin/vim /root/a.shsaDec 3 11:30:47 : zhangj : user NOT in sudoers ; TTY=pts/0 ;

PWD=/home/guohuihui ; USER=root ; COMMAND=/usr/bin/vim /root/a.sh誰做了什么操作,??了然!很強(qiáng)勢!

# 為多個?戶分配不同的組:

在root?戶的情況下,編輯/etc/group?件,這個?件就是控制系統(tǒng)的組和?戶所屬組情況的。groupadd sudo #因為沒有指定gid,所以就按著?件中的gid往后推的sudo:x:504: #添加完之后在該?件中就出現(xiàn)了這條字段。修改為:

sudo:x:504:batman,test #此時,?戶batman和test的附屬組就是sudo了此時再visudo

%sudo ALL=(root) NOPASSWD:/usr/bin/vim%sudo ALL=(root) NOPASSWD:/bin/cat保存退出,可以?:visudo -c 來檢查語法返回OK,沒問題檢測:

-rw-------. 1 root root 1595 Jul 24 05:00 rsyncd.conf-rw-------. 1 root root 8 Jul 24 05:00 rsyncd.pass-rw-------. 1 root root 14 Jul 24 05:00 rsyncd.pwd這三個?件,只有root有操作權(quán)限,現(xiàn)在[test@zj rsync]$ sudo vim rsyncd.conf發(fā)現(xiàn)也是ok的。說明配置成功!

因篇幅問題不能全部顯示,請點此查看更多更全內(nèi)容

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2

違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)