공부?/국비 지원 일기장

49일차

무무요 2024. 9. 12. 17:51


=======

DCL(Data Control Language)

데이터제어어(DCL, Data Control Language)
- DB에 대한보안, 무결성, 복구 등 DBMS를 제어하기 위한 언어
- GRANT(권한할당), REVOKE(권한해제), COMMIT(실행), ROLLBACK(복구)
- COMMIT, ROLLBACK 은 트랜젝션에 관련된 언어로 TCL 로 구분하기도 함
- 윈도우 = 이벤트로그로 로그 관련은 전부 이벤트 로그로 넣음 


계정확인
- mysql DB의 user Table 에서 DBMS 계정에 대한 정보를 관리
> show databases;
> use mysql;
> show tables; => user 테이블 확인
> desc user; => Host, User, Password 3개가 주요 컬럼
> select user, host, password from user; => root / localhost 확인 / password는 설정 X, 확인
> select user, host, password from mysql.user;
      - 데이터베이스 지정 상관없이 from 뒤 데이터베이스명.테이블명으로 접근가능

계정 확ㅇ니
MariaDB> select user, host, password from mysql.user;
- user = 계정명
- host = 접속 경로
- password = 비밀번호

접속경로
- localhost = DBMS가 설치된 로컬 시스템에서의 접속
- % = 모든 네트워크에서의 접속
- IP+% = 특정 네트워크 영역에서의 접속 ex. 200.200.200.%
- IP = 특정 IP를 가진 시스템에서의 접속 ex. 200.200.200.202


계정생성
- 기존root에 대한 패스워드설정및재접속
 MariaDB> exit
  # mariaDB –uroot –p
패스워드 입력 후 접속

- 계정생성
MariaDB> create user ‘user명’@’접속경로’ [ identified by ‘패스워드’ ] ;
> create user kuser1@localhost; => 패스워드 없이 생성되고, 접속 시 패스워드에 Enter로 접속
> create user kuser2@localhost identified by ‘P@ssw0rd’;
> flush privileges;
> select user, host, password from mysql.user;
> create user kuser3@10.0.0.40 identified by ‘Qwer!234’;  => 10.0.0.40시스템에서 접속 가능
>select user, host, password from mysql.user;


계정삭제
MariaDB> drop user ‘계정명’[@’접속경로’] ; 
 - 접속 경로를 생략하면 ‘%’ 경로로 지정됨
> create user kuser4@localhost identified by 'P@ssw0rd';
> select user, host, password from mysql.user;
> drop user kuser4@localhost;
> flush privileges;

-최종확인
> select user, host, password from mysql.user


권한 확인
> show grants [ for '계정명'@'접속경로' ] ;

- 계정을 따로 지정하지 않으면 현재 접속된 계정의 권한 확인
> show grants;
> show grants for kuser3@’10.0.0.40’;

권한 구성
GRANT privileges[(columns)] ON itemTO ‘계정명'@’접속경로' [ IDENTIFIED BY ‘비밀번호’ ][ WITH GRANT OPTION ]


권한 추가

MariaDB> GRANT privileges[(columns)] ON item TO ‘계정명'@’접속경로' [ IDENTIFIED BY  ‘비밀번호’ ] [ WITH GRANT OPTION ]- 해당계정이존재하는경우권한만부여- 해당계정이존재하지않는경우자동으로계정생성후권한부여- 모든DB의모든권한허용
> use mysql;
> grant all privileges on *.* to ‘root’@10.0.0.30 identified by ‘Qwer!234’;
> flush privileges;
     => 10.0.0.3 컴퓨터에서 root계정(모든 권한으로) 접근 가능


권한추가
- 특정 DB의 특정 테이블의 특정 컬럼 조회 권한만 주기
> use naver_db;
> grant select(id,name), insert on naver_db.member to kuser1@localhost;
> show grants for kuser1@localhost;

- root 계정 접속 종료 후kuser1 계정으로 접속
> exit
 # mysql –u kuser1


권한추가
- 확인(kuser1 계정으로 접속 후 Test)
> show databases;  =>  kor_db 보임
> use kor_db; 
> desc kor_db; 
> select * from member; => 에러 발생
> select id, name from member;  => 조회 잘 됨
> insert int member set id = ‘kuser11’, name = ‘k11’, age = 20, sex = ‘W’; => 생성잘됨
> delete from member where id = ‘yjhwang’;  => 삭제 안 됨


권한삭제
- root 계정으로 재 접속 후 명령어입력

MariaDB> REVOKE privileges[(columns)] ON item FROM ‘계정명'@’접속경로’
> revoke select(id), insert on naver_db.member from kuser1@localhost;
 > show grants for kuser1@localhost;
 => select name에 대한 권한만 남기고, select id와 insert 권한 제거 확인 가능

=======
Treat = 위협
위협과 위험의 차이점


UTM

WAF
FireWall
IPS
IDS
ESM
NAC

 

- 보안장비에서 인터넷이 되게 하려면 DNS, HTTP, HTTPS 이 세개는 묶어서 기억하기

'공부? > 국비 지원 일기장' 카테고리의 다른 글

51일차 - L4 S/W(로드밸런싱)  (0) 2024.09.23
50일차 - UTM , VPN  (0) 2024.09.13
48일차 - MariaDB DML  (0) 2024.09.11
47일차 - MariaDB  (1) 2024.09.10
46일차 - NFS, Samba, DB  (1) 2024.09.09