=======
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 |