为数据库新建用户 U1、U2、U3、U3; (13)将某一个表的查询权限授予 U1; (14)将某一个表中某一字段的权限授予 U2,并允许将次权限再授 予其他用户; (15)将对某一表的全部权限授予 U3; (16)由 U2 将获得的权限授予 U4; (17)将用户 U3 的权限收回; (18)将用户 U2 的权限收回; (19)删除 U2 用户; (20)修改用户 U1 的密码。怎么实现
时间: 2023-06-11 18:04:56 浏览: 276
1. 为数据库新建用户 U1、U2、U3、U4:
CREATE USER U1;
CREATE USER U2;
CREATE USER U3;
CREATE USER U4;
2. 将某一个表的查询权限授予 U1:
GRANT SELECT ON table_name TO U1;
3. 将某一个表中某一字段的权限授予 U2,并允许将此权限再授予其他用户:
GRANT SELECT(column_name) ON table_name TO U2 WITH GRANT OPTION;
4. 将对某一表的全部权限授予 U3:
GRANT ALL PRIVILEGES ON table_name TO U3;
5. 由 U2 将获得的权限授予 U4:
GRANT SELECT ON table_name TO U4;
6. 将用户 U3 的权限收回:
REVOKE ALL PRIVILEGES ON table_name FROM U3;
7. 将用户 U2 的权限收回:
REVOKE ALL PRIVILEGES ON table_name FROM U2;
8. 删除 U2 用户:
DROP USER U2;
9. 修改用户 U1 的密码:
ALTER USER U1 IDENTIFIED BY new_password;
相关问题
建立用户U1,U2,U3,密码自设。 (2)输出当前用户。 (3)把查询Student表的权限授权给U1。 (4)用户U1执行,查询Student表,看是否拥有查询权限?
好的,我来为您介绍如何在数据库中创建用户、授权并验证权限:
1. 创建用户U1、U2、U3并设置密码:
```sql
CREATE USER 'U1'@'localhost' IDENTIFIED BY 'password1';
CREATE USER 'U2'@'localhost' IDENTIFIED BY 'password2';
CREATE USER 'U3'@'localhost' IDENTIFIED BY 'password3';
```
2. 输出当前用户:
```sql
SELECT USER();
```
3. 将查询Student表的权限授权给U1:
```sql
GRANT SELECT ON database_name.Student TO 'U1'@'localhost';
FLUSH PRIVILEGES;
```
4. 用户U1执行查询Student表的操作,验证权限:
```sql
-- 使用U1登录数据库
-- 然后执行以下SQL语句
SELECT * FROM Student;
```
如果U1成功执行了SELECT语句并看到了Student表的内容,说明U1确实拥有了查询Student表的权限。
写一个Shell 脚本,用于创建一个名为 st 的用户组,并创建三个用户名为 u1、u2、u3 的用户,并设置它们的密码为 123456。
可以使用以下 Shell 脚本来创建 st 用户组和三个用户:
```
#!/bin/bash
# 创建 st 用户组
sudo groupadd st
# 创建三个用户并设置密码为 123456
sudo useradd -m -p $(openssl passwd -1 123456) -g st u1
sudo useradd -m -p $(openssl passwd -1 123456) -g st u2
sudo useradd -m -p $(openssl passwd -1 123456) -g st u3
```
这个脚本首先使用 `groupadd` 命令创建一个名为 st 的用户组,然后使用 `useradd` 命令创建三个用户,并将它们添加到 st 用户组中。 `-m` 选项表示创建用户的同时创建它们的家目录, `-p` 选项使用 `openssl passwd` 命令生成密码的哈希值并将其设置为用户的密码, `-g` 选项将用户添加到指定的用户组中。
阅读全文