2017-12-02 126 views
1

我有一個Ubuntu 16.04 Amazon EC2實例。「sudo」命令在Ubuntu上不需要密碼16.04

在實例中的唯一用戶是ubuntu

我已經成功地在SSH我的新實例,並能正常工作。

我可以這樣運行sudo命令:

sudo apt-get update

不過,我在的事實,須藤不要求任何密碼我而言。

我想這是因爲我的默認帳號ubuntu沒有密碼。

所以我在下面的命令中鍵入:

$ passwd 
(current) UNIX password: 

我留下的第二個字段爲空,然後單擊輸入,它給了我下面的消息:

passwd: Authentication token manipulation error 
passwd: password unchanged 

然後,我決定做:

$ sudo passwd

這使我可以更改我的密碼,但每當我做任何sudo命令,它似乎沒有工作。如何設置需要密碼?

另外sudo passwd做了什麼,我該如何解決它?

+0

爲了安全起見,我建議禁止任何用戶在默認情況下在機器上具有sudo權限,我將創建一個名稱不同的新用戶。任何擁有sudo權限的人都應該有密碼。至於不提示您輸入密碼的機器,請記住,一旦爲一個sudo命令輸入了密碼,機器就會「記住」您剛剛輸入了一段時間,並且在一段時間後纔會提示您。您可能會發現[this](https://unix.stackexchange.com/questions/37299/how-does-sudo-remember-you-already-entered-roots-password)有幫助。 –

+0

@ S.Imp事情是,我從來沒有輸入密碼,所以它不是一個時間流逝的問題。 –

回答

2

回答我自己的問題...

默認的ubuntu用戶密碼被鎖定。因此,要改變它,你需要做到以下幾點:

$ sudo passwd ubuntu 

要撤消更改根密碼,並重新鎖定它(因爲它是之前)執行以下操作:

$ sudo passwd root -l 

爲了確保須藤每次開啓ubuntu默認的用戶使用sudo時要求您輸入密碼,運行以下命令(注意:您需要有Ubuntu的設置密碼,或者您可能會被鎖定須藤的):

$ sudo visudo -f /etc/sudoers.d/90-cloud-init-users 

並註釋掉線與Ubuntu像這樣:

# ubuntu ALL=(ALL) NOPASSWD:ALL 

或更改爲:

ubuntu ALL=(ALL) ALL 

以下幫助:

https://serverfault.com/questions/615034/disable-nopasswd-sudo-access-for-ubuntu-user-on-an-ec2-instance/684504#684504