Linux使用者身份切換__Linux

來源:互聯網
上載者:User

為什麼需要切換使用者身份。

在日常工作中,盡量使用普通使用者帳號操作,當需要root許可權的時候再通過身份切換的方式切換至root管理員,這樣能保證系統的安全性。使用普通帳號的安全性主要體現在兩個方面: 防止因誤操作而刪除了系統重要檔案; 建立一些系統賬戶專門用來啟動某些服務,這樣即使該服務被攻陷,系統仍然是安全的。

下面介紹兩種Linux中切換使用者身份的方式。 身份切換方式一:su

該命令可以將身份切換至指定賬戶,但需要輸入該賬戶的密碼。

su [-lm] [-c 命令] username
若不加username則表示切換至root 使用su和su -均能切換至root賬戶,但不加-會使很多變數仍然保持切換前使用者的變數,而加了-之後則參數將會完全變成root的參數,尤其是環境變數PATH,從而能夠直接使用某些命令,而無需指定絕對路徑。 若只想執行一個root許可權才能執行的命令的時候,可以將命令直接寫在-c的後面,這樣無需切換身份,如:
su -c vim /etc/shadow
身份切換方式二:sudo

使用su切換身份需要直到root帳號的密碼,這樣並不安全。為了提高安全性,我們可以使用sudo來執行需要root許可權的功能。
sudo由root指定,指定後使用者只需輸入自己帳號的密碼就能申請到root許可權,而無需告訴任何人root密碼,因此安全了不少。

sudo [-b] [-u username] 需要執行的命令-b:使後續的命令自行執行,而不與目前的shell產生影響。
使用visudo指定擁有sudo許可權的賬戶

擁有sudo許可權的賬戶由/etc/sudoers檔案維護,我們只需修改該檔案的內容即可指定使用者擁有sudo許可權。但sudoers檔案具有一定的文法規則,因此不建議使用vim直接修改,而是使用visudo命令進行操作,因為visudo命令能進行語法檢查,當我們出現語法錯誤時能夠及時糾正。
下面我們就來看看sudoers檔案的內容:

root    ALL=(ALL)       ALL
第一個參數表示允許進行sudo操作的使用者名稱 第二個參數表示允許的源主機IP 第三個參數表示可以切換的使用者名稱 第四個參數表示允許執行的命令 使用visudo指定擁有sudo許可權的使用者組
$users    ALL=(ALL)       ALL

$表示該使用者為一個使用者組。在visudo中設定了使用者組後,只要是該使用者組的使用者均有sudo許可權。如果想讓一個使用者獲得sudo許可權,只需加入該使用者組即可,無需再修改sudoers檔案。 開啟sudo免密功能

先前的使用者在執行sudo命令後都需要輸入自己的密碼,然而對於一些十分信任的使用者可以免去他們在sudo時輸入密碼:

$users    ALL=(ALL)       NOPASSWD:ALL

只需在最後一個參數前加上NOPASSWD即可。 限制sudo操作

1.限制可切換的使用者範圍,如:只允許chai能sudo至root

chai    ALL=(root)       ALL

2.限制使用者能執行的操作,如只允許使用者執行命令/usr/bin/passwd

chai    ALL=(root)       /usr/bin/passwd
通過別名設定visudo 通過User_Alias為使用者們起一個別名 通過Cmnd_Alias為可執行檔操作起一個別名
如,允許jsmith, mikem這兩個使用者將身份切換至root,並可以執行/sbin/route和 /sbin/ifconfig這兩個命令。
User_Alias ADMINS = jsmith, mikemCmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfigADMINS ALL=(root) NETWORKING
sudo與su的搭配使用

su和sudo各有千秋,su能切換使用者身份,但需要知道對方的密碼,這並不安全;而sudo無需知道對方的密碼,但每次執行root命令都需要加上sudo,這很不方面,下面的配置能夠讓這兩種方式的優點結合起來:

User_Alias ADMINS = chai1,chai2,chai3ADMINS ALL=(root) /bin/su -

此時只要輸入sudo su -並輸入自己的密碼後即可變成root賬戶。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.