728x90

카테고리 206

리눅스 useradd 명령, adduser 명령, usermod 명령

리눅스 useradd 명령, adduser 명령, usermod 명령 useradd 명령으로 사용자 계정을 생성할 때 홈 디렉터리도 수동으로 생성해야한다. 계정 생성 : $ sudo useradd user2 계정 생성 : $ sudo useradd –s /bin/sh –m –d /home/user3 –u 2000 –g 1000 –G 3 기본셸, 홈디렉터리 디렉터리 명, UID, 1차 GID, 2차 GID 계정 생성 확인 : $ tail –3 /etc/passwd 비밀번호 설정 : $ sudo passwd user3 비밀번호 확인 : $ sudo tail –2 /etc/shadow 기본 설정값 확인 : $ useradd –D 기본값 변경 : $ cat /et..

우분투 리눅스 연습문제 15장

우분투 리눅스 연습문제 15장 1. 정보 보안의 3요소에 대해 간략하게 설명하시오. 정답 : 기밀성, 무결성, 가용성 2. 생략 3. 로그 관리 데몬에 다음과 같이 설정되어 있다. 각각의 의미를 설명하시오. 1) kern.err /var/log/kernel.log 2) mail.warning @logserver 3) cron.=crit root [답] 1) 시스템 커널에서 발생하는 오류 상태 이상의 메시지는 /var/log/kernel.log 파일에 저장한다. 2) 메일 시스템에서 발생하는 경고 이상의 메시지는 logserver의 rsyslog 데몬으로 보낸다. 3) Cron에서 발생하는 중대한 상태(crit)의 메시지는 root 계정으로 메일을 보낸다. 4. 특정 기간(예를 들어 일주일 전부터 오늘 날..

우분투 리눅스 연습문제 14장

우분투 리눅스 연습문제 14장 1. /home/nfs 디렉터리를 10.10.10.5의 시스템에 읽기 전용으로 공유하도록 설정하려고 한다. /etc/exports 파일에 어떻게 설정해야 하는가?? 정답 : /home/nfs 10.10.10.5(ro) 2. 생략 3. 생략 4. NFS 설정이 바뀌어 NFS 서버를 다시 시작하는 명령은 무엇인가? 정답 : sudo systemctl restart nfs-kernel-server sudo systemctl restart rpcbind 5. 1번에서 공유한 것을 클라이언트의 /home/nfs로 마운트 하는 명령은 무엇인가? 서버 주소는 10.10.10.1이라고 가정한다. 정답 : sudo mount –t nfs 10.10.10.1:/home/nfs /mnt 6. ..

우분투 리눅스 연습문제 13장

우분투 리눅스 연습문제 13장 1. 데이터베이스와 데이터베이스 관리 시스템을 비교하여 설명하시오 정답 : 데이터베이스는 서로 관련성을 가진 데이터들을 데이터 간의 중복성을 최소화해 모아놓은 것이다. 2. 관계형 데이터베이스에서 데이터를 관리하는 구조를 간략하게 설명하시오. 정답 : 데이터는 값이다, 테이블은 행렬로 이루어져 있다, 필드는 열이다, 레코드는 행이다, 키는 필드에서 레코드를 구분 가능하게 하는 값으로, 기본키가 존재한다. 3. 생략 4. 필드와 레코드의 차이를 설명하시오. 정답 : 필드는 열이고 레코드는 행이다. 5. 생략 6. 데이터 베이스 이름을 music_db로 하여 MariaDB에 데이터베이스를 생성하시오. 정답 : craete database music_db 7. 5번에서 설계한 테..

C++ iterator 반복자 STL sort 알고리즘

C++ iterator 반복자 STL sort 알고리즘 반복자 객체 생성 vector ::iterator it; 반복자 증가 it++; 반복자가 가리키는 값 반환 int n = *it; 반복자가 가리키는 값에 대입 *it = n; 반복자 시작 위치 반환 it = v.begin(); 반복자 끝 위치 반환 it = v.end(); 반복자 원소 삭제 it = v.erase(it); 첫 번째 : 시작 주소 두 번째 : 다음 주소 sort(v.begin(), v.begin() + 3); sort(v.begin(), v.end()); // 처음부터 끝까지 #include #include #include using namespace std; int main(){ vector v; v.push_back(1); v.pu..

C++ Programming 2021.12.16

C++ 제네릭 템플릿 클래스

C++ 제네릭 템플릿 클래스 제네릭 : 자료형의 일반화, 오버라이딩과 함께 구현시, 오버라이딩의 우선순위가 더 높다. 템플릿 : 제네릭 타입을 이용해 함수나 클래스를 일반화 한것이다. template void Swap(T1 & a, T2 & b); // 메인함수 전에도 템플릿 클래스 명시 int main(){} template void Swap(T1 & a, T2 & b){ T tmp; tmp = a; a = b; b= tmp; } 벡터 선언 vector v; 벡터 요소 추가 v.push_back(1); 벡터 유효 크기 반환 int s = v.size(); 벡터 할당 크기 반환 int c = v.capacity(); 벡터 인덱스 추가 v.at(2) = 5; 벡터 값 반환 int n = v.at(1); 벡..

C++ Programming 2021.12.14

C++ 순수 가상 함수

C++ 순수 가상 함수 순수 가상 함수는 여러 클래스의 메서드 구현을 강제화 시키기 위해서 부모에서 정의 내리는 규약이다. 부모 클래스에서는 정의만 내리고, 몸체 부분은 구현하지 않는다. 자식 클래스에서 몸체 부분을 구현한다. 추상 클래스 : 순수 가상 함수 1개 이상 이어야 한다, 상속이 가능하지만, 객체 생성은 불가능하다. 포인터/ 참조는 가능하다. class Person{ public: virtual void whoAreYou() const = 0; // 부모 클래스에 정의함

카테고리 없음 2021.12.13

C++ 다형성 다운 캐스팅 업 캐스팅

C++ 다형성 다운 캐스팅 업 캐스팅 부모 클래스의 포인터/레퍼런스 형으로만 자식 객체를 업 캐스팅할 수 있다. Person* pPerson = new UnivStudent; UnivStudent* pStud = (UnivStudent*)pPerson; dynamic_cast (exp)를 사용해 객체의 타입을 알아본다. 가상 함수 선언은 필수이고, 부모 소멸자를 가상 함수 virtual로 만드는 것이 일반적이다. -type-id* 포인터로 다운 캐스팅 타입을 지정한다, -exp 표현식 type-id를 포인터형으로 객체 주소 값을 반환한다. int main(){ Person* list[2]; // 객체 포인터 배열을 활용한다. list[0] = new Person(); list[1] = new UnivSt..

C++ Programming 2021.12.12

우분투 리눅스 연습문제 12장

우분투 리눅스 연습문제 12장 1. 텔넷의 최대 단점을 간략하게 설명하시오. 정답 : 텔넷 클라이언트와 리눅스 사이에 주고받는 데이터가 암호화되어 있지 않았다. 2. 텔넷과 SSH의 차이를 설명하시오. 정답 : 텔넷은 암호화 XX 포트번호 23, SSH는 암호화 OO 포트번호 22 3. 생략 4. 생략 5. ftp 명령으로 리눅스 시스템에 접속하여 a.txt, b.txt, c.txt 파일을 가져오려는데 각 파일마다 수신할 것인지 물어본다. 어떤 명령을 사용하지 않았기 때문인가? 정답 : prompt 6. ftp 명령으로 파일을 가져오는데 파일이 수신되고 있는지 알 수가 없다. 파일을 수신 중이라는 표시를 하는 방법을 설명하시오. 정답 : hash 7. ftp 명령으로 a.zip 파일을 가져왔는데 압축이 ..

C++ 부모 자식 상속

C++ 부모 자식 상속 상속 : 연관된 클래스 공통, 배열 생성 위해 public으로 선언 부모 클래스 private 멤버에 직접 접근하지 못해 access 함수를 사용해 접근한다. //부모.h 가상함수 class Person{ int age; char name[50]; public: Person(const char* name, int age); void WhatYourName() const; void HowOldAreYou() const; const char* GetName() const {return name}; virtual void WhoAreYou() const; // 부모의 가상함수 선언시에만 virtual 키워드를 붙인다. }; // 자식.h 생성자 char* 포인터 #define _CRT_..

C++ Programming 2021.12.10
728x90