joe為普通使用者,root為超級使用者。
現象如下:
[joe@trixbox1 ~]$ su
口令:# ifconfig
bash: ifconfig: command not found
su命令格式
su [-|-p] [-c command] [username]
- : 在切換當前使用者時切換使用者工作環境
-p : 在切換當前使用者時不切換使用者工作環境,即保持當前使用者工作環境,此為預設值
-c command : 以指定的使用者身份執行命令 com m and
username : 為要切換的使用者,省略時表示 root
su和su -的區別,這就是原因所在。
# 切換為超級使用者,不切換使用者身份
# su
口令:# env|egrep 'user|logname|path|mail'
user=joe
mail=/var/spool/mail/joe
path=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/joe/bin
logname=joe
# 切換為超級使用者 root,同時切換使用者身份
# su -
口令:# env | egrep 'user|logname|path|mail'
user=root
mail=/var/spool/mail/root
path=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
logname=root
#su - 命令後就切換到root環境了
[joe@trixbox1 ~]$ su -
口令:# ifconfig
eth0 link encap:ethernet hwaddr 00:15:60:9d:f1:a8
inet addr:192.168.6.55 bcast:255.255.255.255 mask:255.255.255.0
up broadcast running multicast mtu:1500 metric:1
rx packets:69028 errors:0 dropped:0 overruns:0 frame:0
tx packets:39738 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:102040430 (97.3 mib) tx bytes:3030863 (2.8 mib)
interrupt:169 memory:e0500000-e0510000
lo link encap:local loopback
inet addr:127.0.0.1 mask:255.0.0.0
up loopback running mtu:16436 metric:1
rx packets:0 errors:0 dropped:0 overruns:0 frame:0
tx packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)
#使用者許可權方面的知識還需學習,呵呵
su 和su 的區別
剛才用su到root後,用命令gedit發現會出錯 gedit 2976 warning 連線已關閉 gedit 2976 eggsmclient warning failed to connect to the session manager none of the authentication ...
su 和 su 的區別
su命令和su 命令最大的本質區別 su命令和su 命令最大的本質區別就是 前者只是切換了root身份,但shell環境仍然是普通使用者的shell 而後者連使用者和shell環境一起切換成root身份了。只有切換了shell環境才不會出現path環境變數錯誤。su切換成root使用者以後,pwd一...
su和su 的區別
linux中切換使用者的命令是su或su 前天我在使用useradd這個命令時,才體會到這兩者的本質區別。如圖 我首先是用su命令切換到root身份的,但是執行useradd時,出現錯誤 bash useradd command not found。google了一下,原因是在這個用su命令切換過來...