标签: permissions

使用 psql 列出数据库权限

我正在进行数据库服务器迁移,但我不知道(在谷歌搜索和在这里搜索之后)如何使用psql命令行工具列出 PostgreSQL 上的数据库权限(或服务器上的所有权限)?

我在 Ubuntu 11.04 上,我的 PostgreSQL 版本是 8.2.x。

postgresql permissions ubuntu psql

220
推荐指数
8
解决办法
62万
查看次数

授予用户帐户权限以在 PostgreSQL 中创建数据库

如何让 PostgreSQL 中的用户帐户能够创建和删除数据库?有没有办法做到这一点GRANT

postgresql permissions

187
推荐指数
3
解决办法
18万
查看次数

开发人员应该能够查询生产数据库吗?

是否应该授予开发人员查询(SELECT/只读)生产数据库的权限?我之前工作的地方,开发团队有这个db_datareader角色;我现在工作的地方开发团队甚至无法连接到生产实例。

其中一个测试实例是每周一次从生产备份中恢复的生产副本,因此开发人员实际查看数据没有任何问题。

不允许开发人员查询生产(除了根本不希望他们有权读取敏感数据)有什么好的理由?

sql-server best-practices permissions

167
推荐指数
17
解决办法
5万
查看次数

mysql:显示所有用户的 GRANTs

MySQL的SHOW GRANTS显示当前用户的权限。

有没有办法以root身份登录并显示所有用户的权限?

mysql permissions

107
推荐指数
7
解决办法
29万
查看次数

为什么允许新用户创建表?

我想知道为什么允许新创建的用户在连接到数据库后创建表。我有一个数据库,project2_core

postgres=# \l
                                          List of databases
     Name      |    Owner     | Encoding  |   Collate   |    Ctype    |       Access privileges       
---------------+--------------+-----------+-------------+-------------+-------------------------------
 postgres      | postgres     | SQL_ASCII | C           | C           | 
 project2_core | atm_project2 | UTF8      | de_DE.UTF-8 | de_DE.UTF-8 | project2=CTc/project2
 template0     | postgres     | SQL_ASCII | C           | C           | =c/postgres                  +
               |              |           |             |             | postgres=CTc/postgres
 template1     | postgres     | SQL_ASCII | C           | C           | =c/postgres                  +
               |              |           |             |             | postgres=CTc/postgres
(5 rows) …
Run Code Online (Sandbox Code Playgroud)

postgresql permissions postgresql-9.2

60
推荐指数
3
解决办法
6万
查看次数

如何在数据库和架构上管理用户的默认权限?

我想将一个相当简单的、内部的、数据库驱动的应用程序从 SQLite3 迁移到 PostgreSQL 9.3,并在执行过程中收紧数据库中的权限。

该应用程序当前包含一个用于更新数据的命令;和一个查询它。当然,我还需要以其他方式维护数据库(创建新表、视图、触发器等)。

虽然此应用程序一开始将是唯一托管在服务器上的应用程序,但我更愿意假设它将来可能会托管在具有其他数据库的服务器上,而不是在以后有必要时进行争夺未来。

我认为这些将是一组相当常见的要求,但我很难找到一个简单的教程来解释如何在 PostgreSQL 中设置一个新数据库,并使用这种用户/权限分离。参考资料详细介绍了组、用户、角色、数据库、模式和域;但我觉得他们很困惑。

这是我到目前为止尝试过的(从内部psql作为“postgres”):

CREATE DATABASE hostdb;
REVOKE ALL ON DATABASE hostdb FROM public;
\connect hostdb
CREATE SCHEMA hostdb;
CREATE USER hostdb_admin WITH PASSWORD 'youwish';
CREATE USER hostdb_mgr   WITH PASSWORD 'youwish2';
CREATE USER hostdb_usr WITH PASSWORD 'youwish3';

GRANT ALL PRIVILEGES ON DATABASE hostdb TO hostdb_admin;
GRANT CONNECT ON DATABASE hostdb TO hostdb_mgr, hostdb_usr;
ALTER DEFAULT PRIVILEGES IN SCHEMA hostdb GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO hostdb_mgr;
ALTER DEFAULT PRIVILEGES …
Run Code Online (Sandbox Code Playgroud)

postgresql database-design permissions

59
推荐指数
1
解决办法
6万
查看次数

创建的用户无需任何授权即可访问 PostgreSQL 中的所有数据库

我一定在设置 PostgreSQL 方面遗漏了一些东西。我想做的是创建多个相互隔离的数据库和用户,以便特定用户只能访问我指定的数据库。但是,据我所知,任何创建的用户都可以访问所有数据库,而无需获得任何特定授权。

这是我在 Ubuntu Server 12.04 上所做的:

  1. apt-get 安装 postgresql
  2. sudo -u postgres createuser -DRSP mike1(指定新用户的密码)
  3. sudo -u postgres createdb data1
  4. psql -h localhost -U mike1 data1(指定用户mike1登录的密码)

似乎新用户“mike1”连接到数据库“data1”并创建表等没有问题。这根本没有运行任何 GRANT 命令(“data1”的所有者是“postgres”,因为我没有指定所有者在第 3 步)。这真的是它应该如何工作吗?

我想要做的是授予 mike1 对 data1 的完全访问权限,然后对更多用户和数据库重复此操作,确保用户只能访问我选择的一个(或可能几个)数据库。

postgresql permissions

55
推荐指数
2
解决办法
6万
查看次数

数据库“所有者”的目的是什么?

今天在对服务代理问题进行故障排除时,我发现数据库所有者是离开公司的员工的 Windows 登录名。他的登录名已被删除,因此查询通知失败。

据说处理这个问题的最佳实践是让“sa”成为数据库所有者。我们更改了它并清除了队列。

我的(非常基本的)问题:数据库所有者是什么,其目的是什么?

sql-server-2008 sql-server permissions service-broker

54
推荐指数
2
解决办法
7万
查看次数

如何在 Mysql 中更改 VIEW 的 DEFINER?

当我运行 mysqldump 时,出现错误:

mysqldump: Got error: 1449: The user specified as a definer ('root'@'foobar') does not exist when using LOCK TABLES
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为它foobar是一台不再存在的旧机器。

如何将所有表的定义器更改为 'root'@'localhost'?

mysql mysqldump permissions

41
推荐指数
4
解决办法
13万
查看次数

SQL Server - 授予对整个架构与对象的权限?

当谈到 SQL Sever 中的数据库权限管理领域时,我是非常绿色的。

让我们举一个简单的例子。

假设帐户“admin”是架构 A、B 和 C 的所有者。

还有另一个帐户“minion”,您希望对在模式 A、B 和 C 下创建的任何对象(表/视图)拥有完全权限(更新/删除/插入/选择/更改)。

这可能吗?还是每次在这些模式下添加表/视图时都必须执行授权语句?(对我来说似乎有点傻)。

sql-server permissions role

39
推荐指数
2
解决办法
14万
查看次数