Linux使用者身份切換

2021-07-16 22:03:20 字數 1940 閱讀 4376

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

在日常工作中,盡量使用普通使用者賬號操作,當需要root許可權的時候再通過身份切換的方式切換至root管理員,這樣能保證系統的安全性。使用普通賬號的安全性主要體現在兩個方面:

下面介紹兩種linux中切換使用者身份的方式。

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

su

[-lm]

[-c 命令]

username

su -c vim /etc/shadow

使用su切換身份需要直到root賬號的密碼,這樣並不安全。為了提高安全性,我們可以使用sudo來執行需要root許可權的功能。

sudo由root指定,指定後使用者只需輸入自己賬號的密碼就能申請到root許可權,而無需告訴任何人root密碼,因此安全了不少。

sudo

[-b]

[-u username] 需要執行的命令

-b:使後續的命令自行執行,而不與目前的shell產生影響。

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

下面我們就來看看sudoers檔案的內容:

root    all=(all)       all

第乙個引數表示允許進行sudo操作的使用者名稱

第二個引數表示允許的源主機ip

第三個引數表示可以切換的使用者名稱

第四個引數表示允許執行的命令

$users

all=(all) all

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

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

$users

all=(all) nopasswd:all

只需在最後乙個引數前加上nopasswd即可!

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

chai    all=(root)       all

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

chai    all=(root)       /usr/bin/passwd

user_alias

admins = jsmith, mikem

cmnd_alias

networking = /sbin/route, /sbin/ifconfig

admins

all=(root) networking

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

user_alias admins =chai1,chai2,chai3

admins all=(root) /bin/su -

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

Linux使用者身份及切換

對linux中的文件的操作身份有三種,分別是ownner group others,可以實現對檔案的read write execute操作 1 ownner 擁有者 建立檔案的使用者就是該檔案的ownner,檔案的使用者可以修改檔案的擁有者及使用者組,root使用者 uid 0,每個使用者的uid...

Linux命令 使用者身份切換

格式為 su username,後面可以跟 也可以不跟。普通使用者的su命令不加username時,就相當於切換到root使用者,反之亦然。當su 命令加上 後,會初始化當前使用者的各種環境變數。如果不加 切換到root使用者時,當前目錄沒有變化 而如果加上 切換到root賬戶時,當前目錄為root...

Linux命令 使用者身份切換

格式為 su username,後面可以跟 也可以不跟。普通使用者的su命令不加username時,就相當於切換到root使用者,反之亦然。當su 命令加上 後,會初始化當前使用者的各種環境變數。如果不加 切換到root使用者時,當前目錄沒有變化 而如果加上 切換到root賬戶時,當前目錄為root...