我们刚刚部署了一些Linux服务器。 每个系统pipe理员将在服务器上有他自己的帐户(即:jsmith),并将使用SSH连接证书,该证书将被放入主目录中的“authorized_keys”文件中。 一旦在服务器上连接,如果他们想发出一个提升的命令,他们会这样做:
sudo ifconfig
然后他们将inputroot密码。
我现在想知道的是pipe理root密码的最佳实践。 我应该改变它吗? 我该如何与系统pipe理员分享新密码?
**当然,我将禁用SSH根login。
如果他们使用的是sudo,那么它会询问他们的密码而不是root密码,因此不需要更改root密码。 只要确保在/ etc / sudoers文件中给予他们适当的权限即可。
使用sudo时,您不必担心root密码。 也许,我会build议通过发布来禁用root密码
sudo passwd -l root
尽pipe如此,请确保您拥有具有所有权限的相关系统用户。
您始终可以通过发出获取根控制台
sudo -i
以下是我用来configuration我的服务器的一个小脚本。
#!/bin/bash set -e addgroup sysadmin adduser newuser usermod -a -G sysadmin newuser chmod u+w /etc/sudoers echo "\n# Added by <YOUR-NAME>\n%sysadmin ALL=(ALL) ALL" >> /etc/sudoers chmod uw /etc/sudoers su newuser -c "mkdir /home/newuser/.ssh" su newuser -c "chmod 0700 /home/newuser/.ssh" su newuser -c 'echo "<YOUR-SSH-KEY>" >> /home/newuser/.ssh/authorized_keys' su newuser -c "chmod 0644 /home/newuser/.ssh/authorized_keys"
你可以根据你的需要修改。 使其交互,使用用户可以等等:)
请享用!
有一种情况需要root密码:如果启动时文件系统fsck失败,通常会提示您inputroot密码以获取shell提示符,以便修复损坏。 在这一点上,既不是普通的用户帐户也不是可用的SSH。 如果系统pipe理员不知道root密码,那么唯一的select是从备用媒体启动。
根据最佳实践:
用root用户loginssh应该被禁止
/ etc / ssh / sshd_config注释如下:
PermitRootLogin yes
创build一个组,并把所有的系统pipe理员用户
groupadd <sysadm_group>
groupmod -A <user1>,<user2> <sysadm_group>
编辑/ etc / sudoers文件。
visudo
在底部添加:
%<sysadm_group> ALL=(ALL) ALL
根密码应存放在安全的地方,只能在紧急情况下使用。
我的笔记关于sudo:(请注意 – 我的笔记只是我自己的谷歌收集,我张贴他们,因为它可能会帮助新手,像我这样的慢学习者;)..如果你说的信息是不正确的,或只是从维基副本,或抄袭,等等等等,然后让我知道通过评论,我会非常高兴删除我的post,比你的反对票)
获取不可读目录的文件列表:
%sudo ls / usr / local / protected
要列出保存〜yazza的文件系统不以root身份导出的机器上的用户yazza的主目录:
%sudo -u yazza ls〜yazza
以用户www编辑index.html文件:
%sudo -u www vi〜www / htdocs / index.html
closures一台机器:
%sudo shutdown -r +15“快速重启”