首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用SQL身份验证将以"local admin“身份运行的应用程序连接到远程数据库,但在服务器上没有"sysadmin”权限

在使用SQL身份验证将以"local admin"身份运行的应用程序连接到远程数据库时,即使在服务器上没有"sysadmin"权限,仍有几种方法可以实现。

方法一:创建登录名和用户

  1. 在远程数据库服务器上,使用具有足够权限的登录名(例如sa)登录SQL Server。
  2. 使用以下T-SQL命令创建一个登录名(login): CREATE LOGIN [YourLoginName] WITH PASSWORD = 'YourPassword'
  3. 创建一个用户并与登录名相关联: CREATE USER [YourUserName] FOR LOGIN [YourLoginName]
  4. 授予该用户对所需数据库的访问权限: USE [YourDatabase] GRANT CONNECT SQL TO [YourUserName] GRANT SELECT, INSERT, UPDATE, DELETE ON [YourSchema].[YourTableName] TO [YourUserName]

方法二:创建数据库角色

  1. 在远程数据库服务器上,使用具有足够权限的登录名(例如sa)登录SQL Server。
  2. 使用以下T-SQL命令创建一个数据库角色(database role): CREATE ROLE [YourRoleName]
  3. 将需要的权限授予该数据库角色: GRANT CONNECT SQL TO [YourRoleName] GRANT SELECT, INSERT, UPDATE, DELETE ON [YourSchema].[YourTableName] TO [YourRoleName]
  4. 创建一个用户并将其添加到该数据库角色中: CREATE USER [YourUserName] FOR LOGIN [YourLoginName] ALTER ROLE [YourRoleName] ADD MEMBER [YourUserName]

方法三:使用存储过程

  1. 在远程数据库服务器上,使用具有足够权限的登录名(例如sa)登录SQL Server。
  2. 创建一个存储过程(stored procedure),该存储过程将以sysadmin权限执行所需的操作。以下是示例代码: CREATE PROCEDURE [YourProcedureName] AS BEGIN EXECUTE AS LOGIN = 'YourLoginName' -- 在此处执行需要sysadmin权限的操作 END
  3. 授予"local admin"用户执行存储过程的权限: GRANT EXECUTE ON [YourProcedureName] TO [YourUserName]

无论选择哪种方法,都应该根据实际需求进行适当的权限控制,并确保为用户设置强密码以提高安全性。

腾讯云相关产品:腾讯云数据库 TencentDB 链接地址:https://cloud.tencent.com/product/cdb

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SQL 中如何给指定数据库创建只读用户?

在SQL Server 中,为了保护数据库的安全,需要给不同的使用者开通不同的访问用户,那么如何简单的控制用户的权限呢?下面我们就创建一个只读用户,给大家学习使用。...这里我选的服务器是【local】,账户是【windows身份验证】,如果是连接远程的服务器,输入远程服务器地址和账号密码即可。 2、找到【安全性】,打开,可以看到【登录名】,在上面右键。...这里我选用了【SQL Server 身份验证】同时,我勾掉了【强制实施密码策略】 5、在右侧的【用户映射】选项卡中,【映射到此登录名的用户】选择该用户可以操作的数据库。...setupadmin 可以添加和删除链接服务器,并对可以执行某些系统执行存储过程(如,sp_serveroption) sysadmin 在sql server中进行任何活动,该觉得的权限跨越所有其他固定服务器角色...,默认情况下,windows builtin\admin组(本地管理员组)的所有成员都是sysadmin 固定服务器角色的成员 用户映射参考 (可以对数据库的数据进行操作) db_owner 可以执行数据库中技术所有动作的用户

4K20

如何给指定数据库创建只读用户?

在SQL Server 中,为了保护数据库的安全,需要给不同的使用者开通不同的访问用户,那么如何简单的控制用户的权限呢?下面我们就创建一个只读用户,给大家学习使用。...这里我选的服务器是【local】,账户是【windows身份验证】,如果是连接远程的服务器,输入远程服务器地址和账号密码即可。 2、找到【安全性】,打开,可以看到【登录名】,在上面右键。...这里我选用了【SQL Server 身份验证】同时,我勾掉了【强制实施密码策略】 5、在右侧的【用户映射】选项卡中,【映射到此登录名的用户】选择该用户可以操作的数据库。...setupadmin 可以添加和删除链接服务器,并对可以执行某些系统执行存储过程(如,sp_serveroption) sysadmin 在sql server中进行任何活动,该觉得的权限跨越所有其他固定服务器角色...,默认情况下,windows builtin\admin组(本地管理员组)的所有成员都是sysadmin 固定服务器角色的成员 用户映射参考 (可以对数据库的数据进行操作) db_owner 可以执行数据库中技术所有动作的用户

83310
  • 我所了解的内网渗透 - 内网渗透知识大总结

    在Windows域环境下,身份验证服务和票据授予服务可同时运行在任何可写域控服务器上。...SPN是服务在使用Kerberos身份验证的网络上的唯一标识符。...密码转换为NTLM哈希值,时间戳使用散列加密,并作为身份验证票据(TGT)请求(AS-REQ)中的身份验证器发送给KDC。...大多数Active Directory管理员使用用户帐户登录到其工作站,然后使用RunAs(将其管理凭据放置在本地工作站上)或RDP连接到服务器运行Mimikatz读取密码,收集密码尝试登录管理员机器一般只要域管理员登录过的机器抓取都可以获取域控了...使用Mimikatz的DCSync和相应的权限,攻击者可以通过网络从域控制器中提取密码散列以及以前的密码散列,而无需交互式登录或复制Active Directory数据库文件(ntds.dit) 运行DCSync

    4.3K50

    SQLServer 中的身份验证及登录问题

    然后向用户或角色授予访问数据库对象的权限 身份验证方案 ---- 在下列情形中,Windows 身份验证通常为最佳选择: 存在域控制器。 应用程序和数据库位于同一台计算机上。...SQL Server 将用户名和密码的哈希都存储在 master 数据库中,使用内部身份验证方法来验证登录尝试。...这些登录名不能用于连接到 SQL Server 混合模式身份验证 ---- 如果您必须使用混合模式身份验证,则必须创建 SQL Server 登录名,这些登录名存储在 SQL Server中。...为 sa 登录分配一个强密码,并且不要在应用程序中使用 sa 登录。 sa 登录名会映射到 sysadmin 固定服务器角色,它对整个服务器有不能撤销的管理凭据。...SQL Server 提供了在Windows Server 2003 或更高版本上运行时 SQL Server 登录的Windows 密码策略机制。

    4.4K30

    数据库安全之MSSQL渗透

    MSSQL注入 MSSQL注入与普通的MYSQL注入类似,但在数据结构特定函数名称上有些差异。而使用经过语法扩展的T-SQL语句,在实现更为复杂的业务的同时,也带来了安全上的危险。...因此MSSQL在后续提权部分,与MYSQL有着较大的差异。由于该数据库与Windows平台的高契合度,使其可以使用Windows身份验证(或SA管理员账号),这就导致其运行权限较高。...因此,若后续权限没有限制准确,WEB代码又存在SQL注入时,就会给整个服务器的安全带来严重威胁,其后果一般比Mysql被攻破要严重。...连接本地数据库,在之前的设置中,我们设置了混杂模式,即可以使用SQL Server 身份验证或 Windows 身份验证登陆进数据库,点击启动SSMS 服务器名称可以填写主机名或本地ip地址 登录名和密码为...的协议里启用TCP/IP协议 3)开启远程登陆 先用主机名进行登陆 右键,打开数据库的属性 在连接处勾选允许远程连接到此服务器 4)关闭防火墙 这里用于渗透测试,直接全部关了 5)重启SSMS服务

    6.4K10

    SQLRecon:一款针对MSSQL的网络侦查与后渗透测试工具

    SQLRecon支持使用一组不同的身份验证提供程序(/a:, /auth:),以实现与Microsoft SQL Server的交互: WinToken - 使用当前用户令牌对SQL数据库进行身份验证.../port: | (可选)默认为1433 WinDomain - 使用AD凭据对SQL数据库进行身份验证 /h:, /host: | SQL服务器主机名或IP...| (可选)默认为1433 Local - 使用本地SQL凭据对SQL数据库进行身份验证 /h:, /host: | SQL服务器主机名或IP /u:,...默认为“master” AzureLocal - 使用本地SQL凭据对Azure SQL数据库进行身份验证 /h:, /host: | SQL服务器主机名或IP...SCCM和ECM需要拥有一个对外的本地或远程Microsoft SQL数据库。 以[*]开头的模块需要sysadmin角色或类似的特权上下文。

    28810

    SQL Server安全(211):身份验证(Authentication)

    你使用的途径取决于网络环境,应用程序访问数据库的类型和这些应用程序的用户类型。 Windows身份验证:这个身份验证方式依赖于Windows来担当重任——当用户登录到Windows是验证身份。...SQL Server身份验证 当你使用SQL Server登录作为验证时,客户端应用程序需要提供有效的用户名和密码来连接到数据库。...sa登录映射到sysadmin服务器角色,任何以sa登录到SQL Server的任何人有完全的系统管理员权限,在整个SQL Server实例和所有里面的数据库都有不可撤销的权利。...如果那个发生的话,你需要新的管理员! 绝不要在应用程序里使用sa登录来访问数据库。如果黑客拿到应用程序的控制权,这样做的话会给黑客真个数据库服务器的管理权限。...在早期,这是黑入服务器的最简单方法,是个可怕的实例。相反,为应用程序设置一个自定义的Windows或SQL Server登录来使用,给这个登录来运行程序的绝对最小的必须许可(实现最小权限原则)。

    2.5K80

    Linux:SSH和基于密钥的身份验证

    它还展示了如何使用基于密钥的身份验证来改进 SSH 功能,以实现更好的远程管理和与自动化工具的集成。 SSH 通过加密身份验证和网络流量来帮助减轻窃听攻击。...修改 Web 和数据库服务的系统和应用程序配置文件。 重启服务。(请记住,如果您重启网络或防火墙服务,您将断开连接。) 但是,上述用例仅允许手动远程管理,管理员一次连接到一个系统并运行命令(或脚本)。...使用基于密钥的身份验证连接到多个远程服务器 如果管理员工作站实际上需要连接到多个远程 SSH 服务器,该怎么办?您可以为每个服务器维护单独的密钥对,但这将非常繁琐。...通过一些简单的配置文件编辑,您可以使用相同的密钥对来验证多个远程设备。这种方法甚至支持每个目标系统的不同连接选项。 在本地系统上配置基于密钥的身份验证以连接到多个目标服务器的步骤与上述步骤相同。...总结 Linux 和网络管理员依赖 SSH 来安全、便捷地访问远程系统。它是他们工具箱中必不可少的一部分。基于密码的身份验证适用于少数远程设备,但在使用大量目标服务器实现自动化时并不方便。

    91090

    让你的PostgreSQL更安全

    我们可以输入以下内容更改为此用户: sudo su - postgres 接下来,我们可以通过输入以下内容连接到系统: PSQL 那么我们如何能够在没有密码的情况下连接呢?...我们可以通过查看基于主机的身份验证文件来仔细检查是否允许远程连接: sudo nano /etc/postgresql/9.1/main/pg_hba.conf local all...前两个安全行指定“local”作为它们适用的范围。这意味着他们正在使用Unix /Linux套接字。后两个声明是远程的,我们会看到这些是指定本地计算机的接口。 如果需要远程访问数据库怎么办?...要从远程位置访问PostgreSQL,请考虑使用SSH连接到数据库计算机,然后使用本地连接到数据库。 也可以通过SSH隧道访问PostgreSQL,以便客户端计算机可以连接到远程数据库。...建议您在生产环境上测试之前必须进行全面测试,以确保您已实施所需的控件,并且您没有意外地限制软件的合法使用。

    2.1K71

    Windows server 2016——权限管理与数据恢复

    视频教程:【SQL server 权限管理与数据恢复】 ---- 一.SQL server 的安全机制 1.设置 SQL server 权限 客户机的安全机制 服务器的安全机制 登录实例的账号和密码 身份验证模式...权限角色 数据库的安全机制 访问数据库的“数据库用户” 权限角色 数据对象的安全机制 查询、更新、插入、删除 ---- 2.登录权限设置 (1)SQL server的身份验证模式 Windows身份验证模式...SQL server 和 Windows 身份验证模式(混合验证模式) ---- (2)设置登录用户 Windows用户 SQL server 用户 ---- (3)SA账户的使用 设置复杂密码...建议禁用SA,并创建一个拥有与SA权限相同的超级用户 ---- 3.访问许可权限设置 (1)服务器级别 Sysadmin:执行任何活动,安全控制的权限 Diskadmin:用于管理磁盘文件(分离和附加的权限...---- 6.数据库还原 使用完整备份对数据库进行还原 也可以使用完整备份和事务日志进行还原 建议 将数据备份文件存储到远程服务器或磁盘等介质 对备份文件进行还原测试 保证备份数据的物理安全 ---

    36810

    进攻性横向移动

    以另一种方式,它包含您的身份并说明您可以在系统上使用和不能使用的内容。在不深入研究 Windows 身份验证的情况下,访问令牌引用登录会话,这是用户登录 Windows 时创建的。...因此,当用户通过网络登录登录到远程系统时,用户的凭据将不会出现在远程系统上以执行进一步的身份验证。...它首先通过 SMB 连接到目标上的 ADMIN$ 共享,上传 PSEXESVC.exe 并使用服务控制管理器启动在远程系统上创建命名管道的 .exe,最后使用该管道进行 I/O。...双跳问题发生在网络登录(类型 3)发生时,这意味着凭据实际上从未发送到远程主机。由于凭据不会发送到远程主机,因此远程主机无法向有效负载托管服务器进行身份验证。...使用 WebDAV 将 XML 文件托管在不需要身份验证的 SMB 共享上(例如,使用Impacket 的 SMBServer.py,但很可能需要攻击者将攻击机器连接到网络上) 尝试其他类似的“ExecuteShellCommand

    2.2K10

    SQL Server 权限管理

    权限管理的目的是确保数据库的安全性,防止未经授权的访问,保护敏感数据和维护数据库的完整性 SQL server的安全机制 身份验证(Authentication): Windows身份验证: 使用...SQL Server身份验证: 使用SQL Server本地账户和密码进行身份验证。...服务器级角色 在SQL Server中,有一些预定义的服务器级角色,这些角色具有不同的权限级别 服务器角色 描述 sysadmin 具有服务器上所有权限的最高权限角色。成员可以执行任何操作。...processadmin 管理正在运行的进程,但不能查看或更改这些进程的查询。 setupadmin 管理 SQL Server 安装过程的权限。...创建用户 赋予权限 右击登录名 点击新建登录名 选择SQL server身份验证 输入登录名密码 设置密码规则 默认数据库这一栏 选择你创建这个用户 允许登录哪一个数据库操作 选择服务器角色 不同的角色有着不同的权限

    23710

    如何在Debian 9上安装MariaDB

    没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。...步骤3 - (可选)调整用户身份验证和权限 在运行MariaDB 10.1的Debian系统中,根 MariaDB用户设置为默认使用unix_socket插件进行身份验证,而不是使用密码。...由于服务器使用root帐户执行日志轮换以及启动和停止服务器等任务,因此最好不要更改root帐户的身份验证详细信息。...如果您需要设置基于密码的访问权限,软件包维护人员建议您创建一个单独的管理帐户,而不是修改root帐户。 为此,我们将创建一个root帐户具有相同功能的新帐户admin与,但配置为密码身份验证。...有关其他检查,您可以尝试使用mysqladmin工具连接到数据库,该工具是一个允许您运行管理命令的客户端。

    3K50

    mssql注入

    from table) 回连,默认需要支持多语句查询 添加登录,使其成为固定服务器角色的成员。...如果还没有对该 Windows NT 登录授予 SQL Server 访问权限,那么将自动对其授予访问权限。 [@rolename =] 'role' 要将登录添加到的固定服务器角色的名称。...不能在用户定义的事务内执行 sp_addsrvrolemember 存储过程。 权限 sysadmin 固定服务器的成员可以将成员添加到任何固定服务器角色。...EXEC sp_addsrvrolemember 'Corporate\HelenS', 'sysadmin' OPENDATASOURCE 不使用链接的服务器名,而提供特殊的连接信息,并将其作为四部分对象名的一部分...目录 DBPROP_INIT_CATALOG 连接到数据源时的初始或默认的目录名称。 OPENDATASOURCE 函数可以在能够使用链接服务器名的相同 Transact-SQL 语法位置中使用。

    3.5K80

    使用Ubuntu 16.04进行初始服务器设置

    要使用SSH密钥作为新远程用户进行身份验证,必须将公钥添加到用户主目录中的特殊文件中。...接下来,我们将向您展示如何通过禁用密码身份验证来提高服务器的安全性。 第五步 - 禁用密码验证(推荐) 现在您的新用户可以使用SSH密钥登录,您可以通过禁用仅密码身份验证来提高服务器的安全性。...关于密钥身份验证的注意事项:如果您使用密码创建密钥对,系统将提示您输入密钥的密码。否则,如果您的密钥对是无密码短语,则应该在没有密码的情况下登录到您的服务器。...一旦向服务器提供身份验证,您将以新用户身份登录。...请记住,如果您需要运行具有root权限的命令,请在此之前键入“sudo”: sudo command_to_run 第七步 - 设置基本防火墙 Ubuntu 16.04服务器可以使用UFW防火墙来确保只允许连接到某些服务

    1.6K01

    Windows 身份验证中的凭据管理

    在这种情况下,用户需要在登录到计算机之前连接到网络。 ? 应用程序和服务登录的凭据输入 Windows 身份验证旨在管理不需要用户交互的应用程序或服务的凭据。...当客户端/服务器连接通过身份验证时: 连接客户端的应用程序使用 SSPI 函数将凭据发送到服务器InitializeSecurityContext (General)。...连接经过身份验证后,服务器上的 LSA 使用来自客户端的信息来构建安全上下文,其中包含访问令牌。...例如,当 Windows 客户端计算机加入时域,计算机上的信使服务连接到域控制器并为其打开安全通道。要获得经过身份验证的连接,该服务必须具有远程计算机的本地安全机构 (LSA) 信任的凭据。...当用户登录到运行 Windows 的计算机并提供用户名和凭据(例如密码或 PIN)时,信息将以明文形式提供给计算机。此明文密码用于通过将其转换为身份验证协议所需的形式来验证用户身份。

    6.1K10

    干货 | MSSQL注入和漏洞利用姿势总结

    作为数据库服务器,它是一种软件产品,主要功能是根据其他软件应用程序的请求存储和检索数据,这些应用程序可以在同一台计算机上运行,也可以在网络(包括 Internet)上的另一台计算机上运行。...它们类似于 Windows 操作系统中的组。SQL Server 2019 和以前的版本提供了 9 个不同级别的服务器级角色以帮助用户管理服务器上的权限。...Server 写 WebShell 如果运行 SQL Server 的服务器上存在 Web 服务,我们借助通过 SQL Server 内置的存储过程、数据备份以及日志备份等功能,向 Web 目录内写入...并且,由于 SQL Server 默认运行在 Local System 或 Network Service 账户下,这就意味着我们 SQL Server 将以本地机器帐户发起认证请求。...,有很多服务可以支持身份验证,最常利用的服务可能就是 SMB 了。

    6.7K20

    如何在CentOS 7上安装PostgreSQL关系数据库

    Linux用户用于访问数据库,PostgreSQL用户用于在数据库上执行管理任务。 此步骤中设置的密码将用于通过网络连接到数据库。默认情况下,对等身份验证将用于本地连接。...作为postgresLinux用户,通过运行登录: psql postgres 这将以postgres数据库用户身份登录。...mytestdb=# 默认情况下,您将作为经过身份验证的用户连接到数据库。...此外,角色也可以创建为一组其他角色,类似于Linux“组”.PostgreSQL角色全局适用,因此您无需创建如果您想在同一服务器上授予对多个数据库的访问权限,则两次使用相同的角色。...要使用图形工具远程访问数据库,请遵循以下指南之一: 在Windows上使用pgAdmin安全地管理远程PostgreSQL服务器 在Mac OS X上使用pgAdmin安全地管理远程PostgreSQL

    4.5K20

    绕过SQL Server的登录触发器限制

    如果身份验证失败,将不激发登录触发器。...1.使用SSMS以sysadmin身份登录到新的SQL Server实例。 2.首先,让我们使用以下命令来获取连接到SQL server实例的主机名。...下面是一个简单连接字符串的例子,它将作为当前Windows用户连接到远程SQL Server实例,并选择“Master”数据库。...1.使用SSMS以sysadmin身份登录到新的SQL Server实例。 2.首先,让我们使用以下命令查看下连接到SQL Server实例的应用程序的名称。...3.考察应用流量 有时,白名单中的主机名和应用程序,是应用程序启动时从数据库服务器中抓取的。因此,您可以使用您最喜爱的嗅探器来获取白名单中的主机名和应用程序。我有过几次这样的经历。

    2.1K10
    领券