Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Biber am 03.03.2010 um 11:21:04 Uhr
Verschoben von "Windows-weiss-nich-genau" nach "Datenbanken".
GELÖST

Oracle 10G drop table Recht wegnehmen

Frage Entwicklung Datenbanken

Mitglied: 70866

70866 (Level 1)

02.03.2010, aktualisiert 03.03.2010, 6765 Aufrufe, 9 Kommentare

Ein user hatte die Rolle dba.
Die habe ich weggenommen und trotzdem hat der user immer noch drop table Recht

Der Server ist 10.2.0.1.0 - zwar nicht das Allerneueste, aber sonst läuft er.

Der User hat folgende Rechte:

unlimited tablespace
select any table
insert any table
update any table

und diese Rolle:
Connect


Der User kann kein Create table mehr machen setidem er nicht mehr DBA ist - warum zum Henker kann er IMMER noch drop table machen?
Ist das ein Bug oder versteh ich was an der Rechtevergabe falsch?

Wenn ich das Recht "create any table" hinzufüge dann kann der User ein "create table (nr int, name char(10)); ausführen
wenn ich das "Create any table" wegnehme, dann kann er das nicht mehr.

Was mich stutzig macht ist daß es ein Recht mit dem Namen "drop any table" gibt, das der User nicht hat.
Mitglied: Bolle97
03.03.2010 um 10:40 Uhr
Hallo,

ich habe das auch erst nicht glauben wollen, aber es ist tatsächlich so. Ein User kann immer eigene Tabellen droppen.
Um das zu verhindern gibt es (mindestens) zwei Möglichkeiten:

1. Ein Rechtesystem entwickeln, in welchem die User keine "eigenen" Tabellen besitzen, sondern nur auf "fremde" Tabellen zugreifen.
2. Ein Trigger auf die Tabelle legen, der ein Löschen abfängt (exception trigger). siehe auch


Gruß René
Bitte warten ..
Mitglied: Biber
03.03.2010 um 11:19 Uhr
Moin shadowmaster,

ja nee, das ist eigentlich kein Fehler in der Matrix, sondern soll und muss so sein.

Auf jedes Datenbankobjekt, das neu geschaffen/created werden kann, muss natürlich der OWNER volle (und im ersten Schritt alleinige) Rechte haben.
Und zu den anfänglich "alleinigen" Rechten gehört natürlich auch das DROP.... hat ja sonst keiner (außer DBAs oder Stefan Raab).

Der Fehler im System war ja bei genauerer Betrachtung, dass dieser von dir genannte User tatsächlich "eigene" Tabellen, ein eigenes Schema anlegen durfte.
Das ist Grütze, Unsinn.... der normale Oracle-Rechte hat nur die geGRANTeten Rechte auf Tabellen/Views eines Schemas zu haben, das nicht ihm "gehört".
Oder greift über (public) Synonyme zu.
Und die Tabellen, die er ggf. "für sich" anlegen kann - na ja, die darf er im TEMP-Tablespace anlegen und dort spielen.

Was sich Oracle anlasten ließe ist nur, dass es keine offizielle schnelle Mimik gibt für ein "Change/Rename schema owner for all database objects"..
Richtig und supportet wäre eigentlich nur ein Export altes Schema/Drop/Import als neues Schema.
Oder eben (unsupportet, schnell und bäh bäh bäh) direktes Ändern des OWNERs/des Schemanamens im Data Dictionary:

Bolle97s Workaround über Drop-Stop-Trigger.... ja nee.... als Dauerlösung will das auch niemand wirklich in einer produktiven DB haben.
Dann lieber einmal statt Mittagsschläfchen Export als altes/Import als neues Schema und in Zukunft solche Aktionen vermeiden.

Grüße
Biber
Bitte warten ..
Mitglied: 70866
03.03.2010 um 12:09 Uhr
hey, danke! Hat mir sehr geholfen. Vielleicht spendiert mein Brötchengeber nun endlich mal nen Oracle DBA Kurs

Bis vor 2 Jahren hatten wir den (damals nur europäischen) Kunden einfach gesagt, supportet euer Oracle doch selbst, wir machen das nicht. ODer stellt auf MS SQL Server um da können wir dann helfen

Dann globalisierte sich alles, die USA und Asien kam dazu - und speziell den Chinesen ist das mit dem Oracle nicht auszureden und die wollen unbedingt wissen, was wir da raten.

Noch so ne Frage: wenn ich einen Oracle-User anlege, und dem per Grant die Rechte auf das eigentlich benötigte Schema geb - muß ich dann trotzdem die Namen des "fremden" Schemas voranstellen oder sieht der User die Tabellen dann automatisch?

Also, das Schema gehört A und enthält eine Tabelle users
B hat ein Grant select, update, insert, delete on A erhalten.... muß die genaue Syntax noch mal nachschlagen....
also ein select * from A.users oder kann ich ein select * from users machen?
Bitte warten ..
Mitglied: Biber
03.03.2010 um 12:44 Uhr
Moin Schattenmeister,

lies doch noch mal ggf. über eine Suchmaschine ein paar Sätze zum Thema "Synonyme" im Oracle-Kontext.
Das sollte deine Fragen beantworten.

Grüße
Biber
Bitte warten ..
Mitglied: db-wizard
04.03.2010 um 10:10 Uhr
Zitat von Biber:
> Und die Tabellen, die er ggf. "für sich" anlegen kann - na ja, die darf er im TEMP-Tablespace anlegen und dort
spielen.


Im TEMP Tablespace ? Wohl eher nicht.


Gruss
Bitte warten ..
Mitglied: db-wizard
04.03.2010 um 10:14 Uhr
Zitat von 70866:
Also, das Schema gehört A und enthält eine Tabelle users
B hat ein Grant select, update, insert, delete on A erhalten.... muß die genaue Syntax noch mal nachschlagen....
also ein select * from A.users oder kann ich ein select * from users machen?



Hallo,

Die einfachste Methode dürfte sein, dem User beim Logon ein alter session set current_Schema='mySchema' zu geben, so musst du nicht mit Synonymen arbeiten und es entfällt ein Schicht, welche du erstellen / warten musst

Gruss
Bitte warten ..
Mitglied: Biber
04.03.2010 um 10:27 Uhr
Moin db-wizard,

meinst du, das wäre gemein?
Ich biete meinen DAUs das immer an, dass sie ja ihre Test-Tabellen da anlegen können...
Und die nicken immer erfreut und Reklamationen sind sehr, sehr selten... *g

Aber nächstes Mal verwende ich auch wieder <Ironie>-Tags.

Grüße
Biber
Bitte warten ..
Mitglied: 70866
06.03.2010 um 12:49 Uhr
moin,

ich werd mich ab Montag mal schlaugooglen....
Bitte warten ..
Mitglied: 70866
11.03.2010 um 15:54 Uhr
also, ein Alter session kann ich nicht machen - auch Synonyme sind nicht die richtige Wahl.

Ich hab was viel besseres gefunden:

einen Trigger der das Drop Event abfängt.

Muß in jedem Schema bzw. für jeden User separat angelegt werden.
Unsere Tabellen fangen alle mit einem LC_ an und somit ist es relativ einfach, ein Drop table zu verhindern.
Genaugenommen gehts hier nicht um drop table sondern darum was gedropt wird. Legt man den Trigger im Schema SYS ab, dann kann ich beispielsweise auch keine User mehr löschen die mit LC_ anfangen, denn es ist egal ob ein drop table, drop index oder drop sonstwas abgefangen werden soll.

create TRIGGER TrgDropTablePrevention
BEFORE DROP
ON DATABASE
DECLARE
BEGIN
IF Ora_Dict_Obj_Name like 'LC_%'
THEN
Raise_Application_Error(
-20001,
'Cannot Drop Table ' || Ora_Dict_Obj_Name ||
' Contact Your Database Administrator ' ||
'For Dropping This Table - tabliig usgah bolohgui !');
END IF;
END;

Vielleicht gibts noch ne geschicktere Lösung, aber diese hier ist schon ganz gut.
Bitte warten ..
Ähnliche Inhalte
Backup
Veeam 7.0 Sicherung VM Ware Maschine mit Oracle Datenbank 10g
Frage von novregenBackup13 Kommentare

Hallo, hat jemand praktische Erfahrungen mit der Sicherung einer VM (ESX vCenter 5) auf der eine Oracle Datenbank 10g ...

Netzwerkmanagement
NAT mit IP Tables Frage
Frage von Pajo78Netzwerkmanagement5 Kommentare

Hallo Leute, bin neu hier und ich bitte um Nachsicht, falls ich irgendwie "auffalle", bitte Frage verschieben, wenn hier ...

Windows 7
Invalid partition table fehler
Frage von MarcysWindows 74 Kommentare

Hallo, ich habe ein Problem wo ich nicht mehr weiter weiß. Ich musste die Festplatte neu formatieren und Win ...

Netzwerkmanagement
VLAN Einführung - alles von default VLAN1 wegnehmen? oder so lassen?
Frage von neueradmuserNetzwerkmanagement7 Kommentare

Hi, vielleicht ne dumme Frage: Ich bin gerade dabei VLAN Einzuführen (Cisco SG-500 im L3 Modus) mich stellt sich ...

Neue Wissensbeiträge
Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 4 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 4 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 16 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 23 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...