'sid'에 해당되는 글 3건

  1. 2014.05.09 윈도우7 사용자 계정(SID)과 레지스트리
  2. 2009.07.14 SQL로 Oracle Alert Log 파일 조회
  3. 2009.06.12 CentOS 리눅스 오라클 10g 설치 (Oracle 10g Installation) (1)
2014.05.09 16:19

윈도우7 사용자 계정(SID)과 레지스트리

C:\Documents and Settings\Administrator>whoami /user

사용자 정보
----------------

사용자 이름               SID
========================= ============================================

test\administrator S-1-5-21-492071019-2925002615-2793575378-500


위의 시스템의 SID를 보면 "S-1-5-21-492071019-2925002615-2793575378-500" 인 것을 알 수 있다. 각각의 항목이 의미하는 바는 다음과 같다.
- S-1 : 해당 시스템이 윈도우이다.
- 5-21 : 시스템이 도메인 컨트롤러 이거나 단독 시스템(stand-alone system)이다.
- 492071019-2925002615-2793575378 : 시스템의 고유한 숫자
- 500 : 사용자별 숫자로 표현되는 고유한 ID. Administrator 계정은 500, Guest는 501, 일반 사용자는 1000번 이상의 숫자를 갖는다.


위에서 설명한 SID를 사용하여 윈도우의 사용자 계정을 목록화 하기 위해서는 user2sid와 sid2user라는 유틸리티를 사용한다. 먼저 user2sid 명령어를 이용하여 해당 시스템의 SID를 구해낸다.(물론 계정 정보 최소 1개는 알고 있어야 하며 주로 사용되는 administrator를 이용하여 SID를 얻어 보았다.)


C:\Documents and Settings\Geek>user2sid \\192.168.0.xx administrator

S-1-5-21-492071019-2925002615-xxxxxxxxxx-500

Number of subauthorities is 5
Domain is SOL-FILESVR
Length of SID in memory is 28 bytes

Type of SID is SidTypeUser


위와 같이 해당 시스템에 대한 SID를 쉽게 획득할 수 있다. 여기서 얻은 SID를 이용하여 sid2user 명령어를 이용 사용자 계정에 대한 목록화가 가능하다. sid2user 명령어를 이용하여 위에서 얻은 SID 값의 일반 계정 값을 변경해 보면서 계정 추측이 가능하다.


C:\Documents and Settings\Geek>sid2user \\192.168.0.xx 5 21 492071019 292500261 xxxxxxxxxx 1010

Name is geek
Domain is SOL-FILESVR
Type of SID is SidTypeUser

C:\Documents and Settings\Geek>sid2user 
\\192.168.0.xx 5 21 492071019 292500261 xxxxxxxxxx 1004

Name is abc
Domain is SOL-FILESVR

Type of SID is SidTypeUser


sid2user를 실행한 결과와 같이 사용자 ID 1010에 해당하는 geek라는 계정과 1004에 해당하는 abc라는 계정이 있는 것을 알 수 있으며 계속적인 숫자 대입을 통해 사용자 목록화가 가능하다.


레지스트리의 사용자 설정


사용자 설정이 되어 있는 레지스트리 키는
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

 

S-1-5-18 - 시스템 프로필(system profile)
S-1-5-19 - 로컬 서비스(Local Service)
S-1-5-20 - 네트워크 서비스(Network Service)
오른 쪽 창에는 Flags, ProfileImagePath, State 라는 세 가지 값을 가지고 있습니다.

 

S-1-5-21 로 시작하는 프로필은 컴퓨터 사용자가 만든 계정들입니다.
S-1-5-21-xxxxxxxxxx-xxxxxxx-xxxxxxxx-1000
1000 이상으로 시작되는 계정들이 user 권한을 갖는 계정 들이고, 500 이 administrator 계정입니다.
마찬가지로 오른 쪽 창에는 Flags, ProfileImagePath, State 라는 세 가지 값을 가지고 있습니다

 

만약 오른쪽 창에 Flags, ProfileImagePath, State 키를 가지고 있지 않는 키가 있다면 문제가 있는 계정이므로
제어판의 계정과 비교한 후 삭제를 하셔도 됩니다.


 

 

출처 : sinun.tistory.com, sungtg.tistory.com



Trackback 0 Comment 0
2009.07.14 15:16

SQL로 Oracle Alert Log 파일 조회

DBMS LOG용 디렉토리 생성

CREATE OR REPLACE DIRECTORY DIR_BDUMP AS '/oracle/admin/SID/bdump/';

DBMS LOG 외부 테이블 생성

CREATE TABLE DBMSLOG (
  LOG_TEXT VARCHAR2(4000)
)
ORGANIZATION EXTERNAL (
  TYPE ORACLE_LOADER
  DEFAULT DIRECTORY DIR_BDUMP
  ACCESS PARAMETERS (
    RECORDS DELIMITED BY NEWLINE
    FIELDS TERMINATED BY '~'
    MISSING FIELD VALUES ARE NULL (
      LOG_TEXT CHAR(4000)
    )
  )
  LOCATION ('alert_SID.log')
)
REJECT LIMIT UNLIMITED;

DBMS LOG 뷰 생성

CREATE OR REPLACE VIEW DBMSLOG_VI
AS
SELECT LOG_RNUM
, LAST_VALUE(LOG_LNUM IGNORE NULLS)
OVER(ORDER BY LOG_RNUM ROWS BETWEEN UNBOUNDED PRECEDING
AND CURRENT ROW) LOG_SNUM
, LAST_VALUE(LOG_DATE IGNORE NULLS)
OVER(ORDER BY LOG_RNUM ROWS BETWEEN UNBOUNDED PRECEDING
AND CURRENT ROW) LOG_DATE
, TRC_FILE
, LOG_TEXT
FROM (SELECT ROWNUM LOG_RNUM
, NVL2(LOG_DATE, ROWNUM, NULL) LOG_LNUM
, LOG_DATE
, TRC_FILE
, LOG_TEXT
FROM (SELECT CASE REGEXP_INSTR(LOG_TEXT,
'[[:digit:]]{2}:[[:digit:]]{2}:[[:digit:]]{2}'
|| ' [[:digit:]]{4}')
WHEN 0 THEN NULL
ELSE TO_DATE(LOG_TEXT
, 'Dy Mon DD HH24:MI:SS YYYY'
, 'NLS_DATE_LANGUAGE=AMERICAN')
END LOG_DATE
, CASE REGEXP_INSTR(LOG_TEXT, '^Errors in file')
WHEN 1 THEN REGEXP_REPLACE(LOG_TEXT
, '^Errors in file (.*):$'
, '\1')
ELSE NULL
END TRC_FILE
, LOG_TEXT
FROM DBMSLOG));

COMMENT ON TABLE DBMSLOG_VI IS 'DBMS Alert 로그 뷰';

COMMENT ON COLUMN DBMSLOG_VI.LOG_RNUM IS 'DBMS Alert 로그 순번';
COMMENT ON COLUMN DBMSLOG_VI.LOG_SNUM IS 'DBMS Alert 로그 시작 순번 그룹';
COMMENT ON COLUMN DBMSLOG_VI.LOG_DATE IS 'DBMS Alert 로그 일시';
COMMENT ON COLUMN DBMSLOG_VI.TRC_FILE IS 'DBMS Alert Trace 파일';
COMMENT ON COLUMN DBMSLOG_VI.LOG_TEXT IS 'DBMS Alert 로그 내용';

DBMS LOG 파일 조회

SELECT A.LOG_DATE
, A.TRC_FILE
, A.LOG_TEXT
FROM (SELECT TO_CHAR(MIN(LOG_DATE), 'YYYY-MM-DD HH24:MI:SS') LOG_DATE
, SUBSTR(XMLAGG(XMLELEMENT(TEMP, CHR(10) || TRC_FILE)
ORDER BY LOG_RNUM)
.EXTRACT('//text()').GETSTRINGVAL(), 2) TRC_FILE
, SUBSTR(XMLAGG(XMLELEMENT(TEMP, CHR(10) || LOG_TEXT)
ORDER BY LOG_RNUM)
.EXTRACT('//text()').GETSTRINGVAL(), 2) LOG_TEXT
FROM DBMSLOG_VI
WHERE LOG_DATE BETWEEN TRUNC(SYSDATE - :DAY)
AND SYSDATE - :DAY
GROUP BY LOG_SNUM
ORDER BY LOG_SNUM DESC) A
WHERE LOG_TEXT LIKE '%' || :TEXT || '%';

참고

Query the Oracle Alert Log using SQL commands
Oracle Regular Expression(정규표현식)


Trackback 0 Comment 0
2009.06.12 15:26

CentOS 리눅스 오라클 10g 설치 (Oracle 10g Installation)

  • 오라클 서버

    오라클 서버를 설치하기 위해서는 리눅스 서버를 새로 구축한다.

    • Linux Server 신규 구축

      리눅스 서버는 위의 VirtualBox 만드는 과정을 통해 순수하게 리눅스만 설치한다.
      파티션은 아래와 같이 나눈다.  

파티션

용량

Swap

2GB

/

나머지 용량 전부(여유있게 20GB 잡을것)

  • 방화벽 설정

    SELinux 는 Disable 시키고 작업한다.
    콘솔에서 아래의 명령을 실행 후 그림과 같이 한다.

# setup

Firewall configuration 으로 이동 후 엔터(탭 키를 누른다)  

Security Level 을 Disable 시킨 후 탭을 이동하여 OK 한다.
다시 Quit 을 선택하여 종료한다.

# unzip 10201_database_linux32.zip
# mkdir /oracle10g
# mv database /oracle10g

  • 오라클 설치를 위한 환경 설정 및 설치
     
    • /etc/redhat-release 파일 수정하기.

      Vi 에디터로 /etc/redhat-release 파일의 내용을 아래와 같이 고친다. 

# vi /etc/redhat-release

기존 내용

바뀐 내용

- Cent OS 는 레드햇 리눅스의 변종(?) 이므로 레드햇으로 수정해야 오라클이 설치된다.

  • /etc/security/limits.conf 파일 수정

    위 파일을 vi 에디터로 열고 제일 하단에 아래의 내용을 추가한다.

* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

  • /etc/sysctl.conf 파일 수정

    Vi 에디터로 파일을 열고 아래와 같이 수정한다.
    제일 아래의 ########## 아래의 내용은 신규 추가한다.  

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456

####################
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144

수정 후 아래의 명령을 실행하여 오류가 있는지 체크(설정 내용이 올바로 출력되면 OK)

/sbin/sysctl -p

  • /etc/pam.d/login 파일 수정

    Vi 에디터로 오픈하여 아래의 내용을 하단에 추가.

session        required    /lib/security/pam_limits.so

  • 설치에 필요한 필수 파일을 yum 으로 업데이트 한다.

    아래의 명령으로 설치에 필요한 필수 파일을 업데이트 한다. 네트워크가 반드시 연결 되어 있어야 한다.

yum -y install make setarch glibc* libaio cpp compat* gcc libXp openmotif elfutils-libelf* unixODBC* sysstat binutils

  • 오라클 설치 계정 추가

# groupadd oinstall    // oinstall 그룹 추가
# groupadd dba     // dba 그룹 추가
# useradd -g oinstall -G dba oracle    // oracle 계정을 oinstall 그룹에 -m -g 옵션으로 추가, 동시에 dba 그룹에 -G 옵션으로 추가
# passwd oracle // 비밀번호 지정(111111)

  • 오라클 설치 디렉토리 생성

# mkdir -p /u01/app/oracle/product/10.2.0/db_1
# chown -R oracle.oinstall /u01
# mkdir -p /u02/oradata
# chown -R oracle.oinstall /u02

  • /hosts 파일 수정

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost
IP주소 ccu_oracle

  • /etc/sysconfig/network 리눅스 호스트 이름 변경

    vi 에디터로 오픈하여 HOSTNAME 부분을 변경한다.

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=ccu_oracle

  • 오라클 사용자 계정 환경변수 설정

# su – oracle
$ cd ~
$ vi .bash_profile

아래의 내용을 파일 하단에 추가한다.

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
export DISPLAY=:0.0
export LANG=C

수정이 다 되었다면 저장 후 아래의 명령을 실행하여 적용시킨다.

$ source .bash_profile


위 설정이 다 완료 되었다면 시스템을 한번 리부팅 해준다.

# shutdown –r now

  • 오라클 설치

    주의 : 반드시 oracle 계정으로 설치해야 한다.

    오라클 압축 해제 디렉토리(/oracle10g/database) 로 이동하여 runInstaller 를 실행한다. 

# xhost + ß 반드시 루트 권한에서 실행해야 함
# su – oracle
$ cd /oracle10g/database
$ ./runInstaller

오라클 인스톨러 화면

오라클 설치중 화면

데이터베이스 생성 화면

데이터베이스 생성 완료 화면.

설치가 거의 완료 되면 아래와 같이 ROOT 권한으로 실행할 파일을 알리는 창이 뜬다.
새로운 터미널을 열어서 root 권한으로 해당 스크립트를 실행한다.

# cd /u01/app/oracle/oraInventory/
# ./orainstRoot.sh
# cd /u01/app/oracle/product/10.2.0/db_1/
# ./root.sh ß 이 명령 실행 후 local bin 디렉토리를 묻는데 기본값으로 하면 된다.

  • 오라클 구동 및 상태보기.

    오라클의 구동 및 설정은 oracle 유저로 해야 한다.
  • 오라클 상태 보기

# su – oracle
$ lsnrctl status

오라클 SID 는 orcl 로 설정하였으며, orcl 리스너가 ready 상태이여야 한다.

  • 오라클 리스너 시작/종료

리스너 시작

$ lsnrctl start

리스너 종료

$ lsnrctl stop

리스너 상태보기

$ lsnrctl status

  • 오라클 데이터베이스 구동

# su – oracle
$ sqlplus /nolog
SQL> connect sys/password as sysdba
SQL> startup

  • 오라클 emctl 시작(오라클 엔터프라이즈 매니저)

$ emctl start dbconsole

웹브라우저 에서 http://localhost:1158/em/console/aboutApplication 를 오픈하여 엔터프라이즈 매니저로 접근 되는지 확인.

아이디 패스워드는 sys/password 이다.



출처 : http://www.javarush.com/


Trackback 1 Comment 1
  1. 감사합니다. 2013.05.21 16:14 address edit & del reply

    정리된 문서 중 최고의 자료네요.
    감사합니다.