今天,我的Ubuntu盒子里发生了一些奇怪的事情:普通的(非root用户):
sudo
不input我的密码(通常,我相信我总是必须键入我的密码sudo
?) cd ~
,它告诉我,我没有权限去/root
。 user@host:/home/username
而不是熟悉的user@host:~
我习惯的。 /root
。 screen
那样做,因为它不能在/root
目录中写入新的configuration文件。 知道/etc/passwd
显示我的用户的home是/home/user
而不是/root
可能很有用。
我只是做了一个大的apt-get upgrade
,这是我的软件的新版本的正常行为? rkhunter
报告了一些可疑的文件,但似乎已经有一段时间了,似乎是合法的(它们看起来是与请求跟踪器相关的文件)。 我可以发布rkhunter日志,如果这有助于任何人,并审慎。 而chkrootkit
什么也没有出现。 也unhide
似乎没有注意到任何东西。 rkhunter
似乎只关心的是我的openssl
, openssh
, php
, GnPG
。 但是做一个
sudo apt-get update; sudo apt-get upgrade; sudo apt-get dist-upgrade
给我没有包升级。
任何人有什么build议如何解决这个问题? 奖金指向任何人可以确定我的问题的原因。
更新 :如上所述,我的/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
更新更新 :感谢这里的build议,我发现/home/user
中有一个.profile
导出我的HOME为/root
。 虽然我猜这是一些奇怪的软件的工作,我apt-get
去除它似乎已经解决了我的大部分问题。
感谢大家!
$ id $ echo $HOME $ getent passwd $USER
听起来像$ HOME是不正确的,这很有趣。 如果login时发生这种情况,请查看您的帐户的系统帐户数据库中的内容,这是第二个命令的作用。 通常/历史上,这个数据库是/ etc / passwd,在现代Linux上,也会有/ etc / shadow。
部分,sudo听起来像你的uid被设置为0,这将是奇怪的。 不要这样做,这意味着你的账户是根,只是用一个不同的名字,这使得你的账户如果被滥用,就像危险一样。 如果发生这种情况,那么你有一些清理工作在你面前。 不要做{sudo vipw},因为你有可能不能再次sudo,取决于各种configuration的所有权,所以你不能修复权限。 相反{sudo -i}以root身份有效login,然后使用{vipw},然后使用{chown -R …}来重置所有权。
我可能是错的,但这里是我的想法1)sudoing时没有密码被重置:你的默认shell可能是sudo代替bash。 检查/ etc / passwd,2)无法进入/ root:检查该文件夹的权限,如果需要chmod u + x it,3)在sudo模式下,这是非常正常的,4)它与1)
正如我写的,这只是build议。 但是这里有一些原因的解释。 uid和gid不是有效的uid和有效的gid。 当你sudo的时候,你只需要改变uid / gid而不是生效的。 另一个可以去/ root的build议:试试sudo bash
您可以在部署时编辑您的visudo以恢复sudo密码请求
在terminal:visudo
你应该编辑这一行:
%sudo ALL=NOPASSWD: ALL
和
ALL=NOPASSWD:ALL