[linux command] su \su -\ sudo

一、su linux

命令做用:su的做用是變動爲其它使用者的身份,超級用戶除外,須要鍵入該使用者的密碼。 shell

使用方式:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]  安全

參數說明: 服務器

-f , –fast:沒必要讀啓動文件(如 csh.cshrc 等),僅用於csh或tcsh兩種Shell。  工具

-l , –login:加了這個參數以後,就好像是從新登錄同樣,大部分環境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)爲主,並 且工做目錄也會改變。若是沒有指定USER,缺省狀況是root。 spa

 -m, -p ,–preserve-environment:執行su時不改變環境變數。 
-c command:變動帳號爲USER的使用者,並執行指令(command)後再變回原來使用者。 
–help 顯示說明文件 –version 顯示版本資訊  io

USER:欲變動的使用者帳號, ARG:  傳入新的Shell參數。 ast

例子: 變量

su -c ls root 變動賬號爲 root 並在執行 ls 指令後退出變回原使用者。 配置

su [用戶名]

a>在root用戶下, 輸入 su 普通用戶. 則切換至普通用戶, 從root切換到變通用戶不須要密碼;

b>在普通用戶下, 輸入 su [用戶名] 提示 password: 輸入用戶的PASSWORD, 則切換至該用戶;

二、su -

su 是切換到其餘用戶,可是不切換環境變量(能夠用export命令查看);su - 是完整的切換到一個用戶環境;

因此建議你們切換用戶的時候,儘可能使用 su -  linuxso 這樣 不然可能發現某些命令執行不了;

三、sudo

因爲su 對切換到超級權限用戶root後,權限的無限制性,因此su並不能擔任多個管理員所管理的系統。若是用su 來切換到超級用戶來管理系統,也不能明確哪些工做是由哪一個管理員進行的操做。特別是對於服務器的管理有多人蔘與管理時,最好是針對每一個管理員的技術特長和 管理範圍,而且有針對性的下放給權限,而且約定其使用哪些工具來完成與其相關的工做,這時咱們就有必要用到 sudo。  經過sudo,咱們能把某些超級權限有針對性的下放,而且不須要普通用戶知道root密碼,因此sudo 相對於權限無限制性的su來講,仍是比較安全的,因此sudo 也能被稱爲受限制的su ;另外sudo 是須要受權許可的,因此也被稱爲受權許可的su;  sudo 執行命令的流程是當前用戶切換到root(或其它指定切換到的用戶),而後以root(或其它指定的切換到的用戶)身份執行命令,執行完成後,直接退回到當前用戶;而這些的前提是要經過sudo的配置文件/etc/sudoers來進行受權;

相關文章
相關標籤/搜索