使用 /etc/shadow.bak 的内容恢复 /etc/shadow

使用 /etc/shadow.bak 的内容恢复 /etc/shadow

我需要使用 /etc/shadow.bak 的内容恢复 /etc/shadow。我没有 sudo 密码,但有人告诉我“非默认影子组权限”可能会有帮助?

我跑

sudo -ll

我得到以下

james@machine:~$ sudo -ll
Matching Defaults entries for elf on 8ee2351512ca:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User james may run the following commands on machine:
Sudoers entry:
    RunAsUsers: james
    RunAsGroups: shadow
    Options: !authenticate
    Commands:
        /usr/bin/find

shadow 上的权限如下

james@machine:~$ ls -laah /etc/shadow
-rw-rw---- 1 root shadow 0 Dec 15 20:00 /etc/shadow

答案1

您可以以 group shadow 身份运行 /usr/bin/find,并且 group shadow 具有对 /etc/shadow 的写访问权限,因此您可以执行如下操作

sudo -g shadow find /path/to/shadow.bak -exec cp {} /etc/shadow \;

这应该可以工作,因为 exec 是使用调用进程的用户:组运行的,在本例中是james:shadow

相关内容