일반 사용자가 root 권한을 사용하는 방법 1) su 명령 사용(root 계정으로 전환) 모든 권한을 가지게 됨 보안상 매우 위험 2) sudo 명령 사용(root 계정 이외에도 다른 사용자 계정으로 전환 가능) 특정 작업만 수행할 수 있는 권한만 부여 제한적인 권한 부여 sudo 권한 설정하기 특정 권한 부여: /etc/sudoers 파일에 설정. root 계정으로만 수정 가능(visudo 명령으로 수정) /etc/sudoers 파일 설정 형식 : 사용자 계정 호스트=명령어 ex) root 계정: root ALL=(ALL:ALL) ALL (어디서나 어느 명령이든지 실행할 수 있음을 의미) ex) user5에게 사용자 추가, 수정 권한 부여: user5 ALL=/usr/sbin/useradd, /usr..

UID와 EUID UID(Real UID) : 사용자가 로그인할 때 사용한 계정의 UID EUID(Effective UID) : 현재 명령을 수행하는 주체의 UID UID와 EUID가 달라지는 경우(보통은 UID와 EUID가 같은 값을 가짐) - su 명령을 사용하여 다른 계정으로 전환한 경우 : EUID가 다른 계정의 UID로 바뀐다. - SetUID 비트가 설정된 실행 파일을 실행할 경우 : EUID가 실행 파일의 소유자로 바뀐다. * 파일 소유자 = 파일을 만든 프로세스의 사용자 ID 접근 권한의 맨 앞자리는 특수 접근 권한을 의미. ↓ [리눅스/Linux] 특수 접근 권한(SetUID, SetGID, 스티키 비트)(이 글은 대학생이 강의를 이해한 대로 정리한 것이므로 정확하지 않을 수 있음) um..
그룹 생성하기(groupadd, addgroup) groupadd 그룹명 : 그룹 생성. (GID를 가장 마지막 번호의 다음 번호로 지정) groupadd -g GID 그룹명 : GID를 지정해서 그룹 생성. groupadd -g GID -o 그룹명 : GID를 허용하여 지정. addgroup 그룹명 : 그룹 생성. (GID를 /etc/adduser.conf 파일에 지정된 시작 GID를 기준으로 가장 마지막 번호의 다음 번호로 지정) addgroup --gid GID 그룹명 : GID를 지정해서 그룹 생성. 그룹 정보 수정하기(groupmod) groupmod -g GID 그룹명 : 그룹의 GID를 수정 groupmod -n 그룹명1 그룹명2 : 그룹2의 그룹명을 그룹1로 수정 그룹 삭제하기(groupd..

사용자 계정 생성하기(useradd, adduser) 1) useradd 명령 useradd 사용자명 : /etc/passwd 파일에 사용자가 추가. 홈 디렉터리와 기본 셸 지정되지 않음. useradd -D : (/etc/default/useradd 파일에 저장되어 있는) 기본 설정 값 확인. -s 옵션 : 기본 셸 지정 -u 옵션 : UID 지정 -g 옵션 : GID 지정 -G 옵션 : 2차 그룹 GID 지정 -m -d 옵션 : 홈 디렉터리 생성 후 지정 ex) useradd -s /bin/sh -m -d /home/user3 -u 2000 -g 1000 -G 3 user3 : 기본 셸이 /bin/sh이고 홈 디렉터리가 /home/user3이며, UID는 2000, GID는 1000, 2차 그룹의 G..

사용자(user) 관리 리눅스는 다중 사용자 시스템이므로 사용자를 구별하고 사용자에게 적절한 자원을 할당해주는 방법이 필요 사용자 계정이 사용자를 구별하는 역할을 함 사용자 계정은 시스템 관리자의 입장에서도 사용자의 접근 권한을 통제할 수 있는 중요한 수단 사용자 계정(user ID)과 관련된 파일 1) /etc/passwd 2) /etc/shadow 3) /etc/login.defs 4) /etc/group 5) /etc/gshdow 1) /etc/passwd 사용자 계정 정보가 저장된 기본 파일으로, 한 행에 사용자 한 명에 대한 정보가 기록되며, 쌍점(:)으로 구분되는 일곱 개 항목으로 이루어져 있다. 누구나 읽을 수 있도록 접근 권한이 설정되어 있다.- 로그인 ID: 사용자 계정의 이름, 32자를..
컴파일러 설치하기 C 언어로 작성한 프로그램을 컴파일하기 위해서는 C 컴파일러가 필요. 리눅스에서 사용하는 C 컴파일러는 gcc. 먼저 시스템에 gcc 컴파일러가 설치되어 있는지 알아보기 -> aptitude show gcc gcc 패키지 설치하기 -> apt-get install gcc 실행 파일명 변경하기 gcc로 생성한 기본 실행 파일은 a.out 사용자가 원하는 이름으로 지정하려면 –o 옵션 사용 C 프로그램 작성/컴파일/실행 1) C 프로그램 작성하기 : vi hello.c 입력 후 C 프로그램 작성 2) C 프로그램 컴파일하기 : gcc hello.c (이 때 실행 파일 a.out가 자동적으로 생성) 3) C 프로그램 실행하기 : ./a.out 으로 경로를 지정하여 a.out 파일을 실행. *..
스냅의 개념 우분투 16.04 버전부터 도입한 패키지 형식. deb 패키지와 호환성을 유지. 샌드박스 형태의 패키지. 즉, 패키지를 만들 때 프로그램이 사용하는 모든 라이브러리를 패키지 안에 포함. * 샌드박스는 외부에서 받은 파일이 내부 시스템에 악영향을 주는 것을 방지하는 보안 기술으로, 스마트폰 OS(Android, iOS)에서 사용. 장점 - 개발자가 다른 패키지나 라이브러리와의 의존성을 신경 쓰지 않아도 된다. - 기존 시스템과 격리되어 실행하는 샌드박스 형식이므로 보안이 강화된다. 단점 -패키지의 용량이 커진다. 스냅 사용하기(snap 명령) 우분투에 기본으로 설치되는 것이 아니므로 apt-get install snap 명령으로 설치하고 시작. snap list : 설치된 스냅 목록 출력. s..
우분투 패키지 설치 방법 - APT 명령을 사용 : 인터넷이 연결된 저장소에서 설치. - dpkg 명령을 사용 : 패키지 단위로 설치. - aptitude 명령을 사용 : 비주얼 모드에서 동작 - 우분투 소프트웨어 센터를 이용 : 그놈 소프트웨어 센터 3) aptitude 명령을 사용 (비주얼 모드에서 동작/텍스트 그래픽 메뉴 제공) * apt-get 명령으로 aptitude 명령 설치 (apt-get install aptitude) aptitude 명령 실행하면 curses의 비주얼 모드인 메뉴 화면이 출력. * aptitude를 명령으로 사용(APT 명령과 유사)aptitude update : 패키지 정보 업데이트. 새로운 패키지 정보를 가져와서 APT 캐시 수정.aptitude search 키워드 ..