我喜欢使用 OpenLDAP 来验证我的 Oracle 用户。至少应该可以从目录中获取密码。
似乎有一些适用于 Oracle LDAP 服务器的东西,但是它可以与 OpenLDAP 一起使用吗(普通的,来自即 Debian)?
我们的 DB2 身份验证与活动目录集成,因此允许的密码由其策略控制。我们有一些用户无法通过命令编辑器或控制中心的查询屏幕连接到数据库。错误如下:
SQL0104N 意外标记“!” 被发现在“”之后。 预期的令牌可能包括:“新”。 SQLSTATE:42601 sqlcode:-104
只要在连接语句中不包含密码,它们就可以通过命令行处理器进行连接。
问题是影响密码中包含一些特殊字符的所有用户。我们让他们尝试在命令编辑器中发出没有密码的 connect 语句,但它不起作用。
数据库的确切版本是 DB2/AIX64 9.5.4
有没有办法让他们使用这个工具而不是让他们更改密码?
谢谢
我有两台运行 SQL Server 2008 Express 的计算机:c01 和 c02,我使用 Windows 身份验证为远程连接设置了两台计算机。对 c02 工作正常,但对 c01 无效。
这是我收到的错误消息:
无法连接到 ACAMP001\SQLEXPRESS。
附加信息:
登录失败。登录名来自不受信任的域,不能与 Windows 身份验证一起使用。(Microsoft SQL Server,错误:18452)
如需帮助,请单击:http : //go.microsoft.com/fwlink ?>ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=18452&LinkId=20476
我不知道我是否遗漏了什么,这是我所做的:
请任何帮助表示赞赏,谢谢。
我这里有一个有趣的情况。我们基本上是在尝试将一些 SQL Server 基础结构迁移到新硬件,其中一个机器(单实例、2 节点集群)正在运行 2008R2。其他的是 2012 年和 2014 年,但那些没有出现这个问题。
有一个应用程序连接到名为“OLD-SQL”的服务器;假设 IP 是 11.22.33.44。这是运行默认实例 SQL 2008R2 和 Windows Server 2008R2 的旧 SQL 框的名称。目前无法更改应用程序的连接设置/配置/字符串/任何内容。
设置用来替换那个的新 SQL 框被命名为“NEW-SQL”;假设它的 IP 是 11.22.33.55。还运行 SQL 2008R2(相同的 SQL 版本)。操作系统是 Windows Server 2012 R2(较新的操作系统)。两个盒子实际上都是集群实例,每个都有 2 个节点(老式的故障转移集群,没什么特别的)。
因此,为了帮助迁移,目前,出于测试/QA 目的,我们已完成以下操作: 1. 在客户端 QA 机器上设置 Hosts 文件以将名称“OLD-SQL”重定向到 11.22.33.55(新服务器)。2.在NEW-SQL服务器上创建一个SQL Server别名(使用SQL Config Mgr.),命名为“OLD-SQL”,指向自身,端口1433,协议TCP/IP。
为了测试它,我尝试通过 SSMS 连接;我输入“OLD-SQL”作为要连接的服务器名称。它因臭名昭著的“SSPI 上下文”错误(https://support.microsoft.com/en-us/kb/811889)而失败。正在测试的应用程序也会发生同样的事情。来自 cmd-line 的 Ping 解析得很好——它知道“OLD-SQL”根据 Hosts 文件解析为新的 IP 11.22.33.55。
现在,真正把扳手扔进东西里。我回到服务器 NEW-SQL,并添加另一个别名,参数相同但命名为“OLD-SQL2”。此名称在域网络中是唯一的。我回到我的盒子,将我的主机文件更改为从该名称指向 IP (11.22.33.55),然后转到 SSMS 并尝试再次连接。 这有效!
我通过执行 a 来验证我是否在“正确的服务器”上 …
我在 Windows 7 上使用 PostgreSQL 9.6.2,当我从命令提示符启动 psql 时:
psql -U myusername
Run Code Online (Sandbox Code Playgroud)
它要求输入密码并登录。但是如果我这样做:
psql -U postgres
Run Code Online (Sandbox Code Playgroud)
它会以超级用户权限直接登录到主数据库,而无需输入任何类型的密码。如果我输入:
psql -U postgres -W
Run Code Online (Sandbox Code Playgroud)
然后它会询问 su 密码,顺便说一下,这是我在一键安装过程中设置的密码。
我已经检查过了pg_hba.conf,它被设置md5为所有用户,所有数据库。我什postgres=# ALTER USER postgres PASSWORD 'myPassword';至用: 更改了数据库中的密码,但无济于事。
问题是为什么当我以普通用户身份登录时它要求输入密码而当我以超级用户身份登录时却没有?这不是主要问题,因为在任何一种情况下我都可以访问我的数据库,但它似乎根本不安全。任何解决方法将不胜感激。
我的老员工在我们的服务器中禁用了 Windows 身份验证。现在,即使我对服务器具有管理员访问权限,也无法访问 SQL Server。我需要重置sa密码。
我尝试使用 Remus 描述的单用户模式登录,但出现以下错误:
用户“SERVER\Administrator”登录失败。
原因:账户被禁用。
(Microsoft SQL Server,错误:18470)
我有一个 SQL Server 2014 的(开发者)实例在我的机器上运行。为了快速了解背景,我在一个像这样的小型网络上:
我是HOME\PCA。现在我想看看我是否可以使用我正在处理的应用程序让其他机器连接到我的实例。端口 1433 工作正常,如果我转到PCB或PCC并测试以创建新的 ODBC 连接,我将成功访问该实例。
当在 SSMS 中尝试添加HOME\PCB或HOME\PCC 时,它只会拒绝并告诉:Windows NT user or group 'HOME\PCB' not found. Check the name again.检查我的安全/登录我看到我是PCA\DevMachine(DevMachine)是我的 Windows 登录。如果我在“新登录”对话框中尝试“搜索”,则唯一可用的位置是PCA。
我在 SQL Server 权限方面没有很多经验,但我的假设是它不会让其他计算机添加到我的 SQL Server 实例中,因为PCA是服务器,因此PCB和PCC应该位于PCA\ PCB那种方案。
这与这种行为的原因有什么关系吗?或者,是否有任何我遗漏的显而易见的东西(所有网络电缆都已插入)?
问候
在重新启动无响应的主机 WINTEL 服务器导致 SQL Server 2012 SP3 实例重新启动后,我有一个 SQL 代理日志传送复制作业(它使用代理帐户访问日志备份所在的 NAS 文件共享)因此错误而失败:
验证代理 MyDomain\MyProxyAccount 时出错,系统错误:用户名或密码不正确。
我试图将正确的密码重新应用到代理的凭据并重新创建一个新的凭据,但都因此错误而失败:
此操作所需的密钥似乎已损坏。(Microsoft SQL Server,错误:15507)
我读过一个 MSDN 页面,上面写着:
SQL Server 使用加密密钥来帮助保护存储在服务器数据库中的数据、凭据和连接信息。服务主密钥在 SQL Server 实例首次启动时自动生成,用于加密链接服务器密码、凭据和数据库主密钥。
我不确定如何继续。我的服务主密钥有问题吗?如果是这样,有人可以建议如何解决此问题或指导我在线进一步阅读吗?
更新:我发现 SQL Server 日志中的条目(在主机 WINTEL 服务器重新启动后重新启动实例时写入)进一步表明问题出在服务主密钥上:
无法使用其加密之一解密服务主密钥。服务主密钥初始化期间发生错误。
我仍然欢迎任何关于如何解决这个问题的建议......
我有一个包含多个用户的数据库:foo、bar和super。我正在考虑pg_hba.conf锁定访问权限。
我希望允许foo并bar能够通过密码身份验证从任何 IP 进行连接。或者在本地使用信任身份验证。
我想允许super只能通过信任身份验证在本地登录。切勿来自非本地地址。
我就是从这个开始的。
# TYPE DATABASE USER ADDRESS METHOD
# Allow everything if you're on the same machine.
local all all trust
host all all 127.0.0.1/32 trust
Run Code Online (Sandbox Code Playgroud)
但是,然后我陷入困境,因为我不知道如何说“所有用户,除了超级用户”。我正在寻找这样的东西。
host all not_super all md5
Run Code Online (Sandbox Code Playgroud)
我认为我可以采取的一种方法是列出foo并bar明确。但是,我想知道是否还有其他方法。
host all foo all md5
host all bar all md5
Run Code Online (Sandbox Code Playgroud) 我们有多个 SQL Server,每个 SQL Server 拥有数十个数据库 - 每个客户端一个(在这种情况下,客户端意味着一个客户组织)。这些数据库是通过应用程序访问的,但该应用程序当前使用单个 Windows 登录。因此,这会产生安全风险,即如果存在某些应用程序漏洞,理论上可以访问“其他”客户端的数据库。
处理这种情况的最佳方法是什么?
我们是否应该为每个客户端创建单独的登录名并让应用程序使用单独的登录凭据进行连接?这将降低安全风险,但会产生大量的管理开销(这可能是值得的)。
后续问题是:在这种情况下我们应该使用 Windows AD 安全性还是 SQL Server 身份验证。
我很感激任何建议!
authentication ×10
sql-server ×6
postgresql ×2
connectivity ×1
db2 ×1
migration ×1
multi-tenant ×1
oracle ×1
security ×1
tools ×1
windows ×1