# su 命令
>[info]
**su命令**用于切換當前用戶身份到其他用戶身份,變更時須輸入所要變更的用戶帳號與密碼。
在不加參數的情況下,**su命令**默認表示切換到root用戶,之后只要輸入root密碼就可以切換身份為root了,操作完成后,使用`exit`或者`Ctrl+D`可以退出root切換到原先的用戶。
### 語法
su (選項) (參數)
### 選項
`-`或`-l`或`--login` 改變身份時,也同時變更工作目錄,以及HOME、SHELL、USER、logname。此外,也會變更PATH變量
### 參數
指定要切換的目標用戶
## 不加參數切換到root用戶
~~~
[luo@localhost ~]$ su
口令: # 這里輸入root用戶密碼
[root@localhost.localdomain /home/luo]
# pwd
/home/luo
[root@localhost.localdomain /home/luo]
# exit
exit
[luo@localhost ~]$
~~~
>[info]
**su命令**后面還可以加上一個`-`參數,加上這個參數后,切換成root用戶時,不但身份變成root,而且還能應用root的用戶環境(所謂的用戶環境就是`/etc/passwd`中自定義的用戶家目錄、使用Shell,以及關于這個用戶的個性化設置等)。
## 增加參數切換到root用戶
~~~
[luo@localhost ~]$ su -
口令: # 這里輸入root用戶密碼
[root@localhost.localdomain ~]
# pwd
/root
[root@localhost.localdomain ~]
# exit
[luo@localhost ~]$
~~~
## `su - param`切換到指定用戶
~~~
[luo@localhost ~]$ su - rose
口令: # 輸入rose用戶密碼
[rose@localhost ~]$ pwd
/home/rose
[rose@localhost ~]$
~~~
>[danger]
注意:從普通用戶切換到root用戶需要提供密碼,從root切換到普通用戶不需要密碼 **su命令**雖然很方便,但是缺陷也很明顯,就是切換成其他用戶的時候需要知道對方密碼。
如果需要切換到root用戶就需要root密碼,root是系統權限最高的用戶,如果讓太多人知道root密碼,必然會不安全。為了解決這個問題我們可以使用**sudo命令**
- Linux的安裝
- Linux的軟件安裝管理
- Linux零碎的命令
- 了解ssh
- 系統調優及安全設置
- Linux系統中的硬鏈接和軟連接
- Linux文件和目錄的屬性及權限
- 命令總結
- 文件目錄管理命令
- cat
- cd
- cp
- ls
- mkdir
- mv
- rm
- touch
- vi
- 硬件檢測內核shell命令
- echo
- alias
- dd
- diff
- date
- grep(重要)
- head
- rpm
- sed(重要)
- tree
- unalias
- yum
- seq
- su
- less
- more
- tail
- awk(重要)
- pwd
- history
- whoami
- find(重要)
- which
- vimdiff
- sudo
- wget
- ln
- chmod
- chown
- vim常用技巧
- scp
- 工作場景應用總結
- 自動刪除n天前日志
- 刪除一個目錄下的所有文件但保留一個文件
- Linux軟件安裝
- php安裝(apache版本)
- vsftpd安裝
- git安裝
- python安裝
- LNMP安裝
- LAMP安裝I
- LAMP安裝II
- svn安裝
- svn在Linux下的命令操作
- svn鉤子簡介
- svn代碼上傳流程
- Crond介紹
- sersync應用指南
- 其他
- 小結一
- 系統調優重新整理tmp
- linux禁止root用戶直接登錄sshd并修改默認端口