首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许用户通过ssh连接到mysql以创建数据库转储,但不允许任何其他内容

允许用户通过ssh连接到mysql以创建数据库转储,但不允许任何其他内容
EN

Ask Ubuntu用户
提问于 2017-03-09 12:24:00
回答 2查看 842关注 0票数 2

我需要让用户创建mysql转储,但我希望限制其他任何内容。我必须通过ssh进入服务器,因为mysql服务器只监听内部ip地址,从而阻止我直接访问mysql服务器。

我曾试图对ssh用户进行监禁,但这不太有效,因为它无法通过mysql套接字连接到数据库,即使我将套接字目录复制到监狱中。

然后,我阅读了一些关于/sbin/nologin的内容,它允许用户在不启动shell的情况下进行身份验证。我想,也许我可以通过命令直接创建转储/隧道之类的东西给mysql。

是否有人有任何经验,允许用户通过ssh创建数据库转储,但限制其他任何内容?

用户也可以使用像Sequel / MySQL工作台这样的工具进行连接,但是他们仍然需要通过ssh进行连接,因为否则数据库服务器是不可访问的。

他们需要下载转储,但我可以通过SFTP访问转储。

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2017-03-09 18:32:21

两种可能的解决办法。

SSH监狱,http://allanfeid.com/content/creating-chroot-jail-ssh-access

Alternative,Jailkit,简单简单的监禁用户的方法

或者,如果用户使用ssh键,则可以通过授权命令限制用户,

票数 1
EN

Ask Ubuntu用户

发布于 2017-03-09 17:11:39

将执行转储所需的代码添加到..bashrc/..zshrc,然后是退出。

代码语言:javascript
复制
# .bashrc
echo "Creating DB Dump..."
dumpdumpdump
echo "Done"
exit

然而,这是相当不安全的。退出前的任何ctrl都会给用户一个shell。您可以添加一个陷阱,以便在INT和TERM上也退出以避免这种情况。

代码语言:javascript
复制
trap exit INT TERM;
echo "Creating DB Dump..."
dumpdumpdump
echo "Done"
exit
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/891220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档