Questions tagged «permissions»

通过操作系统,数据库管理器或其他系统的安全性机制授予帐户或角色的特权。

2
授予对视图的权限,拒绝对表的选择
我有一个MySQL用户,我希望它仅查看所需的视图,而不查看数据库中的任何其他表。我仅在某些视图上授予此用户权限,如下所示: GRANT SHOW VIEW ON `myDatabase`.`awesome_view` TO 'thisUser'@'%' 如果我show grants;发表声明,我只能按预期看到此权限。但是,我希望该用户仅查询视图,而不查询与这些视图相关的表,但是我找不到解决方法。似乎是如果我希望用户在视图上进行选择,则还必须为表授予选择权,否则我错了吗? 如果我select在其余表中拒绝该语句,并且在命令行中尝试进行选择,则会得到以下信息: SELECT * FROM myDatabase.fordibenForYouTable; ERROR 1142 (42000): SELECT command denied to user 'thisUser'@'localhost' for table 'fordibenForYouTable' 那确实是我想要的,但是如果选择视图数据,我也会被拒绝。 有没有一种方法可以让用户只使用视图而不是表?

2
域管理员无法连接到SQL Server
我有Windows Server 2012 R2域控制器和数据库服务器(W2K12R2 / SQL Server 2012)。 作为允许的用户组,我已授予组“ domain-admins” sysadmin权限。 但是以某种方式,任何域管理员都无法连接到该SQL Server,但是当我直接将域管理员用户添加为允许用户时,它确实可以工作。活动目录确实起作用。RDP登录有效。我想念什么吗? 有人知道如何授予对整个“域管理员”组的访问权限吗? 错误消息是: 伺服器名称:SRV-DB 错误号:18456 施韦格勒:14 状态:1 代码行:65536 在事件日志中说(翻译): 检查具有基础结构故障的基于令牌的服务器访问时出错。 状态为“ 1”。我使用RDP作为域管理员登录到该数据库服务器。我必须以“以管理员身份运行”显式启动SSMS。然后,我可以访问“本地主机”。如果我不以管理员身份启动SSMS,则无法这样做。我认为在“域管理员”组中就足够了。

1
允许非系统管理员,SQL Server代理作业的非所有者执行该作业
我有一份运行SSIS程序包的工作。 当前所有者是代理帐户。我可以从sys-admin帐户手动运行作业。 我们的网络服务使用受限帐户登录。它需要执行作业。当前它根本看不到工作(当我尝试按名称执行时,它说它不存在)。 我尝试将工作所有者更改为受限帐户。现在它可以看到该作业,但是该作业执行失败,因为它不再运行SSIS包。 必须有一种方法允许受限帐户运行另一个帐户拥有的工作,对吗?

1
明确授予权限以更新必要的串行列的序列?
最近,我确实以超级用户身份创建了一个表格,其中包括一个序列ID列,例如, create table my_table ( id serial primary key, data integer ); 当我希望我的非超级用户用户对该表具有写权限时,我授予了它权限: grant select, update, insert, delete on table my_table to writer; 在这样做之后的一个随机时间点,该用户进行的插入操作开始失败,因为该用户没有权限修改my_table_id_seq与串行列关联的序列。不幸的是,我无法在当前数据库中重现该内容。 我通过为用户提供所需的权限来解决此问题,如下所示: grant all on table my_table_id_seq to writer; 有人可以帮助我了解 为什么在某个时候以前足够的权限可能会开始失败? 授予具有串行列的表的写许可权的正确方法是什么?

3
如何将模式中所有表的所有特权授予IBM DB2中的用户?
首先,我想将数据库从IBM DB2 AIX导出到IBM DB2窗口中。不幸的是,由于操作系统问题,我无法使用BACKUP和RESTORE命令。因此,我不得不诉诸db2move命令。 我已经使用以下命令从远程IBM DB2 AIX中的dbemp数据库中导出了myschema模式和所有表: db2move dbemp export -sn myschema 当我运行该命令时,我以名为dbuser1的用户身份登录。 它会在当前文件夹中生成一堆文件。我将文件抓到安装了IBM DB2 LUW的本地计算机(Windows)中。 现在,在本地计算机的IBM DB2中,我首先使用IBM Data Studio 删除了现有的模式myschema(我也有一个本地dbemp数据库)。 然后我使用以下命令导入文件: db2move dbemp import 它将模式和表成功导入到本地dbemp数据库中。 执行上述操作时,我以用户winuser1身份登录。 我的本地计算机(Windows)中也有一个名为dbuser1的本地用户。在IBM Data Studio中,我创建了一个连接配置文件,该连接配置文件使用dbuser1用户连接到本地dbemp,并且可以浏览myschema模式和表,但是无法浏览表的数据(出现特权错误)。用户winuser1可以浏览表的数据,但是出于开发目的,我必须使用用户dbuser1连接到数据库。 因此我发现我可以像这样向表上的用户授予特权: GRANT ALL ON myschema.table1 TO USER dbuser1 问题是我有100个表,我不想为每个表键入这些行。不幸的是,也没有这样的通配符解决方案: GRANT ALL ON myschema.* TO USER dbuser1 -- this doesn't work …

2
如何正确地从单个用户中删除“ REQUIRE SSL”?
通过执行以下操作,我成功地将REQUIRE SSL授予了单个用户: mysql -u"${targetMySqlUser}" -p"${targetMySqlPass}" -e "GRANT USAGE ON dbname.* TO 'dbusername'@'%' REQUIRE SSL;" 但无法使用撤消功能从用户删除或撤消此标志。我想即时通讯与语法。是否有使用“ revoke”命令将其删除而又不撤消整个权限的正确方法? MySQL 5.5手册,该站点和互连网并没有帮助我找到适当的对策。 该SQL语句将起作用。 UPDATE mysql.user SET ssl_type = '' WHERE ssl_type = 'any' ; FLUSH PRIVILEGES; 但是我相信GRANT REQUIRE SSL我必须在哪里REVOKE REQUIRE SSL,不是吗?

1
如何在NT SERVICE \ MSSQLSERVER帐户上运行SQL服务(如果该服务先前在LocalSystem上运行)
最近,仅出于实验目的,我将服务器设置中的默认(C:...)data \ log文件路径重新定位到新位置(G:\ DBA)。 然后,我将以前存在的数据库的data \ log文件移到了新位置(G:\ DBA)并重新启动了SQL服务。从那时起,每当我创建数据库时,它就会按预期工作,即在新位置创建数据\日志文件(很酷...)。 但是问题是,我看到我以前所有的现有数据库都处于RecoveryPending状态,并且还出现了诸如Access Denned的错误。 考虑到运行SQL的服务帐户(NT SERVICE \ MSSQLSERVER)无法访问新位置(G:\ DBA),我在计算机管理控制台中将登录帐户更改为SQL服务的本地系统。现在我看到所有数据库都很好。 但是,我想在NT SERVICE \ MSSQLSERVER(默认实例)服务帐户上运行我的sql服务。我尝试通过为NT SERVICE \ MSSQLSERVER授予对G:\ DBA \的完全访问权限,但是没有用。如果要在NT SERVICE \ MSSQLSERVER服务帐户上运行我的SQL服务,请帮我做什么。我是这个领域的初学者。请帮帮我。 提前致谢。。。

1
对SQL Server 2000中所有表,视图,过程的GRANT权限
我想知道是否存在使用SQL Server 2000语法的T-SQL来对特定数据库的所有表和视图进行GRANT SELECT,INSERT,UPDATE,DELETE的相当有效的方法,但不包括100个对象中的2个或3个。我还希望能够对所有存储过程授予EXEC特权。 目前,我正在使用以下代码逐一更改它们。对大约100个表和100个视图执行此操作将花费太长时间,并且通过GUI花费的时间甚至更长(除非我也做错了)。 use [DATABASE_NAME] GO GRANT DELETE ON [dbo].[table_name]TO [user_name] GO use [DATABASE_NAME] GO GRANT INSERT ON [dbo].[table_name]TO [user_name] GO use [DATABASE_NAME] GO GRANT SELECT ON [dbo].[table_name]TO [user_name] GO use [DATABASE_NAME] GO GRANT UPDATE ON [dbo].[table_name]TO [user_name] GO 如何使用T-SQL在所有用户表和视图之间循环以授予某些特权,同时排除几个对象?



1
无法授予,拒绝或撤消对sa,dbo,实体所有者,information_schema,sys或您自己的权限
我遇到以下错误: Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself. 当我尝试这些命令时 USE ASPState GO GRANT EXECUTE ON CreateTempTables TO [R2Server\AAOUser] GO GRANT EXECUTE ON DeleteExpiredSessions TO [R2Server\AAOUser] GO GRANT EXECUTE ON GetMajorVersion TO [R2Server\AAOUser] GO GRANT EXECUTE ON GetHashCode TO [R2Server\AAOUser] GO GRANT EXECUTE …

3
确定用户为什么可以删除数据库
我有一个SQL Server用户,可以删除任何数据库。我一直在运行下面的代码,以检查用户在SQL Server中拥有的权限,但无法确定用户如何删除数据库。是否有一个SQL脚本可以帮助我确定该用户如何删除dbs?是否有命令拒绝他们删除任何数据库?(SSMS未将用户显示为dbcreator角色的一部分) select USER_NAME(p.grantee_principal_id) AS principal_name, dp.type_desc AS principal_type_desc, p.class_desc, OBJECT_NAME(p.major_id) AS object_name, p.permission_name, p.state_desc AS permission_state_desc from sys.database_permissions p inner JOIN sys.database_principals dp on p.grantee_principal_id = dp.principal_id order by principal_name 如果有帮助,上面查询的输出将为用户提供以下三个记录 class_desc object_name权限名权限_state_desc OBJECT_OR_COLUMN xp_cmdshell EXECUTE GRANT DATABASE NULL CONNECT GRANT DATABASE NULL CREATE DATABASE GRANT

2
在存储过程中选择权限?
我已授予用户使用动态SQL的存储过程的执行权限。但是当他尝试执行它时,他得到了错误: 对对象“ [表名]”,数据库“ [数据库名]”,模式“ dbo”的SELECT权限被拒绝。 是否需要向用户授予存储过程使用的任何表的权限?这对我来说真的没有任何意义。

1
MySQL用户对存储过程的权限
我创建了一个简单的存储过程: mysql> CREATE FUNCTION hello (s CHAR(20)) -> RETURNS CHAR(50) DETERMINISTIC -> RETURN CONCAT('Hello, ',s,'!'); Query OK, 0 rows affected, 1 warning (0.00 sec) 但是无法运行它: mysql> SELECT hello('world'); ERROR 1370 (42000): execute command denied to user ''@'localhost' for routine 'test.hello' 我的用户名是否可能为空字符串?如何创建用户并授予特权?我可以授予用户数据库中所有实体的所有特权吗?

4
无法以root用户身份授予特权
由于存在一些问题,我决定重新创建除之外的所有用户root@localhost。这可以正常工作,但是新创建的用户无权执行任何操作。我想要的只是简单地将所有权限授予某个本地IP上的root用户。我root@localhost试过了 CREATE USER 'root'@'10.0.3.210'; GRANT ALL ON *.* TO 'root'@'10.0.3.210'; 第一个命令有效,第二个命令失败并显示消息 ERROR 1045 (28000): Access denied for user 'root'@'localhost' 我不明白为什么root@localhost不能做所有事情,我确定我没有弄乱它的特权。从 SHOW GRANTS FOR 'root'@'localhost' 我懂了 Grants for root@localhost GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, REPLICATION SLAVE, …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.