linu中用,linux 中用su 切換使用者後為什麼直接到目錄下了

時間 2021-08-30 09:49:26

1樓:匿名使用者

加了-會載入root的環境,就跟直接用root登陸一樣的。這樣方便執行一些/sbin或者/usr/sbin裡的程式。因為普通使用者一般path裡是沒有這兩個路徑的。

如果不加-的話就只是許可權切換而已。

這裡的-本身是一個引數,而不跟其它的程式一樣-只是作為引數開始的指示符。

這個引數就是告訴su載入要切換的使用者的環境。

su - 如果後面不帶使用者名稱的話就是切換到root,如果帶使用者名稱就是切換到對應的使用者

2樓:匿名使用者

如果用su 的話,就不會切換目錄了!

su命令和su -命令最大的本質區別就是:前者只是切換了root身份,但shell環境仍然是普通使用者的shell,環境變數沒有變;而後者連使用者和shell環境一起切換成root身份了,且環境變數也變成了root使用者下的環境變數。su切換成root使用者以後,pwd一下,發現工作目錄仍然是普通使用者的工作目錄;而用su -命令切換以後,工作目錄變成root的工作目錄了。

3樓:

su -會切換到某個使用者帳戶,而且會使用該使用者的配置環境。你的情況應該是因為使用者user1和user2的配置環境就不一樣。

4樓:匿名使用者

su是切換使用者身份,比如現在是在user1下,你用命令su user2然後輸入user2 的密碼後就進入了user2下,直接su後面不加使用者名稱的話是預設進入root身份

5樓:匿名使用者

su - 是帶變數切換環境

su root就不帶變數切換環境

6樓:匿名使用者

su 就不會切換目錄了

7樓:

感覺像是.bashrc檔案配置的關係吧?

linux su切換使用者不報錯正常登入 但是用 su - 切換使用者就報錯

8樓:小歐美麗館

su命令就是切換使用者的工具,怎麼理解呢?比如我們以普通使用者beinan登入的,但要新增用專戶任務,執行屬useradd ,beinan使用者沒有這個許可權,而這個許可權恰恰由root所擁有。解決辦法無法有兩個,一是退出beinan使用者,重新以root使用者登入,但這種辦法並不是最好的;二是我們沒有必要退出beinan使用者,可以用su來切換到root下進行新增使用者的工作,等任務完成後再退出root。

我們可以看到當然通過su 切換是一種比較好的辦法;

9樓:匿名使用者

檢查一下使用者.bash_profile和.bashrc裡錯誤的語句

linux作業系統下用普通使用者登入然後用su命令切換到root使用者和直接用root使用者登入有何不同?

10樓:萍水e相逢

root使用者許可權太大,容易出問題

通常普通使用者登入 用

sudo 臨時獲取部分許可權

這樣比較安全

日常管理中這樣足夠了

根本不用root登入或者 切換root使用者

11樓:沒有歌留多的夜

10年過去了,我來補充一下:

我想點進來看的大都是環境變數的問題

su命令切換root使用者,獲取部分許可權但不載入全部環境變數如:/etc/profile

直接登入root會載入root使用者所有環境變數包括:/root/.bashrc、/etc/profile

所以如果僅是臨時使用root許可權建議使用sudo命令或者使用(-切換使用者換機)

su -

亦或者使用(-l 指定使用者切換使用者環境,不寫預設root使用者)su -l

12樓:

安全性考慮一般的伺服器系統部允許用root直接登陸,因為所有的linux超級使用者的名字都是root,不安全。一般都是用另外的一個使用者登陸上去再su root。

13樓:匿名使用者

許可權是一樣的。

一般都不建議使用root直接登入,且default為root不允許從遠端直接登入。

其中一個原因為:系統中log會記錄每一個遠端登入的操作,如果每個登入者都是用root直接登入造成log中的記錄無法分辨責任人。

還有很多系統連直接su命令都不建議使用,建議使用sudo。

這是從安全和許可權上考慮的

14樓:

許可權一樣,不過還是有某些命令無法使用

比如ifconfig檢視ip的命令用su竟然無法使用

不知道在fc10或者更高版本中有冇改善

15樓:匿名使用者

su 後擁有root的許可權

但沒有root的環境變數

16樓:匿名使用者

許可權相同,環境變數不同。

linux中,我以root登入,和以其他使用者登入然後使用su命令切換至root使用者,有什麼不一樣,

17樓:匿名使用者

我來為你解釋吧!

unix系統裡,當使用者登入時會為每個使用者建立一個shell程序,提供互動功能,如果你使用的是bash,那麼這個shell程序就是bash,使用的ksh,這個程序就是ksh,其他shell也是一樣。

而對於程序而言,在它的程序pcb(程序控制塊)裡,有實際使用者id和有效使用者id這兩個值,所謂實際使用者id是指該程序是以什麼身份建立的,比如:我當前是root使用者,我建立的程序的實際使用者id就是root的id,一般為0。而有效使用者id是指對該程序當前擁有使用許可權的使用者的id,比如我有一輛車,我把它組出去了,這個車的擁有者是我,但是使用許可權卻不是我的。

一般情況下實際使用者id和有效使用者id都是相同的,su命令就是擁有這樣的功能,讓一個程序可以以命令擁有者的許可權執行,即可以使程序的實際使用者id和有效使用者id不相同。你可以用ls -l去檢視su這個命令,在它的擁有者的x許可權位上寫的一定是個s(小s),passwd命令也是一樣,他們擁有相同的功能。這個s位的意思是 執行該命令的使用者可以以該命令的擁有者許可權來執行,如果你把這個s位取消了,也就只有su的擁有者可以su了。

現在來進一步解釋下吧,希望你能看的懂。

當我們以root執行su時,su命令會以當前shell程序為父程序來建立一個新的shell程序,這個shell程序是提供給我們所要su到的那個使用者使用的,而root的shell程序仍然存在,反過來也是一樣的,這就是你所問的問題的原因,因為之前那個使用者的shell程序還沒關閉,你可以使用exit退出一下,可以看到,並不是退出登入了,而是回到之前的那個使用者去了。因為它們是父子程序的關係,子程序的結束當然 不會影響到父程序的執行了。但是我們如果強行殺死父程序,那就直接退出了。

其實很多人並不瞭解,whoami和who am i的區別,他們的作用是不同的。

who am i 顯示當前shell程序的實際使用者id。

whomai 顯示當前shell程序的有效使用者id。

很多時候,這兩個輸出是一樣的,以至於我們以為這兩個命令的作用是相同的。

例項:root@yunhw-aspire-4750g:~# who am i

root pts/0 2011-12-10 13:13 (:0.0)

root@yunhw-aspire-4750g:~# whoami

root

root@yunhw-aspire-4750g:~#ps -ef

root 2939 2935 0 13:18 pts/0 00:00:00 bash

root@yunhw-aspire-4750g:~# su - yunhw

yunhw@yunhw-aspire-4750g:~$ who am i

root pts/0 2011-12-10 13:13 (:0.0)

yunhw@yunhw-aspire-4750g:~$ whoami

yunhw

root@yunhw-aspire-4750g:~#ps -ef

root 2939 2935 0 13:18 pts/0 00:00:00 bash

yunhw 2958 2939 0 13:19 pts/0 00:00:00 su - yunhw

yunhw 2966 2958 7 13:19 pts/0 00:00:00 -su

root@yunhw-aspire-4750g:~#sudo kill -9 2939

這條命令一執行,也就完全退出了。

18樓:匿名使用者

直接用root和用su命令是不一樣的,su命令只是臨時切換,就是只有在當前的終端是管理員許可權,你先用其他使用者登入,其他使用者是被啟用的,root使用者刪除不了

19樓:匿名使用者

你是su過去的·別的使用者的程序肯定還在呢·

在linux中 用ctrl z掛起的命令怎麼切回到原任務的命

命令執行時使用ctrl z,強制當前程序轉為後臺,並使之掛起 暫停 1.使程序恢復執行 後臺 1 使用命令bg example zuii zuii desktop unp tcpcliserv tcpserv01 這裡使用ctrl z,此時serv01是停止狀態 1 stopped tcpserv0...

Linux中用tar命令打包如何排除所有副檔名為wdb的檔案

find basic type d name wdb 這個命令將找到basic目錄下的副檔名不是wdb的檔案。表示否定,type d不是目錄,name wdb,名字與 wdb不匹配的。所以命令可以這樣寫 for i in find basic type d name wdb do arg arg i...

php中用,php中,用var dump輸出時,resource()括號裡的數字是什麼意思?

var dump voidvar dump mixedexpression mixedexpression var dump 方法是判斷一個變數的型別與長度,並輸出變數的數值,如果變數有值輸的是變數的值並回返資料型別.此函式顯示關於一個或多個表示式的結構資訊,包括表示式的型別與值。陣列將遞迴值,通過...