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

Mitglied: 70866

70866 (Level 1)

02.03.2010, aktualisiert 03.03.2010, 6916 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
Windows Server
Recht Administrator
gelöst Frage von rudeboyWindows Server8 Kommentare

Hi! Kann mir jemand sagen wie ich das deuten soll? NTFS-Berechtigung Vollzugriff für den Admin aber trotzdem rot ausgekreuzt? ...

Firewall

Sophos "Default DROP" trotz Freigabe

Frage von GoltaraFirewall3 Kommentare

Moin moin Bis vor einigen Tagen hatten wir hier nur 2 DSL leitungen und nun ist eine 3 dazugekommen. ...

Windows Server

Server Spinnt, Drag drop

gelöst Frage von dax4funWindows Server5 Kommentare

Tag Freunde, Windows 2008 r2 : Seit einiger Zeit Schalten sich einige Sachen wie Drag & Drop, Copy Paste ...

Batch & Shell

Drag and Drop in Powershell

gelöst Frage von mc-doubleyouBatch & Shell2 Kommentare

Hallo zusammen, inwischen habe ich mich von cmd zur Powershell vorgearbeitet, die Lösungen die mir Google aber so liefert ...

Neue Wissensbeiträge
Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 3 StundenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 3 StundenExchange Server

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Schulung & Training

Humble Book Bundle: Network and Security Certification 2.0

Tipp von NetzwerkDude vor 4 StundenSchulung & Training

Abend, bei HumbleBundle gibts mal wider ein schönes Paket e-books: sind verschiedene Zertifizierungen wie MCSA, CCNA, CompTIA etc., für ...

Voice over IP

Telekom Umstellung von ISDN Anlagenanschluss auf IP-Telefonie

Erfahrungsbericht von NixVerstehen vor 3 TagenVoice over IP7 Kommentare

Hallo zusammen, nachdem nun vor ein paar Tagen die zwangsweise Umstellung von ISDN auf IP-Telefonie problemlos über die Bühne ...

Heiß diskutierte Inhalte
Windows Server
Drucker auf dem Terminalserver 2016 via Printserver wird nicht angezeigt
Frage von EchterHansenWindows Server14 Kommentare

Moin Moin, ich habe hier zwei 2016er Terminalserver und einen 2016er Printserver, auf dem ca. 10 RICOH-Drucker Typ 4. ...

Hardware
Ncomputing N600 oder auch 600W Privat nutzen Kostenlos oder kostengünstig
gelöst Frage von PlerTanixHardware14 Kommentare

Hallo liebe Forum User, Ich habe da eine Frage. Ich bin Azubi im dritten Lehrjahr und bei uns in ...

Windows 10
Upgrade Windows 10 1903 und Office 2010 Problem mit Userzertifikaten
gelöst Frage von Looser27Windows 1012 Kommentare

Guten Morgen, ich habe bei uns ein Phänomen in o.g. Kombination festgestellt, welches nach dem Inplace-Upgrade auf 1903 auftritt. ...

Datenschutz
Onedrive, Dropbox, Google Drive und Co. sperren?
Frage von holliknolliDatenschutz10 Kommentare

Hallo, wir haben folgendes Problem: die oben gennannten Cloud-Storages. Die wollen wir für Mitarbeiter sperren, damit kein Wildwuchs entsteht, ...