Ⅰ 在linux里輸入su命令,輸入密碼後提示bash:…………(一個地址)找不到文件,是怎麼回事
Linux登錄後會自動運行用戶目錄下的.bashrc文件中的命令,如果命令所指向的文件找不到,就會出現問題里類似的提示。
可能是手動輸入的命令路徑有誤,或者原始文件被改名或刪除了。最簡單的把~/.bashrc中對應行刪除或注釋掉就不會有問題了。
Ⅱ linux 從普通用戶切換為管理員時用 su 命令為什麼提示輸入密碼,按什麼鍵游標都沒反應。
linux里有嚴格的許可權控制,如果從root切換到其他用戶不需要密碼就能切換;如果從其他用戶切換為root用戶則必須輸入root用戶的密碼。
1、su root 提示輸入密碼是因為管理員許可權很高,為防止其他用戶亂篡改系統,切換為管理員時必須輸入管理員密碼。
2、輸入的密碼是不可見的,輸錯了只能重輸,看不見游標的。
Ⅲ Linux入門系列——su和sudo
su和sudo這兩個命令是Linux運維必須要會的,通常在生產環境中都是使用普通帳號來登錄,再使用su或sudo來執行一些管理命令。
su:run a shell with substitute user and group ids
-,-l,--login 切換後使用指定用戶的的shell。
-c,--command=COMMAND 可以在不切換當前shell的情況下,用指定的用戶來執行一個命令;
如果在su的時候沒有加」-「或「-l」或「--login」那麼默認的會使用 當前用戶 的shell來執行 ;
sudo的配置文件是: /etc/sudoers ,該文件可以定義哪個用戶可以在哪個機器上以哪個用戶的身份來執行哪些命令;
在配置sudo時必須使用 visudo 來編輯配置文件,因為使用visudo可以檢查修改後的文件的語法是否正確;
可以將上面的配置行分成四部分:part1 part2 part3 part4
例如:
那麼如果用戶的數量過多的時候是不是要為每個用戶來創建一個條目呢,很顯示這樣做是不科學的。所以sudo就引入了別名的概念,其實和組也差不多;
alias定義的語法:
要注意的是,這個Alias的名稱一定要大寫;
user1是一個用戶,user2是一個組,所以user2的前面要加上%
可以使用主機名,IP地址,網段(網段的掩碼可以寫成255.255.255.0,也可以寫成/24)
命令必須使用絕對路徑。如果只指定了一個目錄,那麼用戶就可以執行該目錄下的所有的文件;上面的「=」右邊的都可以使用「!」來取反。表示除了xxx以外;
例子 :請允許user1,user2,user3在192.168.20.44和192.168.10.0/24網段的機器上使用sudo切換到root用戶來執行useradd和setup命令;
然後就可以使用user1,user2,user3這三個用戶去測試了;
注意:當用戶第一次執行sudo命令的時候是需要用戶輸入自己的密碼的。當第一次輸入正確後,這個密碼就會被緩存5分鍾,在5分鍾內用戶再次使用sudo來切換身份執行命令的時候就不需要再次輸入自己的密碼。
這樣呢有些時候會有一個安全隱患,所以為了去掉這個5分鍾,可以在使用sudo命令的時候加上「-k」參數,這樣用戶在每次執行sudo命令的時候都會讓用戶輸入自己的密碼。
如果想讓某個用戶在執行sudo的時候不需要輸入自己的密碼,那麼可以在命令的前面添加NOPASSWD。/etc/sudoers的內容如下:
這樣的話,user1,user2,user3這三個用戶在執行指定的命令的時候就不需要輸入自己的密碼了。
如果其中的命令有的需要輸入密碼,有的不需要輸入密碼的話,那就把PASSWD:寫在那些命令的前面。或是把NOPASSWD:寫在最後一個命令中;
例子:讓用戶user4使用passwd來管理用戶的密碼,但是不能給root用戶設置密碼:
注意:如果最後不加上!/usr/bin/passwd root的話,那麼會有很大的漏洞,user4可以修改root用戶的密碼;當添加上後,user4再次執行sudo passwd root的時候就會提示:
Ⅳ 在shell中使用linux的su命令 如何輸入密碼
你是不是直接的在終端裡面輸入了su
-
user?
如果是的話,問題就出在那個user上面。user在這里是登錄到系統中的具體的用戶的名稱。在實際使用中,是要依據具體情況來輸入的。不是照辦照抄的。
如果登錄的用戶叫u1,那應該是su
-
u1,如果登錄的是user1,那應該是su
-
user1。不能照抄。除非你哪裡那個用於日常應用操作的普通用戶的名稱就是user。
還有,我看到你在user後面還有<
passwd。那也是錯誤。不過這個也怪不得你,因為你沒有在命令行下操作的經驗。在電腦的語法格式中,以一對尖括弧,或者說是以小於號和大於號所包裹的部分表示命令中必須輸入的部分,沒有它這條命令無法執行。
說明這個passwd是su
-
user這條指令中必須輸入的部分。passwd實際上是pass
word的縮寫,就是密碼。
你應該這樣:
su
-
user回車
輸入密碼
這個密碼是什麼。不一定。不同的發行版會有不同設置。有些版本的linux,密碼指的是具有超級管理許可權的root的密碼。有的指的是當前登入系統的普通用戶的密碼。你自己去試一下就知道了。