etc 文件夹的所有权已更改如何使用命令行恢复它?

Min*_*mus 2 login permissions etc rescue

我有一台安装了 Ubuntu 13.10 的计算机。用户(比方说Walesa)已经改变所有权etc文件夹及其所有子文件夹从rootWelesa使用特权文件管理器。由于sudo被禁用,他重新启动,希望它会再次重新启用。但是安全性不允许在输入用户名和密码后登录说“etc/profile 的所有者不是 root”。

但是可以使用命令行登录I have no name!@Walesa。有没有办法恢复其etc所有子文件夹的所有权以root使用此命令行?

Ant*_*hon 8

正在做:

sudo chown -R root.root /etc
Run Code Online (Sandbox Code Playgroud)

在命令行上将设置/etc和下面的所有内容到所有者root和组root

但是,在我的系统(Ubuntu 12.04)上,并非所有内容/etc都在 group 中root。以下列表可能会有所帮助(使用 生成sudo find /etc ! -gid 0 -ls | cut -c 29-):

root     dovecot      5348 Apr  8  2012 /etc/dovecot/dovecot-sql.conf.ext
root     dovecot       782 Apr  8  2012 /etc/dovecot/dovecot-dict-sql.conf.ext
root     dovecot       410 Apr  8  2012 /etc/dovecot/dovecot-db.conf.ext
root     shadow       2009 Dec 23 16:10 /etc/shadow
root     lp           4096 Mar 12 19:38 /etc/cups
root     lp            540 Mar 12 19:38 /etc/cups/subscriptions.conf
root     lp            108 Sep  1  2012 /etc/cups/classes.conf
root     lp           4096 Oct  8  2012 /etc/cups/ppd
root     lp           2751 Mar 12 07:38 /etc/cups/printers.conf
root     lp           2751 Mar 11 21:06 /etc/cups/printers.conf.O
root     lp            108 Jun  6  2012 /etc/cups/classes.conf.O
root     lp            540 Mar 12 19:24 /etc/cups/subscriptions.conf.O
root     lp           4096 Mar 28  2012 /etc/cups/ssl
root     sasl        12288 Jun  6  2012 /etc/sasldb2
root     daemon        144 Oct 25  2011 /etc/at.deny
root     dialout        66 Oct 31  2012 /etc/wvdial.conf
root     lightdm         0 Apr 21  2012 /etc/mtab.fuselock
root     shadow        981 Feb 19 23:38 /etc/gshadow
root     dovecot      1306 Jun  6  2012 /etc/ssl/certs/dovecot.pem
root     ssl-cert     4096 Jun  6  2012 /etc/ssl/private
root     dovecot      1704 Jun  6  2012 /etc/ssl/private/dovecot.pem
root     ssl-cert     1704 Apr 21  2012 /etc/ssl/private/ssl-cert-snakeoil.key
root     fuse          216 Oct 18  2011 /etc/fuse.conf
root     dip          4096 Oct 31  2012 /etc/ppp/peers
root     dip          1093 Mar 28  2012 /etc/ppp/peers/provider
root     dip          4096 Mar 28  2012 /etc/chatscripts
root     dip           656 Mar 28  2012 /etc/chatscripts/provider
Run Code Online (Sandbox Code Playgroud)


Gil*_*il' 5

由于您可以修改/etc/passwd,因此您可以删除 root 帐户上的密码验证。编辑/etc/passwd并更改行

\n\n
root:x:0:0:root:/root:/bin/sh\n
Run Code Online (Sandbox Code Playgroud)\n\n

\n\n
root::0:0:root:/root:/bin/sh\n
Run Code Online (Sandbox Code Playgroud)\n\n

(即第二个以冒号分隔的字段必须为空)。现在您su无需输入密码即可运行并成为 root。(我认为这适用于 Ubuntu,但如果禁用空密码,您可以输入aaxSuH/.jTvGs第二个字段并使用密码changeme。)

\n\n

通过运行修复权限

\n\n
cd /etc\nchown -R root:root /etc\nchgrp shadow shadow gshadow\n
Run Code Online (Sandbox Code Playgroud)\n\n

还有一大堆chgrp命令 \xe2\x80\x94 Anthon\ 的列表是一个好的开始。

\n\n

完成后,检查另一个可以sudo正常使用的终端。

\n\n

然后将 root 的密码更改回禁用状态或/etc/shadow: 编辑/etc/password并将x(或*) 作为第二个字段。

\n\n

最后,给瓦文萨发一封令人讨厌的电子邮件,告诉他不要再玩这种把戏了。这相当于闭上眼睛,向空中扔一把刀,希望它能恰好掉下来来治愈你的倒刺。

\n