在 Ubuntu 上,sqladmin 是否可以免密登录,取决于你指的是哪一种“sqladmin”以及后端数据库的配置。下面分情况说明:
sqladmin(Flask-SQLAlchemy 的 Admin 管理界面)例如:
from sqladmin import Admin
admin = Admin(app, db.engine)
sqladmin 本身没有内置用户系统,默认:
admin = Admin(app, db.engine)
⚠️ 任何人都能访问,不安全
@app.before_request
def limit_admin():
if request.path.startswith("/admin"):
if request.remote_addr != "127.0.0.1":
abort(403)
✅ 结论:
Flask-SQLAdmin 可以免密,但是你要自己负责安全。
例如:
mysql -u sqladmin
在 Ubuntu 上常见:
sudo mysql
原因:
auth_socket 插件查看:
SELECT user, host, plugin FROM mysql.user;
如果想让 sqladmin 免密:
ALTER USER 'sqladmin'@'localhost'
IDENTIFIED WITH auth_socket;
sudo -u postgres psql
基于 peer 认证(pg_hba.conf):
local all postgres peer
实现“看起来免密”
❌ 不建议:
✅ 推荐:
Ubuntu 上 sqladmin 可以“免密”,但是否安全、是否应该这么做,取决于使用场景和认证方式。
如果你能告诉我:
我可以给你更精确的配置示例。