在UNIX和Linux堆栈交换上的另一个答案中,Michael D Parker写道:有人说这样做是“安全的”,以回应:
通常,您永远不要直接编辑/ etc / shadow文件。
所以:
为什么你从来没有编辑/etc/shadow
直接文件?
在UNIX和Linux堆栈交换上的另一个答案中,Michael D Parker写道:有人说这样做是“安全的”,以回应:
通常,您永远不要直接编辑/ etc / shadow文件。
所以:
为什么你从来没有编辑/etc/shadow
直接文件?
Answers:
有几个原因不能编辑/etc/passwd
,/etc/shadow
,/etc/group
,/etc/gshadow
或/etc/sudoers
直接,而是使用vipw
,vigr
或visudo
:
passwd
,chsh
或chfn
更改其帐户的某些内容。如果使用适当的工具,它将阻止并发修改。对于具有多个用户的系统,这主要是一个问题,如果您是唯一用户,则更少。vipw
更新多个文件(例如/etc/passwd
和/etc/master.passwd
)。这不适用于Linux。vipw
自动创建一个备份(passwd-
,,shadow-
…),如果您发现意外删除了一行,该功能将非常有用。仅当您在下一次编辑之前意识到这一点时才有用,因此它不会代替版本控制和备份,但是如果您尽快意识到自己的错误,那就非常好了。visudo
不这样做。您可以直接编辑文件。您将承担额外的风险,而没有真正的优势。
/etc/shadow
不存在,并且/etc/passwd
编辑错误的文件,因为它是生成的文件而不是源文件。☺
基本上有两种查看方式:
在未使用规定的工具的情况下,切勿编辑某些文件,因为您可能不知道自己在做什么,并且可以,因为所说的工具比较了解并且随时可用。
更现实的是,您最好在考虑时就将其中断,以便您可以事先计划备份副本并比较之后的差异,因为有关系统基本初始login
过程的基本知识可能值得当您在以后以其他方式破坏它时,所说的工具将无济于事。
我想您可能可以说出我推荐的那个。我想说的是,如果某个话题使您感兴趣,甚至一会儿,您都可以利用这种好奇心并在学习时获得新技能。尤其是这样的shadow
文件-该文件具有相当基本的格式,在不小心将其破坏后我了解到的东西很少-这不是我对该文件进行编辑的结果。
相反,我的问题发生在软件包管理数据库出现其他错误之后,导致软件包管理器覆盖了它而不保存备份,并且系统上的所有用户都被设置为kaput。进一步无知的修补尝试只会将损害扩大到其他相关文件,不久之后,我不得不/etc
从(比希望的要新的)备份中恢复大部分的文本文件。
一旦这样做并确认我处于可行状态,我便决定再次仔细地做一遍。再一次。这是几个月前的事,但今天我仍然充满信心,可以login
通过系统上单个日志文件的一次诊断来诊断问题的根源,并使用任何基本的编辑器进行解决(并且也许可以一目了然的两个或两个man 5 problem_file
)仅提供对受影响的根fs的基本访问权限。它并不是廉价获得的-我花了一天的大部分时间-并且相关的配置文件分布在目录中(甚至/var/run/no_login
在其他挂载中甚至分布在某些文件中,例如Linux PAM的目录中) -但这是值得做的。经过一些深思熟虑,它本来可以便宜一些。
在这个故事的寓意是,它可能不是一件好事,像关键任务的configs的格式shadow
,passwd
,groups
,shells
应该是这样不透明的我们,必须采用特殊的编辑工具,可以或不可以的方式纠正我们的工作,由于某些原因,我们不仅仅了解简单的更改。至少,我认为,值得我们花些时间来确切地了解他们会做些与我们可能不同的事情。
这可能是一件好事,但是,一旦我们熟悉足以与编辑说文件,我们运行使得在它们和之后保存到他们的排版和简单的语法错误,有我们所掌握的工具,可以仔细检查的风险在应用blase编辑之前,我们已经以一定的方式和理由理解了我们的工作。