2014-05-20 71 views
0

我在vagrant(Ubuntu 12.04 OS)中創建了一個新的非sudo用戶(user1),並將不安全的公鑰添加到user1授權密鑰文件。在流浪的文件,添加默認的用戶爲「用戶1」:非Sudo Vagrant用戶的流浪漢失敗

The following SSH command responded with a non-zero exit status. 
Vagrant assumes that this means the command failed! 

mkdir -p /vagrant 

Stdout from the command: 

Stderr from the command: 

sudo: no tty present and no askpass program specified 
Sorry, try again. 
sudo: no tty present and no askpass program specified 
Sorry, try again. 
sudo: no tty present and no askpass program specified 
Sorry, try again. 
sudo: 3 incorrect password attempts 

但如果是設置默認用戶的sudo的用戶,那麼流浪漢:

config.ssh.default.username = "user1" 

現在無業遊民了與以下錯誤消息失敗成功。 任何人都可以幫助我做出改變,我需要做的,以啓用非sudo用戶流浪。

+0

爲什麼你想避免虛擬機上的sudo? – tmatilai

+0

因爲我不希望默認用戶有權訪問其他用戶的文件和文件夾(因爲sudo用戶可以使用sudo命令訪問所有內容)。 – user2846870

+0

其他用戶?如果你想在客機上安裝或配置任何東西,你需要root權限。如果沒有,爲什麼要使用流浪漢呢?直接創建並旋轉虛擬機。 – tmatilai

回答

4

Vagrant需要VM上的root/sudo權限才能執行幾乎所有的操作;比如配置網絡,安裝共享文件夾,運行預配置等等。所以,即使設法避開它,你也不會在沒有sudo的情況下獲得非常有用的虛擬機。

請注意,您只需要guest上的sudo訪問權限。 Vagrant命令本身可以(也應該)以主機上的非root用戶身份運行。

+0

那麼,如何爲這個默認用戶單獨提供所需的訪問權限(通過編輯/ etc/sudoers)呢?那麼應該給予默認用戶什麼樣的所有權限? – user2846870

+0

取決於Vagrant版本,訪客操作系統,你的配置,插件等。你只需要找出(從auth日誌)你是否真的需要這樣做。 – tmatilai

+0

如果我在評論config.vm.network:public_network並禁用共享文件夾,vagrant up正在執行而沒有任何錯誤。但vagrant停止給出follwoing錯誤 – user2846870