一个用户维护的小脚本
近期工作中收到很多新建用户和database的需求,权限控制要求如下:
1)回收新建database的connect权限
2)回收public模式的create权限
3)创建用户和同名schema,并赋予database的connect权限
create database db_name;
\c db_name
revoke connect on database db_name from public;
revoke create on schema public from public;
create user user_name with password 'passwd';
grant connect on database db_name to user_name;
create schema user_name authorization user_name;
复制
每次创建都要写语句,尤其是需要创建用户较多时,现写语句浪费时间,简单写了一个小脚本用来生成创建语句
结果展示

脚本如下
#!/bin/bash
userlist='add_user.list'
create_user(){
user_list=$1
password="$2"
for i in `cat ${user_list}`
do
echo "create user $i with password '${password}';"
done
}
grant_connect(){
user_list=$1
db_name=$2
for i in `cat ${user_list}`
do
echo "grant connect on database ${db_name} to $i;"
done
}
create_schema(){
user_list=$1
for i in `cat ${user_list}`
do
echo "create schema $i authorization $i;"
done
}
if [ $# -ne 2 ];then
echo "eg: $0 database password"
exit;
else
echo "-----------------result sql------------------"
echo "create database $1;"
echo "\\c $1"
echo
echo "revoke connect on database $1 from public;"
echo "revoke create on schema public from public;"
echo
create_user ${userlist} "$2"
echo
grant_connect ${userlist} $1
echo
create_schema ${userlist}
fi
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
王炸!OGG 23ai 终于支持从PostgreSQL备库抽取数据了
曹海峰
408次阅读
2025-03-09 12:54:06
玩一玩系列——玩玩login_hook(一款即将停止维护的PostgreSQL登录插件)
小满未满、
375次阅读
2025-03-08 18:19:28
明明想执行的SQL是DELETE、UPDATE,但为什么看到的是SELECT(FDW的实现原理解析)
小满未满、
353次阅读
2025-03-19 23:11:26
PostgreSQL初/中/高级认证考试(3.15)通过考生公示
开源软件联盟PostgreSQL分会
309次阅读
2025-03-20 09:50:36
IvorySQL 4.4 发布 - 基于 PostgreSQL 17.4,增强平台支持
通讯员
198次阅读
2025-03-20 15:31:04
套壳论
梧桐
196次阅读
2025-03-09 10:58:17
命名不规范,事后泪两行
xiongcc
183次阅读
2025-03-13 14:26:08
PG vs MySQL 执行计划解读的异同点
进击的CJR
124次阅读
2025-03-21 10:50:08
版本发布| IvorySQL 4.4 发布
IvorySQL开源数据库社区
115次阅读
2025-03-13 09:52:33
宝藏PEV,助力你成为SQL优化高手
xiongcc
113次阅读
2025-03-09 23:34:23