实验理解ADMINOPTION和GRANTOPTION的用法
使用GRANT赋予用户权限的时候通常有ADMIN OPTION和GRANT OPTION这两个OPTION。下面使用简单的实验来体会下这两种授权的用途。 一、ADMIN OPTION参数 实验: 1. 创建测试用户user_a和user_b : 2. 默认情况下,user_ vc3Ryb25nPjxzdHJvbmc+YbrNdXNlcl9iysfDu9
使用GRANT赋予用户权限的时候通常有ADMIN OPTION和GRANT OPTION这两个OPTION。下面使用简单的实验来体会下这两种授权的用途。
一、ADMIN OPTION参数
实验:
1. 创建测试用户user_a和user_b:
2. 默认情况下,user_喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxzdHJvbmc+YbrNdXNlcl9iysfDu9PQvaix7cioz948L3N0cm9uZz6jujxicj4KPC9wPgo8cD48aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20141125/2014112509180832.png" alt="\">
3.
SYS账户GRANT CREATE TABLE权限给user_a,但user_a则是没有权限授予user_b建表权限:
4. SYS账户GRANT CREATE TABLE权限给user_a,同时带上WITH ADMIN OPTION,此时user_a可以授予user_b建表权限:
5. SYS账户收回user_a的CREATE TABLE权限:
6. 此时user_b仍可具有CREATE TABLE权限,尽管这里报错:
注:这个错是说user_b没有默认表空间USERS的使用权限,并不是没有建表权限,此时需要SYS账户使用GRANT UNLIMITED TABLESPACE TO user_b或ALTER USER user_b quota 100m on USERS让user_b用户可以使用USERS表空间:
总结:
1. 带有WITH ADMIN OPTION的权限授予方式,可传递授权。
2. 带有WITH ADMIN OPTION的权限授予方式,当使用REVOKE收回权限时,传递的授权并不会自动收回。
3. ADMIN OPTION用于系统权限,system privilege,例如CREATE TABLE。
二、GRANT OPTION
实验:
1. 授予user_a和user_b创建session的权限,但用user_a查询dcsopen的t1表时提示无此权限:
2. SYS账户使用WITH GRANT OPTION授予user_a查询dcsopen.t1表权限:
此时user_a可以查询表:
3. 使用user_a授予user_b查询dcsopen.t1表权限:
4. SYS账户收回user_a的查询dcsopen.t1表的权限:
5. 使用user_b用户查询dcsopen.t1表时提示无权限:
总结:
1. 使用WITH GRANT OPTION的权限授予方式,可传递授权。
2. 使用WITH GRANT OPTION的权限授予方式,当使用REVOKE收回权限时,传递的授权会自动收回。
3. GRANT OPTION用于对象权限,object privilege,例如SELECT ON TABLE。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Letzte Woche veranstaltete Musk die Show & Tell-Demonstrationsveranstaltung von Neuralink, um der Welt die neuesten Fortschritte bei Gehirn-Computer-Schnittstellen zu zeigen. Bei dem Treffen sagte Musk, dass der Übergang vom Prototyp zur Produktion sehr schwierig sei und vor vielen Herausforderungen stünde. Neuralink hat hart daran gearbeitet, Versuche am Menschen zu initiieren und hat der FDA alle notwendigen Unterlagen für den Beginn von Versuchen am Menschen vorgelegt. Musk schätzt, dass das erste Neuralink-Gerät innerhalb von fünf bis sechs Monaten im menschlichen Gehirn sein könnte. Bei dem Treffen betonte Musk, dass Neuralink Tiere respektiert und dass Gehirn-Computer-Schnittstellengeräte umfangreiche Benchmark-Tests durchlaufen haben, bevor sie in Tiere implantiert werden. Zwei Affen Pager und

Detailliertes Verständnis der Verwendung von Linux-Pipes Im Linux-Betriebssystem sind Pipes eine sehr nützliche Funktion, die die Ausgabe eines Befehls als Eingabe eines anderen Befehls verwenden und so verschiedene komplexe Datenverarbeitungen und -vorgänge bequem realisieren kann. Für Systemadministratoren und Entwickler ist ein tiefes Verständnis der Verwendung von Linux-Pipes sehr wichtig. In diesem Artikel werden die grundlegenden Konzepte von Pipelines vorgestellt und anhand spezifischer Codebeispiele gezeigt, wie Linux-Pipelines für die Datenverarbeitung und den Betrieb verwendet werden. 1. Grundkonzepte von Pipes unter Linux

Kommentare sind ein sehr wichtiger Teil der Go-Programmierung. Kommentare können Programmierern helfen, die Logik, den Zweck und die Details des Codes besser zu verstehen und so die Lesbarkeit und Wartbarkeit des Codes zu verbessern. In diesem Artikel wird die Bedeutung von Kommentaren in der Go-Sprache vorgestellt und mit spezifischen Codebeispielen kombiniert, um zu veranschaulichen, wie Kommentare zum Codeverständnis beitragen. Schauen wir uns zunächst ein einfaches Go-Programmbeispiel an: packagemainimport „fmt“ funcmain(){/

Wie man die Wertübergabemethode in PHP richtig versteht PHP ist eine in der Webentwicklung weit verbreitete Skriptsprache, und die Parameterübergabemethoden in PHP umfassen hauptsächlich die Wertübergabe und die Referenzübergabe. Und zu verstehen, wie Werte in PHP übergeben werden, ist entscheidend für das Schreiben von effizientem Code. In diesem Artikel wird die Wertübergabemethode in PHP ausführlich erläutert und anhand spezifischer Codebeispiele den Lesern ein besseres Verständnis vermittelt. Das Grundkonzept der Wertübergabemethode besteht darin, den Wert einer Variablen zu kopieren und an eine Funktion oder Methode zu übergeben. Operationen am Wert innerhalb der Funktion haben keinen Einfluss darauf.

Um die strings.Split-Funktion in der Go-Sprachdokumentation gründlich zu verstehen, sind spezifische Codebeispiele erforderlich. In der Go-Sprache sind String-Operationen eine sehr häufige Anforderung. Unter diesen ist das Strings-Paket ein Standardpaket, das von der Go-Sprache bereitgestellt wird und eine Fülle von String-Verarbeitungsfunktionen bietet. Unter diesen ist die Funktion strings.Split eine der am häufigsten verwendeten Funktionen. Ihre Funktion besteht darin, eine Zeichenfolge gemäß dem angegebenen Trennzeichen in ein Zeichenfolgensegment aufzuteilen. Bevor wir uns offiziell mit der strings.Split-Funktion befassen,

Da die Komplexität moderner Webanwendungen immer weiter zunimmt, wird auch die Codelogik immer komplexer. Um dieses Problem zu lösen, wird Middleware in der modernen Webentwicklung immer beliebter. ThinkPHP6 ist ein beliebtes PHP-Framework, das auch Middleware unterstützt. In diesem Artikel besprechen wir die Grundlagen und praktischen Einsatzmöglichkeiten der ThinkPHP6-Middleware. Was ist Middleware? In der Webentwicklung bezeichnet Middleware eine Möglichkeit zur Verarbeitung von HTTP-Anfragen und -Antworten. Wenn der Client eine Anfrage an den Server sendet,

Die Go-Sprache ist eine prägnante und leistungsstarke Programmiersprache mit einzigartigem Design und in vielen Aspekten einzigartigen Funktionen. Eine der beeindruckendsten Funktionen ist das Schlüsselwort „range“, das zum Durchlaufen von Datenstrukturen wie Arrays, Slices, Karten und Kanälen verwendet wird. Die Flexibilität und Bequemlichkeit von Range erleichtern das Durchqueren komplexer Datenstrukturen, viele Menschen sind jedoch verwirrt über die Funktionsweise. In diesem Artikel wird auf einfache und leicht verständliche Weise erläutert, wie Range funktioniert, und anhand spezifischer Codebeispiele den Lesern das Verständnis erleichtert. Schauen wir uns zunächst ein einfaches Beispiel an

SELinux (Security-EnhancedLinux) ist ein Sicherheitsmodul, das Mandatory Access Control (MAC) in Linux-Systemen implementiert. Es erzwingt Sicherheitsrichtlinien, indem es Etiketten auf Systemobjekte (Dateien, Prozesse usw.) anwendet, um eine detailliertere Zugriffskontrolle zu ermöglichen. SELinux verfügt über drei Arbeitsmodi: Erzwingen, Freigeben und Deaktivieren. In diesem Artikel werden diese drei Modi ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt. 1
