Questions tagged «permissions»

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


3
无法删除“ GRANT USAGE”
我正在测试一些东西,并添加了: grant usage on statistics.* to cptnotsoawesome@localhost identified by 'password'; 所以现在当我做 show grants for cptnotsoawesome@localhost; 我可以看到其中之一是: Grants for cptnotsoawesome@localhost ---------------------------------- GRANT USAGE ON *.* TO 'cptnotsoawesome'@'localhost' IDENTIFIED BY PASSWORD 'somePEW-PEWstring' 现在,我想删除它,因为我认为这是安全隐患,因此我执行以下操作: REVOKE USAGE ON *.* FROM 'cptnotsoawesome'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; 但它仍显示USAGE授予在授予列表中。 Grants for cptnotsoawesome@localhost ---------------------------------- GRANT USAGE ON …


5
属性大小不适用于数据库
我最近将数据库还原到了从(SQL Server 2008 R2 Enterprise)备份的同一实例,发现我无法访问数据库属性。 我已经完成以下工作: 检查数据库所有者使用正确设置sp_helpdb。 将数据库所有者更改为sa。不能解决。 将数据库所有者更改回我的sysadmin用户。不能解决。 DBCC updateusage针对受影响的数据库发出。不能解决。 DBCC CheckDB在还原的副本上运行到另一个实例。找不到腐败。访问数据库属性窗口时,从同一备份文件还原的副本没有引发任何错误。 有人可以帮忙吗? 尝试查看属性时收到的错误消息是: 无法显示请求的对话框。(SqlMgmt) 属性大小不适用于数据库“ [DBNAME]”。 该属性对于该对象可能不存在,或者由于访问权限不足而无法检索。(Microsoft.SqlServer.Smo) 我sysadmin在这种情况下。 更新:根据建议,我创建了一个新用户,使其成为sysadmin并将数据库所有者更改为该用户。不幸的是没有修复。我将查看探查器跟踪是否产生任何有用的信息。 更新:Aaron-原始数据库已重命名并脱机,但仍在该实例上。然后使用原始名称还原了该数据库的备份。新数据库文件的文件名与原始文件名不同,因为它们与原始mdf / ldf位于同一文件夹中。恢复的数据库当前正在正常驱动我们的关键应用程序。

1
PostgreSQL:拒绝关联关系
我对在PostgreSQL中设置权限有些困惑。 我有以下角色: List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- admin | Superuser, Create role, Create DB, Replication | {} meltemi | Create role, Create DB | {rails} rails | Create DB, Cannot login | {} myapp | | {rails} 和数据库: List of databases Name | Owner …

1
我如何找出*为什么*用户具有某些有效权限?
我知道我可以通过使用sys.fn_my_permissions以下命令查询有效权限: USE myDatabase; SELECT * FROM fn_my_permissions('dbo.myTable', 'OBJECT') entity_name | subentity_name | permission_name ------------------------------------------------ dbo.myTable | | SELECT dbo.myTable | | UPDATE ... 这告诉我当前用户是否对myTabledatabase 具有SELECT,INSERT,UPDATE等权限myDatabase。 是否可以轻松找出用户为何具有这些权限?例如,我很想拥有一个fn_my_permissions_ex输出附加reason列的函数: USE myDatabase; SELECT * FROM fn_my_permissions_ex('dbo.myTable', 'OBJECT') entity_name | subentity_name | permission_name | reason ------------------------------------------------------------------------------------------------------------------------------------ dbo.myTable | | SELECT | granted to database role …

5
截断表需要什么权限?
我有一个对数据库具有以下权限的SQL帐户: db_executor您看到此帐户是该帐户成员的角色是通过以下脚本创建的: CREATE ROLE [db_executor] AUTHORIZATION [dbo] GO GRANT EXECUTE TO [db_executor] GO 当我运行一个select,update,insert或delete放在桌子上,它工作正常。当我尝试到truncate表时,它给了我这个错误信息: 无法找到对象“ TableName”,因为该对象不存在或您没有权限。 该帐户缺少什么权限?

1
为什么新用户能够在PostgreSQL中创建表?
我遵循了两个教程来使用以下内容创建数据库: 完全特权的用户链接 只读用户链接 然后,我从CJ Estel的教程中获得了一条提示,指出“ 即使我们从未明确将其提供给新用户,您也可能继承了创建表的功能”。果然,只读用户能够创建和拥有表! CJ Estel指出了根本原因,即模板数据库。但是创建表的功能破坏了您通过搜索“只读用户postgres”获得的大多数教程,包括postgresql.org上托管的教程。您的用户不仅具有只读权限! 为什么新用户具有此功能?撤消该特权后,数据库对于该用户是否真正是只读的?

1
授予对数据库所有表的访问权限
我最近想与服务器的一个用户共享定期访问权限和我认识到,一个简单的CREATE USER和GRANT ALL ON DATABASE命令没有让他运行一个简单SELECT的数据。 我想将给定数据库中所有表的权限授予指定用户,但是我不确定授予他对整个模式的访问权限是否是最好的主意,public因为我不知道是否允许某种特权升级。还有其他办法吗?

3
我的用户属于哪个广告组登录?
我不确定是否为该问题选择了正确的标题。我真正要追求的是,​​给定单个Windows AD用户,我想找出有权访问此服务器中特定数据库的Windows AD组(登录)的列表。 当我运行以下查询时 select name, principal_id, type, type_desc, default_schema_name, create_date, modify_date, owning_principal_id, sid, is_fixed_role from sys.database_principals 在我的服务器上 Microsoft SQL Server 2008 R2(SP1)-10.50.2500.0(X64)2011年6月17日00:54:03版权所有(c)Windows NT 6.1(Build 7601:Service Pack 1)上的Microsoft Corporation标准版(64位) 我得到以下结果(部分列表): 我需要知道特定登录名的所有权限。此登录名可以通过AD组访问我的服务器/数据库。 1)从上面的列表中,我的登录名属于哪个广告组? 我一直在下面进行此操作,但是我真的很想找出该用户所属的AD组(根据上图可以访问此服务器的列表)的列表。 首先,我以相关用户身份执行 EXECUTE AS LOGIN='mycompany\HThorne' DECLARE @User VARCHAR(20) SELECT @USER = SUBSTRING(SUSER_SNAME(), CHARINDEX('\', SUSER_SNAME()) + 1, LEN(SUSER_SNAME())) 我确保我拥有正确的凭据 …


4
无法将MySQL数据输出到文件
我正在尝试将数据从MySQL表输出到文件,但出现权限错误: $ pwd /home/dotancohen $ mkdir in $ chmod 777 in/ $ mysql -ugs -p mysql> USE someDatabase; mysql> SELECT * FROM data INTO OUTFILE '/home/dotancohen/in/data.csv'; ERROR 1045 (28000): Access denied for user 'gs'@'localhost' (using password: YES) mysql> 如果有问题的目录更改为777,那么MySQL用户为什么不能写该文件?有趣的是,我也无法写到/ tmp /。 编辑: 看起来数据库用户具有适当的MySQL权限: mysql> show grants; +----------------------------------------------------------------------------------+ | Grants for …

1
PostgreSQL启用扩展而无需超级用户
我有一台PostgreSQL 9.5服务器,在该服务器上有一些脚本可以自动为用户创建角色和数据库。在这些数据库中,启用特定的扩展(例如pgcrypto)将很有帮助,但是据我所知,它必须是超级用户才能运行CREATE EXTENSION。有没有一种方法可以启用此类扩展,而无需使用超级用户帐户手动登录?

2
授予典型用户什么是合理的特权?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 我发现MySQL提供的特权列表有些让人不知所措。我不确定谁应该拥有什么特权。在我看来,有三种典型的用户适合我的情况: root developer application root不言自明。为此,developer该用户需要能够轻松访问任何数据库,对其进行调整等。对于初学者,我将该用户设置为以下特权集: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON application有一个更有限的设置。它应该仅限于处理特定的数据库。 我不确定要授予什么合理的特权。授予开发人员和应用程序合理的特权集是什么?为什么?

1
SQL Server-向用户授予数据库DBO权限
我有一个报告数据库,每天晚上都从生产数据库的备份中还原。还原时,需要将用户添加到该DBO数据库的角色中。 我认为这可以工作: use Restored_Prod go exec sp_addrolemember 'db_owner', 'chris' go 但是我收到以下错误,因为Restored_Prod数据库中不存在该用户: Msg 15410, Level 11, State 1, Procedure sp_addrolemember, Line 75 User or role 'chris' does not exist in this database. 如何将用户“ chris”添加到数据库中,以便能够运行sp_addrolemember使其成为DBO该数据库的成员?有没有一种方法可以使用sp_addrolemember用户所在的主数据库中的命令添加用户权限?

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.