您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux切換用戶的方法是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Linux切換用戶的方法是什么文章都會有所收獲,下面我們一起來看看吧。
su用于用戶之間的切換,但是切換前的用戶依然保持登錄狀態。如果是root向普通切換則不需要密碼,反之普通用戶切換到其它任何用戶則都需要密碼驗證。
su不加任何參數默認切換到root用戶,但沒有轉到root用戶根目錄下;su 加參數-,表示默認切換到 root 用戶,并轉到 root 用戶根目錄下。
su的明顯不足在于如果某個用戶需要使用 root 權限、則必須要把root密碼告訴此用戶。
退出返回之前的用戶:exit
切換到git用戶
[root@iZ2ze9twtxjrbirmldp9owZ ~]# su git [git@iZ2ze9twtxjrbirmldp9owZ root]$ pwd /root [git@iZ2ze9twtxjrbirmldp9owZ root]$ exit exit [root@iZ2ze9twtxjrbirmldp9owZ ~]# 123456
以下操作是使用haha用戶登錄客戶端操作的
[haha@centos6-1 ~]$ su Password: [root@centos6-1 haha]# pwd /home/haha [root@centos6-1 haha]# exit exit [haha@centos6-1 ~]$ su - Password: [root@centos6-1 ~]# pwd /root [root@centos6-1 ~]# 1234567891011
sudo是為所有想使用root權限的普通用戶設計的,可以讓普通用戶具有臨時使用root權限的權利,只需輸入自己賬戶的密碼即可。當然這個普通用戶必須在/etc/sudoers文件中有配置項才具有使用sudo的權利。
沒有配置權限之前,普通用戶無法進行 root 權限操作:
[haha@centos6-1 ~]$ pwd /home/haha [haha@centos6-1 ~]$ ll /root/ ls: cannot open directory /root/: Permission denied [haha@centos6-1 ~]$ 12345
沒有配置權限之前,不能使用sudo
[haha@centos6-1 ~]$ sudo ls /root/ [sudo] password for haha: haha is not in the sudoers file. This incident will be reported. [haha@centos6-1 ~]$ 1234
使用root用戶登錄配置haha用戶的sudo權限,命令行輸入 visudo,打開/etc/sudoers 文件。注意,官方不建議直接vi /etc/sudoers對其進行修改
## Allow root to run any commands anywhere root ALL=(ALL) ALL //在文件中找到這一行 haha ALL=(ALL) ALL //并在其下面添加此行,這樣haha就可以使用sudo執行root權限的命令了 ## Allows members of the 'sys' group to run networking, software, ## service management apps and more. # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS123456
用haha用戶再次登錄客戶端操作,發現成功了
[haha@centos6-1 ~]$ sudo ls /root/ [sudo] password for haha: anaconda-ks.cfg install.log install.log.syslog license notice [haha@centos6-1 ~]$ 1234
sudo的工作過程如下:
1. 當用戶執行 sudo 時,系統會主動尋找/etc/sudoers 文件,判斷該用戶是 否有執行 sudo 的權限 2. 確認用戶具有可執行 sudo 的權限后,讓用戶輸入用戶自己的密碼確認 3. 若密碼輸入成功,則開始執行 sudo 后續的命令 123
/etc/sudoers文件中配置的含義
haha ALL=(ALL) ALL 第一個 ALL 是指網絡中的主機,我們可以指定主機名,這樣 haha 只可以 在此主機上執行后面的命令。第二個括號里的 ALL 是指目標用戶,也就是以誰的 身份去執行命令。最后一個 ALL 是指命令名了。
haha centos6-1=(zaomianbao)/bin/kill //只允許haha用戶以zaomianbao用戶的身份在centos6-1上執行kill命令 haha centos6-1=NOPASSWD:/bin/ls, /bin/cat //只允許haha用戶以root身份在centos6-1上執行ls 、cat命令12
我們修改haha為第二個形式haha centos6-1=NOPASSWD:/bin/ls, /bin/cat
[haha@centos6-1 ~]$ sudo ls /root/ anaconda-ks.cfg install.log install.log.syslog license notice [haha@centos6-1 ~]$ sudo cat /root/anaconda-ks.cfg # Kickstart file automatically generated by anaconda. #version=DEVEL install cdrom [haha@centos6-1 ~]$ sudo vi /root/anaconda-ks.cfg [sudo] password for haha: Sorry, user haha is not allowed to execute '/bin/vi /root/anaconda-ks.cfg' as root on centos6-1. [haha@centos6-1 ~]$1234567891011
可以看到,haha用戶具有ls和cat的權限,但是沒有vi的權限
關于“Linux切換用戶的方法是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Linux切換用戶的方法是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。