![/etc/passwd 具有 bash 访问权限的 sql](https://linux22.com/image/25868/%2Fetc%2Fpasswd%20%E5%85%B7%E6%9C%89%20bash%20%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90%E7%9A%84%20sql.png)
我刚刚获得了 CentOS VPS,正在查看 passwd 文件并看到以下内容:
mysql:x:498:499:MySQL server:/var/lib/mysql:/bin/bash
mysql需要bash吗?
答案1
在某些情况下可能需要设置 shell,例如,如果您想以用户身份通过 SSHmysql
或通过 sudo 远程启动作业。这些不是常见的需求。你不需要为 cron 作业设置 shell,/bin/false
就可以了。
为用户提供mysql
shell 本身并不是一个安全漏洞。它不受欢迎的原因是,再加上某些登录服务的错误配置,它可能允许某人以mysql
.安装一个不执行任何操作的程序可以避免这种情况——即使攻击者设法登录,因为mysql
这对他们没有任何好处。使用/bin/false
or很常见/usr/sbin/nologin
,但是/bin/true
or 任何其他无操作程序都可以。