AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[users](dba)

Martin Hope
padjee
Asked: 2022-09-18 18:09:01 +0800 CST

将用户分组为角色以访问 FDW 表

  • 0

最近我设置了 Forward Data Wrapper。这是我所做的:

CREATE SERVER foreign_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '192.168.125.1', port '5432', dbname 'template1 ');  
IMPORT FOREIGN SCHEMA public LIMIT TO (tbl_test) FROM SERVER foreign_server INTO public;

在目标/外部服务器上创建用户:CREATE USER fdwuser WITH PASSWORD 'secret' 然后进行必要的设置,例如GRANT。FDW 工作。

但后来我想做更多。如果我将所有想要访问 FDW 的用户集合到一个GROUP. 然后我执行以下操作:

  • Create group role: 泄气1

  • create user: fdwuser3

  • grant demorole1 to fdwuser3

  • 为组角色“demorole1”创建用户映射:

    为 demorole1 SERVER foreign_server OPTIONS 创建用户映射(用户“fdwuser”,密码“secret”);

  • select * from tbl_test;——失败。

  • 授予 demorole1 对 tbl_test、模式和外部服务器的访问权限:GRANT ALL ON TABLE tbl_test TO demorole1; GRANT USAGE ON FOREIGN SERVER foreign_server TO demorole1; GRANT USAGE ON SCHEMA public TO fdwuser3;

  • 测试:select * from tbl_test; -失败。未找到用户 fdwuser3 的用户映射

  • CREATE USER MAPPING FOR demorole1 SERVER foreign_server OPTIONS (user 'fdwuser', password 'secret');

  • 再次测试:select * from tbl_test; - 仍然失败。找不到“fdwuser3”的用户映射

  • 做用户映射:CREATE USER MAPPING FOR fdwuser3 SERVER foreign_server OPTIONS (user 'fdwuser', password 'secret');

  • select * from tbl_test;--作品

问题:如何创建一个组角色,以便可以将本地服务器上的用户设置为其成员,这样我就不必在每次有用户想要访问 FDW 表时都进行授予和创建用户映射?

谢谢

postgresql users
  • 1 个回答
  • 12 Views
Martin Hope
Tessaract
Asked: 2021-09-03 02:38:33 +0800 CST

CREATE LOGIN "MUST_CHANGE" 不适用于 Azure

  • 2

我想为我的 Azure SQL 数据库的用户创建登录名。

当然,我不想知道用户的密码,所以我想设置它,以便他们在第一次登录时必须更改密码。

通常我只会使用该命令的MUST_CHANGE选项,CREATE LOGIN但 Azure 不允许这样做。我得到错误Keyword or statement option 'must_change' is not supported in this version of SQL Server.。

那么,我该如何在 Azure SQL Server 中做我想做的事情呢?

users sql-server-2019
  • 1 个回答
  • 417 Views
Martin Hope
Daniel Huesca
Asked: 2021-05-29 01:32:05 +0800 CST

删除角色 postgresql

  • 0

我刚刚继承了一个 AWS RDS PostgreSQL 12.5 实例(因此,没有超级用户访问权限),我需要进行一些清理并删除一堆组/角色/用户。我正在使用 AWS 提供的用户“master”在唯一可用的数据库上执行以下命令(除了postgres db)

尝试时:

DROP ROLE xxx

我得到:

错误:无法删除角色“xxx”,因为某些对象依赖于它
详细信息:数据库 xxx 中有 N 个对象

经过大量谷歌搜索后,我最终得到:

REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA some_schema FROM "xxx";
REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA some_schema FROM "xxx";
REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA some_schema FROM "xxx";
REVOKE ALL PRIVILEGES ON SCHEMA some_schema FROM "xxx";
REVOKE USAGE ON SCHEMA some_schema FROM "xxx";
ALTER DEFAULT PRIVILEGES IN SCHEMA some_schema REVOKE ALL ON SEQUENCES FROM "xxx";
ALTER DEFAULT PRIVILEGES IN SCHEMA some_schema REVOKE ALL ON TABLES FROM "xxx";
ALTER DEFAULT PRIVILEGES IN SCHEMA some_schema REVOKE ALL ON FUNCTIONS FROM "xxx";
REVOKE ALL PRIVILEGES ON DATABASE xxx FROM "xxx";

但是, DROP 仍然失败:

错误:无法删除角色“xxx”,因为某些对象依赖于它详细信息:在架构 some_schema SQL 状态
中属于角色 master 的新类型的默认权限的权限:2BP01

尝试使用(取自一些stackoverflow问题)检查依赖关系,但查询一无所获:

SELECT *
FROM
    --r = ordinary table, i = index, S = sequence, v = view, m = materialized view, c = composite type, t = TOAST table, f = foreign table
    (SELECT N.NSPNAME AS SCHEMA_NAME,
            C.RELNAME AS REL_NAME,
            C.RELKIND AS REL_KIND,
            PG_GET_USERBYID(C.RELOWNER) AS OWNER_NAME
        FROM PG_CLASS C
        JOIN PG_NAMESPACE N ON N.OID = C.RELNAMESPACE
    UNION ALL
    -- functions (or procedures)
    SELECT N.NSPNAME AS SCHEMA_NAME,
            P.PRONAME,
            'p',
            PG_GET_USERBYID(P.PROOWNER)
        FROM PG_PROC P
        JOIN PG_NAMESPACE N ON N.OID = P.PRONAMESPACE) AS FOO
WHERE OWNER_NAME = 'xxx'

然后尝试使用(再次出现空)检查权限:

SELECT
    grantee AS user,
    CONCAT(table_schema, '.', table_name) AS table, 
    CASE 
        WHEN COUNT(privilege_type) = 7 THEN 'ALL'
        ELSE ARRAY_TO_STRING(ARRAY_AGG(privilege_type), ', ')
    END AS grants
FROM information_schema.role_table_grants
GROUP BY table_name, table_schema, grantee
HAVING grantee = 'xxx'

这是我第一次使用 PostgreSQL,来自 SQL Server。

postgresql users
  • 1 个回答
  • 546 Views
Martin Hope
SHR
Asked: 2021-01-19 06:36:29 +0800 CST

如何将仅 CDB 的表空间配额分配给 CDB 用户?

  • 0
  • 我可以像这样创建一个 CDB 表空间:(全部使用sqlplus / as sysdba:)
-- create unique table space for admin
CREATE TABLESPACE admints DATAFILE '/path/to/admints.dbf' SIZE 20M AUTOEXTEND ON;
  • 我可以创建一个具有默认表空间“系统”的 CDB 用户,因为所有 PDB 都有一个“系统”表空间:
-- create admin user on CDB (the defaut tablespace is "system")
CREATE USER C##admin IDENTIFIED BY P@ssw0rd DEFAULT TABLESPACE system QUOTA UNLIMITED ON system ACCOUNT UNLOCK;
  • 我无法使用默认表空间“admints”创建我的用户:
CREATE USER C##admin IDENTIFIED BY P@ssw0rd DEFAULT TABLESPACE admints QUOTA UNLIMITED ON admints ACCOUNT UNLOCK
*
ERROR at line1:
ORA-65048: error encountered when processing the current DDL statement in
pluggable database ORCLPDB
ORA-00959: tablespace 'ADMINTS' does not exist
  • 而且我不能在我创建的表空间上为我创建的用户提供配额,因为它只在 CDB 上并且不是为每个 PDB 创建的。那是对的吗?
ALTER USER  C##admin quota unlimited on admints unlimited
*
ERROR at line1:
ORA-65048: error encountered when processing the current DDL statement in
pluggable database ORCLPDB
ORA-00959: tablespace 'ADMINTS' does not exist
  • “admits”表空间只为 CDB 创建一次,而不是为每个 PDB 创建一次。
  • 我想在 CDB 的“admits”表空间上创建 C##admin 用户的表,并在其上拥有无限配额。
  • 我希望 C#admin 至少对所有 PDB 具有读取权限,因此我无法卸载它们。
  • 可能吗?
oracle users
  • 1 个回答
  • 253 Views
Martin Hope
Antoine
Asked: 2020-02-14 06:09:18 +0800 CST

定义密码复杂性及其对“宽限”状态用户的操作

  • 0

我将 Oracle 用户链接到处于“宽限期”状态的外部应用程序。我试图将 assword 时间到期更改为无限制,但它不适用于那些帐户(考虑到我猜“宽限期”状态对此负责)

因此,为了保持应用程序的配置相同,我希望在不更改密码的情况下更新密码,但复杂性策略不允许(两个特殊字符或/和两个大写字母)


    ORA-20000: password must contain 2 or more special characters
    28003. 00000 -  "password verification for the specified password failed"
    *Cause:    The new password did not meet the necessary complexity
               specifications and the password_verify_function failed
    *Action:   Enter a different password. Contact the DBA to know the rules for
               choosing the new password

有关信息,我将数据库从 11c 迁移到 18,这些策略在以前的数据库上更简单。

  • 所以,首先我想知道如何编辑复杂性策略
  • 而且它是否适用于处于“宽限期”状态的用户?

非常感谢您的帮助

祝你今天过得愉快

security users
  • 1 个回答
  • 163 Views
Martin Hope
Osama Al-Banna
Asked: 2019-12-27 02:44:40 +0800 CST

他们在 Oracle 中对用户有任何默认权限吗?

  • 0

我想在Oracle中授予新用户正常的规则,例如,创建表,删除表更新,一般情况下,默认CRUD操作。每次我通过运行授权脚本手动执行此操作。Oracle 是否带有默认权限组,例如,使用开发人员规则创建用户/模式,使用 DBA 规则创建用户,而不使用授权语句?

oracle users
  • 1 个回答
  • 64 Views
Martin Hope
user1930901
Asked: 2019-04-17 00:59:57 +0800 CST

具有各自数据库名称的孤立用户[重复]

  • 0
这个问题在这里已经有了答案:
查找孤立用户 3 个答案
3年前关闭。

我需要获取每个数据库中孤立用户的列表,以及它们所在的数据库名称。我做了下面的操作,给出了每个数据库中的孤立用户,但我不知道如何在下一个包含另一列给每个用户找到显示在哪个数据库中。我尝试使用 DB_NAME() 但无济于事。

use master;
GO

CREATE PROCEDURE orphaned_u
AS
BEGIN
DECLARE @command varchar(1000) 
SELECT @command = 'use ? 
if DB_ID("?")>4
EXEC sp_change_users_login ''Report'' '
EXEC sp_MSforeachdb @command
END

CREATE TABLE tempTable (
    user nvarchar(1000),
    User_sid sql_variant 
)

INSERT INTO tempTable
EXEC master..orphaned_u

SELECT * FROM  dbo.tempTable 

我已经看过Find orphaned users但最好我使用上面的代码并找到一种方法在具有已内置存储过程 sp_change_users_login ''Report'' 的列中显示数据库名称

sql-server users
  • 1 个回答
  • 133 Views
Martin Hope
user1930901
Asked: 2019-04-02 03:43:46 +0800 CST

向数据库用户授予权限 - SQL Server

  • 1

我需要向 TestDB 数据库上的 DB 用户 (TestUser) 授予选择和更新权限,如下所示。

在此处输入图像描述

当我按确定并重新检查权限时,它们不可见,如下所示:

在此处输入图像描述

根据我的测试,此处仅显示对象级别的权限(例如列等)。

可以通过执行 T-SQL 代码从某个地方看到数据库的选择权限吗?这是一个错误还是设计使然?这同样适用于用户定义的数据库角色权限,并且非常具有误导性。

sql-server users
  • 1 个回答
  • 118 Views
Martin Hope
LiorH
Asked: 2018-12-19 03:21:23 +0800 CST

用户的 Postgresql createrole 权限

  • 0

我创建了一个带有createrole标志的角色,但该角色中的用户尝试创建用户失败,权限被拒绝。我是否需要将 createrole 分配给每个用户而不仅仅是角色(组)?

我的步骤如下:

create role group1 with nologin createrole;
create user user1 PASSWORD 'password' in role group1;

然后以 user1 身份登录并尝试create user newuser失败并出现错误permission denied to create role

postgresql users
  • 1 个回答
  • 4833 Views
Martin Hope
cutmancometh
Asked: 2018-01-18 13:56:22 +0800 CST

pg_hba.conf 允许单个用户使用多个 IP 地址

  • 3

在我的 pg_hba.conf 中,我需要允许一个用户从两个完全不同的 IP 地址(例如工作和家庭)进行连接。

像下面这样的东西会非常好:

host    all    my_awesome_user    151.123.45.67/0, 72.11.12.13/0    md5

添加两个条目(每个 IP 一个条目不起作用:postgres 只看到第一个条目,以太匹配或不匹配,并且完全忽略第二个条目。

任何帮助,将不胜感激。

postgresql users
  • 1 个回答
  • 5844 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve