Oracle操作系统认证用户的安全性
一。什么是Oracle操作系统用户认证登录方式. 即只要在数据库中创建一个os认证用户。然后,就可以在服务器本机或远程客户端上 创建和登录一个相同用户名,就可以不需要密码连接上本地或远程的数据库了。 最典型的就是“sql / as sysdba”即不用给出用户名和密
一。什么是Oracle操作系统用户认证登录方式.
即只要在数据库中创建一个os认证用户。然后,就可以在服务器本机或远程客户端上创建和登录一个相同用户名,就可以不需要密码连接上本地或远程的数据库了。
最典型的就是“sql / as sysdba”即不用给出用户名和密码就可以登录到数据库系统中。
二。如何用os用户认证,在本机或远程登录数据库。
1.检查是否已打开了操作系统认证
$ORACLE_HOME/network/admin/sqlnet.ora
Windows下检查是否设为NTS.这个NTS为Oracle针对Windows专用的。
SQLNET.AUTHENTICATION_SERVICES= (NTS)
UNIX/Linux下,检查是否设为NONE,如果是,则要更改成ALL或注释掉那行。
2.检查密码文件参数是否为EXCLUSIVE
show parameter REMOTE_LOGIN_PASSWORDFILE
如不是,可以下面命令更改:
alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile;
并且检查密码文件是否有创建,如没有,用下列命令创建并输入sys用户的密码。
orapwd file=orapw$ORACLE_SID passwd=xcl entries=5 force=y;
可用下面命令来检查sys用户是否有放入密码文件。
select * from v$pwfile_users;
附上参数remote_login_passwordfile的参数值说明:
None: 使得oracle不使用密码文件,只能使用OS认证,不允许通过不安全网络进行远程管理。
Exclusive: 可以使用唯一的密码文件,但只限一个数据库。密码文件中可以包括除了sys用户的其他用户。
Shared: 可以在多个数据库上使用共享的密码文件。但是密码文件中只能包含sys用户。通常用于一个dba管理多个数据库的时候。
3.检查远程操作系统认证参数是否为TRUE
show parameter remote_os_authent
如不是,可以下面命令更改:
alter system set remote_os_authent=true scope=spfile;
4. 现有的OS认证关键字与认证用户
--查看当前数据库OS认证关键字,常为 ops$
show parameter os_authent_prefix
--查看现在有无OS认证用户
SELECT username,password FROM dba_users WHERE username like 'ops$%';
也可用 alter system set os_authent_prefix="" scope=spfile; 去掉前缀
5. 如有更改过参数,请重启数据库,使参数更改生效。否则略过.
shutdown immediate
startup
6. 在数据库创建一个OS认证用户
a. 在数据库服务上,创建一个myosuser操作系统用户.
useradd myosuser
passwd myosuser
b.在数据库中创建,记得用户名前要加前缀-- IDENTIFIED EXTERNALLY 表明此用户通过操作系统来认证
CREATE USER ops$myosuser IDENTIFIED EXTERNALLY;
GRANT CONNECT,RESOURCE TO ops$myosuser;
你也可以将myosuser改成administrator,这样windows客户端连远程数据库时,更明显,更方便。
另一个要注意的地方是OS认证优先于密码文件认证.
7.数据库服务器上,用其本机os用户登录测试
export ORACLE_SID=xcldb
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
su - myosuser
/u01/app/oracle/product/11.2.0/db_1/bin/sqlplus /
show user
注意: myosuser用户要属于dba组角色。
8. 在远程客户端机器连接服务器上的数据库
在客户端机器上,用myosuser用户登录远程数据库.
Windows为例:
a. 创建一个myosuser用户
b. 授权ORA_DBA或ORA_OPER角色
c. 检查sqlnet.ora是否为SQLNET.AUTHENTICATION_SERVICES= (NTS)
d. 输入sqlplus /@remote_xcldb 就可以登录
当然如果是用administrator用户测试,就没这么麻烦。
三。禁用远程操作系统认证
a.alter system set remote_os_authent=false scope=spfile;
b.重启数据库
四。如何禁用OS认证用户登录
在$ORACLE_HOME/network/admin/sqlnet.ora 加上下面的语句设为NONE即可。
SQLNET.AUTHENTICATION_SERVICES=(NONE)
Windows和UNIX/Linux都这样做。
五。给sqlnet.ora文件提高安全等级
chown root:root sqlnet.ora
chmod 744 sqlnet.ora
这样,以后只有root用户可以更改里面的值了.
简洁流程:
远程客户端发起连接 --> 检查库是否可远程连接(remote_os_authent = true)
--> 检查是否可使用密码文件(remote_login_passwordfile = EXCLUSIVE) --> 检查密码文件
--> 检查 sqlnet.ora可否用os认证用户 ( AUTHENTICATION_SERVICES != NONE)
--> 检查OS认证用户名是否存在 --> 核对密码 -->登录成功.
MAIL: xcl_168@aliyun.com
BLOG: http://blog.csdn.net/xcl168

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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



Linux eignet sich für Server, Entwicklungsumgebungen und eingebettete Systeme. 1. Als Serverbetriebssystem ist Linux stabil und effizient und wird häufig zur Bereitstellung von Anwendungen mit hoher Konreise verwendet. 2. Als Entwicklungsumgebung bietet Linux effiziente Befehlszeilen -Tools und Paketmanagementsysteme, um die Entwicklungseffizienz zu verbessern. 3. In eingebetteten Systemen ist Linux leicht und anpassbar und für Umgebungen mit begrenzten Ressourcen geeignet.

SQL -Anweisungen können basierend auf der Laufzeiteingabe erstellt und ausgeführt werden, indem die dynamische SQL von Oracle verwendet wird. Zu den Schritten gehören: Vorbereitung einer leeren Zeichenfolgenvariable zum Speichern von dynamisch generierten SQL -Anweisungen. Verwenden Sie die sofortige Ausführung oder Vorbereitung, um dynamische SQL -Anweisungen zu kompilieren und auszuführen. Verwenden Sie die Bind -Variable, um die Benutzereingabe oder andere dynamische Werte an dynamische SQL zu übergeben. Verwenden Sie sofortige Ausführung oder führen Sie aus, um dynamische SQL -Anweisungen auszuführen.

In Oracle kann die For -Loop -Schleife Cursors dynamisch erzeugen. Die Schritte sind: 1. Definieren Sie den Cursortyp; 2. Erstellen Sie die Schleife; 3.. Erstellen Sie den Cursor dynamisch; 4. Führen Sie den Cursor aus; 5. Schließen Sie den Cursor. Beispiel: Ein Cursor kann mit dem Zyklus für Kreislauf erstellt werden, um die Namen und Gehälter der Top 10 Mitarbeiter anzuzeigen.

Auslöser in Oracle sind gespeicherte Prozeduren, die zur automatischen Durchführung von Vorgängen nach einem bestimmten Ereignis verwendet werden (einfügen, aktualisieren oder löschen). Sie werden in einer Vielzahl von Szenarien verwendet, einschließlich Datenüberprüfung, Prüfung und Datenwartung. Beim Erstellen eines Auslösers müssen Sie den Auslösernamen, die Assoziationstabelle, den Auslöserereignis und die Auslöserzeit angeben. Es gibt zwei Arten von Triggern: Der vor dem Operation abgefeuerte Vorher -Auslöser wird abgefeuert, und der Auslöser wird nach dem Betrieb abgefeuert. Zum Beispiel stellt der Voreinsatzauslöser sicher, dass die Altersspalte der eingefügten Zeile nicht negativ ist.

Das MacOS -Betriebssystem wurde von Apple erfunden. Sein Vorgänger, System -Software, wurde 1984 gestartet. Nach vielen Iterationen wurde er 2001 auf Mac OS X aktualisiert und seinen Namen 2012 in MacOS geändert.

Führen Sie die folgenden Schritte aus, um eine Oracle -Datenbank zu stoppen: 1. Eine Verbindung zur Datenbank herstellen; 2. Sofort herunterfahren; 3.. Herunterfahren vollständig.

Schritte zum Löschen der fehlgeschlagenen Datenbank, nachdem Oracle eine Bibliothek nicht erstellt hat: Verwenden Sie den SYS -Benutzernamen, um eine Verbindung zur Zielinstanz herzustellen. Verwenden Sie die Drop -Datenbank, um die Datenbank zu löschen. Abfrage V $ Datenbank Um zu bestätigen, dass die Datenbank gelöscht wurde.

In diesem Artikel wird erläutert, wie die Effizienz der Hadoop -Datenverarbeitung auf Debian -Systemen verbessert werden kann. Optimierungsstrategien decken Hardware -Upgrades, Parameteranpassungen des Betriebssystems, Änderungen der Hadoop -Konfiguration und die Verwendung effizienter Algorithmen und Tools ab. 1. Hardware -Ressourcenverstärkung stellt sicher, dass alle Knoten konsistente Hardwarekonfigurationen aufweisen, insbesondere die Aufmerksamkeit auf die Leistung von CPU-, Speicher- und Netzwerkgeräten. Die Auswahl von Hochleistungs-Hardwarekomponenten ist wichtig, um die Gesamtverarbeitungsgeschwindigkeit zu verbessern. 2. Betriebssystem -Tunes -Dateideskriptoren und Netzwerkverbindungen: Ändern Sie die Datei /etc/security/limits.conf, um die Obergrenze der Dateideskriptoren und Netzwerkverbindungen zu erhöhen, die gleichzeitig vom System geöffnet werden dürfen. JVM-Parameteranpassung: Einstellen in der Hadoop-env.sh-Datei einstellen
