linux使用useradd命令出現(xiàn)command not found問(wèn)題
linux使用useradd命令出現(xiàn)command not found問(wèn)題
Linux中的useradd命令是添加用戶,但是有時(shí)候會(huì)出現(xiàn)command not found的問(wèn)題。下面由學(xué)習(xí)啦小編為大家整理了Linux的useradd命令出現(xiàn)command not found問(wèn)題的相關(guān)知識(shí),希望對(duì)大家有幫助!
linux使用useradd命令出現(xiàn)command not found問(wèn)題
前提:使用普通用戶登錄Linux
現(xiàn)象:在命令行控制臺(tái)中切換到root超級(jí)用戶,使用useradd命令創(chuàng)建新用戶,出現(xiàn)"useradd:command not found "問(wèn)題。
原因:因?yàn)樵赨NIX系統(tǒng)里面,每個(gè)系統(tǒng)用戶都由自己的環(huán)境變量來(lái)定義自己登錄上來(lái)的shell、終端類型、路徑等。linux下Bshell用 戶登錄后執(zhí)行主目錄下的.bash_profile,Cshell用戶執(zhí)行.cshrc_profile文件。
當(dāng)以普通用戶登錄主機(jī),而此用戶的環(huán)境里沒(méi)有定義系統(tǒng)命令所在的路徑,如/usr/bin,/usr/sbin等;或在一些情況下TELNET 上主機(jī)后也會(huì)遺失環(huán)境變量。
解決方法三種:
1.在絕對(duì)路徑/usr/sbin中執(zhí)行;
2.用root用戶執(zhí)行命令。用“su -”可以取得root用戶的權(quán)限和環(huán)境(注:是“su -”不是“su”,因?yàn)?ldquo;su”只取得root的權(quán)限,“su -”取得root權(quán)限后還執(zhí)行root的profile來(lái)取得root的環(huán)境變量)
3.如果確定要使用非root用戶的當(dāng)前用戶來(lái)執(zhí)行命令,需要把系統(tǒng)路徑加到該用戶的.bash_profile或者.cshrc_profile文件中去
參考:useradd命令出現(xiàn)command not found的其它解決方法
兩種可能
1種是你的系統(tǒng)沒(méi)安裝這個(gè)uesradd命令
1種是你沒(méi)有吧/usr/sbin配置到環(huán)境變量
首先,測(cè)試:
如果是root用戶 使用/usr/sbin/useradd xxx 如果正常,證明不是系統(tǒng)安裝問(wèn)題,如果出錯(cuò),則證明沒(méi)有該命令,用yum自行安裝
那么,如果有該命令呢
非root用戶 su - 切換到root用戶 (因?yàn)槟銢](méi)權(quán)限啊)
在UNIX系統(tǒng)里面,每個(gè)系統(tǒng)用戶都有自己的環(huán)境變量來(lái)定義自己登陸上來(lái)的的SHELL,終端類型,路徑等等,在Linux下,BSHELL的用戶登陸后會(huì)執(zhí)行主目錄下
的.bash_profile文件,CSHELL的用戶會(huì)執(zhí)行.cshrc_profile文件,這些文件里定義了你這個(gè)用戶的環(huán)境變量。
這時(shí)候你可以做的是:
確定需要此用戶執(zhí)行系統(tǒng)命令,那么可以把系統(tǒng)路徑加到該用戶的.bash_profile/.cshrc_profile的PATH里面。
還是用ROOT用戶執(zhí)行命令,那么用命令su - 可以取得ROOT用戶的權(quán)限和環(huán)境。(注意,是su -而不是su。因?yàn)閟u是只取得ROOT的權(quán)限,su - 是取得ROOT的權(quán)限后還執(zhí)行ROOT的PROFILE來(lái)取得ROOT的環(huán)境變量)
#cd
#vi .bash_profile
把這一行修改成:
PATH=$PATH:/bin:/usr/sbin