Dlaczego mogę zalogować się jako SYSDBA przy użyciu dowolnej nazwy użytkownika i hasła

  • Richard Poole
  • 0
  • 4973
  • 42

Ze względu na błędne przekonanie o logowaniu AS SYSDBA dozwolonym z dowolną nazwą użytkownika, ten post chce uniknąć paniki związanej z błędnym założeniem, że jest to naruszenie bezpieczeństwa, że ​​możesz zalogować się przy użyciu dowolnej nazwy użytkownika AS SYSDBA, podczas gdy w rzeczywistości jesteś O / S zalegalizowany.

Użytkownik może połączyć się z AS SYSDBA / SYSOPER przy użyciu następujących metod uwierzytelniania:

1. Składnia uwierzytelniania systemu operacyjnego (jawna):

SQL> POŁĄCZ / AS SYSDBA

lub

SQL> POŁĄCZ / JAKO SYSOPER

2. Składnia uwierzytelniania pliku z hasłem:

SQL> CONNECT nazwa użytkownika / hasło [@TNS_ALIAS] AS SYSDBA 

lub

SQL> CONNECT nazwa użytkownika / hasło [@TNS_ALIAS] AS SYSOPER

Jeśli skonfigurowano uwierzytelnianie systemu operacyjnego, a użytkownik systemu operacyjnego jest członkiem specjalnych grup OSDBA lub OSOPER, użytkownik systemu operacyjnego nie musi podawać żadnych poświadczeń podczas łączenia się z bazą danych jako SYSDBA lub AS SYSOPER z maszyny hosta serwera RDBMS podczas korzystania z Protokół Bequeath (BEQ). Dopóki sesja nie zostanie ustanowiona za pośrednictwem odbiornika, będzie używane uwierzytelnianie systemu operacyjnego, a podane poświadczenia będą ignorowane. Oznacza to, że użytkownicy, którzy mogą korzystać z uwierzytelniania systemu operacyjnego, mogą używać dowolnej nazwy użytkownika i dowolnego hasła do łączenia się z bazą danych lokalnie na serwerze RDBMS:

Używając następującej składni:

SQL> połącz dowolna_nazwa_użytkownika / dowolne_hasło AS SYSDBA

lub

SQL> connect / AS SYSDBA

zapewnia połączenie, o ile użytkownik systemu operacyjnego należy do grup OSDBA lub OSOPER. Jeśli skonfigurowałeś uwierzytelnianie systemu operacyjnego, POWINIENEŚ ściśle kontrolować, kto jest członkiem:

  • 'OSDBA'lub'OSOPER'grupy w systemie Unix (zdefiniowane w $ ORACLE_HOME / lib / config. [cs])
  • 'ORA_ [sid] _DBA'lub'ORA_DBA'grupy na NT.
Uwaga: Jeśli zarówno uwierzytelnianie systemu operacyjnego, jak i uwierzytelnianie pliku z hasłem są skonfigurowane, a połączenie jest inicjowane z komputera głównego serwera RDBMS przy użyciu protokołu Bequeath, zostanie użyte uwierzytelnianie systemu operacyjnego. W Domenach Windows istnieje specjalny przypadek, jeśli użytkownik domeny Windows jest członkiem grupy ORA_DBA na wielu komputerach hosta baz danych w tej samej domenie, to uprawnienie będzie obejmować wiele hostów i baz danych.

Często zadawane pytania

1) Moje hasło jest poprawne, czy nie?

Jako zjawisko uboczne, z praktyki wsparcia, niektórzy użytkownicy zgłaszają ora-1017 dla zdalnych połączeń sysdba, zakładając, że określone hasło jest poprawne `` ponieważ działa po bezpośrednim połączeniu z hostem '', kiedy to zrobili:

sql> connect sys / somepassword as sysdba

podczas gdy w rzeczywistości „jakieś hasło” jest niepoprawne, a ora-1017 była uzasadniona. Prosimy o rozważenie tego możliwego nieporozumienia przed zgłoszeniem problemów.

2) Do jakiej bazy danych i tak jestem podłączony?

Pamiętaj, że jeśli łączysz się ze zdalną bazą danych jako zwykły użytkownik, a następnie zrobisz: connect / as sysdba, klient sqlplus nie będzie próbował połączyć się z tą samą zdalną bazą danych, ale lokalną. Jeśli nie jesteś pewien, do jakiej bazy danych jesteś podłączony, uruchom następujące zapytanie:

SQL> WYBIERZ NAZWĘ Z V $ DATABASE;
Jak utworzyć plik haseł Oracle za pomocą polecenia orapwd
Dodawanie użytkowników do Oracle Passwordfile (Oracle Passwordfile Authentication)




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux