sudo 沒有密碼?
今天,作為普通使用者(非 root 使用者),我的 Ubuntu 機器上發生了一些奇怪的事情:
- 登錄後,我可以
sudo
不輸入密碼(通常,我相信我總是必須輸入密碼sudo
?)- 當我輸入
cd ~
時,它告訴我我沒有權限去/root
。- 同樣,我的 bash 提示符顯示類似:而不是我習慣
user@host:/home/username
的更熟悉的內容。user@host:~
- 我的個人資料似乎都沒有正確設置,一切似乎都認為我的主目錄是
/root
.- 由於上一個項目符號,我無法執行 run 之類的操作,
screen
因為它無法在/root
目錄中寫入新的配置文件。知道
cat
ing/etc/passwd
顯示我的使用者的家是/home/user
而不是可能很有用/root
。我剛剛做了一個大動作
apt-get upgrade
,這是我的軟體新版本的正常行為嗎?rkhunter
報告了一些可疑文件,但它們似乎已經存在了一段時間並且看起來是合法的(它們看起來是與 Request Tracker 相關的文件)。如果這有助於任何人並且是謹慎的,我可以發布 rkhunter 日誌。並且chkrootkit
一無所有。也unhide
似乎什麼都沒有註意到。rkhunter
似乎唯一關心的是我的openssl
,openssh
,php
,版本GnPG
。但是做一個
sudo apt-get update; sudo apt-get upgrade; sudo apt-get dist-upgrade
沒有給我升級包。
有人對如何解決這個問題有什麼建議嗎?獎勵指向任何可以確定我的問題原因的人。
更新:正如我上面所說,我
/etc/passwd
顯示我的主目錄是正確的(/home/username
),但是當我echo $HOME
顯示/root
. 這是輸出:user@hostname:/home/user$ getent passwd $USER user:x:1000:1000:user,,,:/home/user:/bin/bash user@hostname:/home/user$ echo $HOME /root
更新更新:感謝這裡的建議,我發現有一個將我
.profile
的/home/user
HOME 導出為/root
. 雖然我猜這是一些奇怪軟體的工作,但我apt-get
刪除它似乎已經解決了我的大部分問題。感謝大家!
$ id $ echo $HOME $ getent passwd $USER
聽起來 $HOME 不正確,這很有趣。如果在登錄時發生這種情況,請查看您的帳戶的系統帳戶數據庫中的內容,這是第二個命令的作用。通常/歷史上,這個數據庫是 /etc/passwd 並且在現代 Linux 上,也會有 /etc/shadow。
在某種程度上,sudo 聽起來您的 uid 已設置為 0,這很奇怪。不要那樣做,這意味著您的帳戶是 root,只是名稱不同,這會使您的帳戶在被濫用時同樣危險。如果發生這種情況,那麼您需要進行一些清理工作。不要這樣做 { sudo vipw } 因為您可能無法再次執行 sudo,具體取決於各種配置的所有權,因此您無法修復權限。而是 { sudo -i } 以 root 身份有效登錄,然後使用 { vipw } 然後使用 { chown -R … } 重置所有權。