亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

      linux權(quán)限之su和sudo的區(qū)別

      時(shí)間: 志藝942 分享

        su是最簡(jiǎn)單的身份切換名,用su我們可以進(jìn)行任何用戶的切換,一般都是su - username,然后輸入密碼就ok了,接下來(lái)是小編為大家收集的linux權(quán)限之su和sudo的區(qū)別,歡迎大家閱讀:

        linux權(quán)限之su和sudo的區(qū)別

        候是不需要輸入密碼的。起初我都是用su來(lái)切換的,后來(lái)老大看見了說(shuō)我這種方式切換是不好的,你可以嘗試其他的方式來(lái)切換。我覺得這樣切換很方便啊,那到底是不好在哪里呢,后面再看第二種身份的切換方式就知道了。

        一般我們切換身份都是切換到root,然后進(jìn)行一些只有root能干的事,比如修改配置文件,比如下載安裝軟件,這些都只能是root才有權(quán)限干的事,切換到root可以是單純的su,或者是su -和su - root,后面兩個(gè)是一樣的意思。

        單純使用su切換到root,讀取變量的方式是non-login shell,這種方式下很多的變量都不會(huì)改變,尤其是PATH,所以root用的很多的命令都只能用絕對(duì)路徑來(lái)執(zhí)行,這種方式只是切換到root的身份。而用su -這種方式的話,是login shell方式,它是先以root身份登錄然后再執(zhí)行別的操作。

        如果我們只要切換到root做一次操作就好了,只要在su后面加個(gè)-c參數(shù)就好了,執(zhí)行完這次操作后,又會(huì)自動(dòng)切換回我們自己的身份,很方便。

        那么如果有很多人管理這個(gè)主機(jī)的話,那不是很多人都要知道root的密碼嗎,而且可能有的人只是單純的進(jìn)行一次root操作就可以了,這個(gè)時(shí)候,su方式就不是很好,root密碼越少人知道越好,越少人知道就越安全,這時(shí)就需要第二種方式了。

        2.sudo

        相比于su切換身份需要用戶的密碼,經(jīng)常性的是需要root密碼,sudo只是需要自己的密碼,就可以以其他用戶的身份來(lái)執(zhí)行命令,經(jīng)常是以root的身份執(zhí)行命令,也并非所有人都可以用sudo:

        這里我要查看/etc/shadow這個(gè)文件的前三行,但是卻發(fā)現(xiàn)看不了,提示的錯(cuò)誤是說(shuō)我當(dāng)前這個(gè)用戶不在sudoers這個(gè)文件,所以sudo是依賴于/etc/sudoers這個(gè)配置文件的。sudo的執(zhí)行有這樣一個(gè)流程:

        1).當(dāng)用戶執(zhí)行sudo時(shí),系統(tǒng)于/etc/sudoers文件中查找該用戶是否有執(zhí)行sudo的權(quán)限;

        2).若用戶具有可執(zhí)行sudo的權(quán)限,那么讓用戶輸入用戶自己的密碼,注意這里輸入的是用戶自己的密碼;

        3).如果密碼正確,變開始進(jìn)行sudo后面的命令,root執(zhí)行sudo是不需要輸入密碼的,切換到的身份與執(zhí)行者身份相同的時(shí)候,也不需要輸入密碼。

        下面看看/etc/sudoers這個(gè)配置文件:

        為何剛開始只有root能執(zhí)行sudo,切換到root身份通過(guò)visudo查看/etc/sudoers這個(gè)配置文件,如果是vim /etc/sudoers是可以查看的,但是不能修改,因?yàn)閟udoers這個(gè)文件是由語(yǔ)法的,只能通過(guò)visudo來(lái)修改。第一個(gè)紅色方框那行代碼,這行代碼是什么意思呢,第一列root不用多說(shuō),是用戶賬號(hào),第二列的ALL意思是登陸者的來(lái)源主機(jī)名,第三列等號(hào)右邊小括號(hào)中的ALL是代表可以切換的身份,第四列ALL是可執(zhí)行的命令。

        1).單個(gè)用戶的sudoers語(yǔ)法:

        如果我要我當(dāng)前這個(gè)用戶能執(zhí)行root的所有操作,那么我只要加一行l(wèi)earnpython ALL=(ALL) ALL。那么如果有很多人需要執(zhí)行sudo,那不是要寫編寫很多行啊,這樣不是很麻煩,這樣就要用到用戶組了。

        2).利用用戶組處理visudo:

        看看第二個(gè)紅色方框那行代碼,%wheel代表wheel用戶組,如果我們將需要執(zhí)行root所有操作的用戶都加入到wheel用戶組,或者我們自定義的用戶組,然后添加一行代碼,那么就不用一個(gè)用戶一個(gè)用戶的添加進(jìn)來(lái)了,這樣不是很省事啊。

        3).限制用戶sudo的權(quán)限:

        但是經(jīng)常我們不需要用戶有那么大的權(quán)限,只要讓他們具有他們負(fù)責(zé)范圍的權(quán)限就可以了,比如有的有的人來(lái)管理密碼,我們就只讓他能進(jìn)行密碼的管理,而不讓他有別的權(quán)限,這樣就需要權(quán)限的控制了。如果我讓我當(dāng)前用戶來(lái)管理密碼,即learnpython這個(gè)用戶能使用passwd這個(gè)命令來(lái)幫root修改用戶密碼,只要加這行l(wèi)earnpython ALL=(root) /usr/bin/passwd,那么learnpython這個(gè)用戶就可以使用passwd這個(gè)命令了:

        但是如果只是執(zhí)行sudo passwd命令,修改的就是root的密碼,當(dāng)然我們不希望普通用戶能具有修改root密碼的權(quán)限,那么在visudo的時(shí)候就需要將命令的參數(shù)限制好,如改成這樣:

        [root@localhost ~]# visudo

        learnpython ALL=(root) !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

        4).通過(guò)別名設(shè)置visudo

        查看sudoers這個(gè)文件的時(shí)候,你會(huì)看見User_Alias,Host_Alias和Cmnd_Alias這些東西,他們都是一些別名,User_Alias表示具有sudo權(quán)限的用戶列表,就是第一列參數(shù),Host_Alias表示主機(jī)的列表,就是第二列參數(shù),Cmnd_Alias表示允許執(zhí)行命令的列表,就是第四列參數(shù),還有個(gè)Runas_Alias,我初始的sudoers里是沒有的,這個(gè)表示用戶以什么身份登錄,也就是第三列參數(shù)。

        所以如果有幾個(gè)密碼管理員的話就可以加上如下代碼:

        [root@localhost ~]# visudo

        User_Alias PWMNG = manager1, manager2, manager3

        Cmnd_Alias PWCMD = !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

        PWMNG ALL=(root) PWCMD

        5).sudo搭配su

        從上面來(lái)看,我們都只是切換到別的用戶然后執(zhí)行命令,接著就切回到我們自己的用戶了,如果我們要像su那樣直接切換到root,然后干自己想干的,這個(gè)時(shí)候,就要將命令修改成/bin/su -,如下:

        [root@localhost ~]# visudo

        User_Alias ADMINS = user1, user2, user3

        ADMINS ALL=(root) /bin/su -

        當(dāng)然這個(gè)是需要慎重了,因?yàn)檫@樣用戶user1,user2,user3等就直接切換到root了,切換后他們就是老大了。

        有沒有發(fā)現(xiàn),當(dāng)我們連續(xù)使用sudo的時(shí)候,在一定時(shí)間內(nèi)是不用再次輸入我們的密碼,這個(gè)其實(shí)是系統(tǒng)自己設(shè)定的,在五分鐘之內(nèi)執(zhí)行sudo只需要輸入一次密碼就可以了。

        3.總結(jié)

        了解完su和sudo,是不是發(fā)現(xiàn)sudo有太多的好處了。su方式切換是需要輸入目標(biāo)用戶的密碼,而sudo只需要輸入自己的密碼,所以sudo可以保護(hù)目標(biāo)用戶的密碼不外流的。當(dāng)幫root管理系統(tǒng)的時(shí)候,su是直接將root所有權(quán)利交給用戶,而sudo可以更好分工,只要配置好/etc/sudoers,這樣sudo可以保護(hù)系統(tǒng)更安全,而且分工明確,有條不紊。

        
      看了“linux權(quán)限之su和sudo的區(qū)別”還想看:

      1.linux su和sudo命令的區(qū)別

      2.Linux系統(tǒng)中怎么限制用戶su-權(quán)限

      3.linux sudo命令詳解

      4.Linux如何利用訪問(wèn)控制列表來(lái)限制用戶權(quán)限

      5.Linux怎么設(shè)置用戶通過(guò)SFTP訪問(wèn)目錄的權(quán)限

      2960790