我想允许 ssh 访问特定帐户,但是如果我使用特定的公钥连接,我应该被放到一个完整的 shell,否则到一个受限的 shell。
例子:
我使用公钥 ABCDEF(在authorized_keys 中正确设置)将 ssh 连接到 user@myhost.com,然后我得到一个 /bin/zsh shell
如果我使用密码或其他公钥连接到 user@myhost.com,我会得到一个 /bin/rsh shell
我的想法是创建一个自定义的中间外壳(IE:/bin/mysh),检查使用的密钥并从那里执行正确的外壳,但我不知道如何检查使用了哪个密钥(或者是否有可能) )。
env 似乎没有包含任何有用的东西。
关于如何做到这一点或其他可能的解决方案的任何想法?
谢谢。
我正在寻找像 Cacti 或 Zabbix 这样的东西,但从命令行驱动。
我讨厌点击,我喜欢脚本和 shell automagic。我正在寻找一些允许我使用 Emacs/Vim 编辑主机列表、警报等的监控套件。
任何想法/链接表示赞赏。
是否可以简单地使用 head 和 cmp (或其他方式)来实现这一点?
我希望通过 Gmail 发送的最小 SMTP 客户端将 cron 输出发送到外部电子邮件地址。我想我需要这个客户端来支持 TLS 和 /etc/aliases,我希望配置尽可能简单。
有没有办法在生产服务器中rm使用单个阻止*?这将有助于防止以下事故:
rm test *
Run Code Online (Sandbox Code Playgroud)
代替
rm test*
Run Code Online (Sandbox Code Playgroud) 我想知道是否有一种方法可以更改文件的所有者权限,例如所有者当前是“fred”,让所有组保持不变。
这样做的原因是我最近被迫通过不同的用户登录到 SFTP,并且需要将所有以前拥有的文件更新为新用户。虽然我不想更改每个文件的权限。
我想在 ssh 命令中有一个 Telnet 命令,用于在远程机器 ( 172.202.230.22) 上执行 Telnet 命令。我尝试使用命令
ssh Administrator@172.202.230.22 telnet 10.86.114.10 8088
Run Code Online (Sandbox Code Playgroud)
它给出了一条错误消息,如
未找到命令(错误代码:127),
但是当我尝试直接执行相同的 Telnet 命令时,172.202.230.22它执行得很好。是什么原因?
我尝试限制备份守护程序的用户(需要对客户端计算机的 root 访问权限),以便它只能使用它需要的一个命令。因此,在 /etc/sudoers 中,我使用
daemonuser ALL=NOPASSWD: /backup/command --with --args *
Run Code Online (Sandbox Code Playgroud)
我从一位同事那里听说该方法不再被认为是安全的,但我找不到任何详细信息。是否有任何我需要注意的安全问题?
我有一个简单的问题要问你,至少,比“我如何清理被盗用的用户帐户?”要简单得多。问题是:“如何禁用被盗用的用户帐户?” 有一些明显的事情要做:
pkill -9 -u username那么,如果他们的进程在完成这些事情后神秘地恢复了,我们错过了什么?