[Linux (리눅스)/#6 명령어 - 1]

SeungWoo·2023년 10월 31일

[Linux(리눅스)]

목록 보기
6/13

사용자 및 그룹 관리

  • 사용자 관리 파일

    • /etc/passwd
  • 계정명:패스워드(X)

    • UID:GID:coment:home directory path:shell
    • /etc/shadwow
  • 그룹 관리 파일

    • /etc/group

사용자 생성 관리

  • 사용자 생성 : useradd [option][argument] 사용자명

  • 사용자 수정 : usermod [option][argument] 사용자명

  • 사용자 삭제 : userdel -r 사용자명

  • 생성옵션
    -u : uid를 직접 설정
    -g : gid를 직접 설정하되 존재하는 그룹이어야 함.
    -c : 코멘트를 작성가능
    -d : home 디렉토리의 위치나 이름을 지정할 수 있음.
    -b : 베이스 홈 변경
    -s : 로그인 쉘을 지정할 수 있음.
    -G : 보조그룹 지정

  • usermod 추가 옵션
    -a : 보조그룹을 추가 (-G와 함께 사용)
    -m : 홈디렉토리의 변경할때 사용(-d와 함께 사용)
    -l : 계정명 변경
    -L : 계정 잠금
    -U : 계정 잠금 해제


그룹 관리

  • groupadd [option] 그룹명
    -g : gid 부여

  • groupmod [option] 그룹명
    -g : gid 수정
    -n : 그룹명 변경

  • groupdel 그룹명


암호속성 변경

  • chage option argument 계정명

-option
-l(소문자 L) 계정명 : 계정 암호속성 확인

-m : 암호최소변경일 수정

-M : 암호최대사용일 수정

-W : 암호최대사용일 경고일 수정

-I(대문자 i) : inactive 설정

-E : 계정 만료기간 설정

-d : 암호변경일 설정


확장 권한 및 접근 제어 목록(ACL)

  • 확장권한
file directory
setuid o x
setgid o o
sticky bit x o

(실행권한 있어야 됨)

  • setuid :

    • 파일의 소유주 권한으로 실행
  • setgid :

    • file - 파일의 소유그룹 권한으로 실행
    • directory - setgid 부연된 디렉토리의 파일들에 대해서 소유그룹이 계속해서 소유그룹 권한을 행사함. setgid는 하위 새로 만들어지는 디렉토리에 상속
  • sticky bit :

    • 해당 디렉토리에 생성된 파일이나 디렉토리에 대한 삭제 권한을 파일의 소유자와 root에게만 가능하도록 함.
  • 확정권한 설정

심볼릭 모드 팔진수 모드
setuid chmod u+s file명 chmod +4000
setgid chmod g+s file/dir명 chmod +2000 file/dir명
sticky bit chmod o+t dir명 chmod +1000 dir명

접근제어목록(Access control list : acl)

  • acl의 목적

    • 특정사용자 특정 그룹의 구성원에게 권한 별도로 부여하기 위해서 사용.

    • 기본적으로 일반권한으로 나눌 수 있는 군.

  • 소유주 소유그룹 기타사용자

    • 소유주(y/n) y -> 소유주의 권한 n
    • 소유그룹(y/n) y -> 소유그룹의 권한 n
  • 기타사용자의 권한

    • 특정사용자 특정 그룹의 구성원에게 별도의 권한 줄 수 없다.
  • acl을 설정할 경우

    • 소유주(y/n) y -> 소유주의 권한 n
    • 특정사용자(y/n) y-> 특정사용자의 권한 n
    • 소유그룹(y/n) y -> 소유그룹의 권한 n
    • 특정그룹(y/n) y -> 특정그룹의 권한 n
      기타사용자의 권한
  • acl 권한의 확인 방법

    • ls -l 했을 경우에
      -  - - - - - - - - -  -
       1  2 3 4 5 6 7 8 9 10  11
      • 1:파일의 종류
        2~10 : 권한부분(2~4 소유주 5~7 소유그룹 8~10 기타사용자)
        11 : acl 설정확인 부분
        . or 공백 - acl 설정이 되지 않았다.
        _+ - acl 설정이 되어 있다.
  • acl의 영향 받는 대상

    • 특정사용자, 소유그룹, 특정그룹만 영향을 받음
    • 소유주와 기타사용자는 acl의 영향(mask)을 받지 않습니다.
  • mask의 권한 : acl 대상이 받을 수 있는 최대 권한
    -acl 대상의 권한과 mask 권한을 and 연산해서 결과가 나옴.

  • acl을 설정할 경우에 생기는 변화

    • ls -l의 권한 항목 중에서
      - - - - - - - - - -  -
      1 2 3 4 5 6 7 8 9 10 11
      • 11번이 +로 변함
      • 기존에 소유그룹의 권한(5~7번)이 마스크 권한으로 대체됨.
  • acl에 관련된 명령어

    • getfacl : acl 설정 확인
    • setfacl : acl 설정
  • setfacl syntax

  • setfacl option acl엔트리 파일명/디렉토리명

  • acl 엔트리
    소유주 - u::권한
    특정사용자 - u:계정명:권한
    소유그룹 - g::권한
    특정그룹 - g:그룹명:권한
    기타사용자 - o::권한
    마스크 - m::권한

  • setfacl 옵션
    -m : acl설정
    -x : acl엔트리 삭제
    -b : acl설정 초기화(acl설정 X)
    -k : default acl설정 초기화

  • 일반 acl과 기본(default) acl

    • 일반 acl : acl이 설정되어 있는 그 자체에 대해서 권한행사
  • 기본 acl

    • 기본 acl이 설정되어 있는 디렉토리에 대해서는 아무런 권한을 행사할 수 없음.
    • 대신 기본 acl이 설정되어 있는 디렉토리에 파일이나 디렉토리를 생성할 경우 기본 acl 설정이 생성 파일이나 디렉토리에 부여됨.
    • 생성된 디렉토리에는 기본acl이 상속 됩니다.
      {1,2,3,4}
      {mon, tue, sat, sun}
      {0..10}
      {001..999}
      z{a{0..10}}, b{01..99}, c{001..100}}

작업예약

  • 단일성 예약

    • 특정시기에 한번 작업을 수행
    • atd 라는 서비스를 이용
    • atd 서비스 와 crond 서비스는 제어할 수 있는 터미널을 지정받지 못함.
    • 출력하는 명령어를 수행하게 되면 화면에 띄울 수가 없음.
    • 출력하는 명령어의 결과를 메일로 보내오거나 리다이렉션을 이용해서 파일로 저장을 해야 함.
  • at 명령어 사용

    • at timespec
    • at> 프롬프트가 나오면 해당 작업 작성후 엔터
    • at> 나오면 ctrl + d [EOF]
  • at -l or atq : 예약 확인
    at -c 예약번호 : 작업 내용 확인
    atrm 예약번호 : 작업예약 취소

  • timespec 작성 요령
    • at 시간 날짜 순으로 기입
    • 22년 2월 23일 오전 10시 기준
    • 지금으로부터 2시간 뒤 작업
    • at now +2hour (분 - min, 시 - hour)
    • ex_)
      at 16:00
      at 04:00 PM
      at teatime
      at 16:00 2/23/22 (월,일,년)
      at 16:00 23-02-23
      at 04:00 PM today
      at teatime today

반복성 예약

  • crond 서비스 이용
    • 사용자 cron 과 시스템 cron
    • 사용자 cron
    • crontab 이라는 명령어를 사용
      crontab -e : 작업예약
      crontab -l : 작업예약 목록 확인
      crontab -r : 작업예약 취소(모든 작업 취소)
      crontab 파일명 : 다른 파일에 만들어놓은 작업을 불러올 수 있음.
  • cron의 timespec 설정법
x x x x x Command
분((0~59)) 시(0-23) 일(1-31) 월(1-12) 요일(0-7:0,7 일요일) 명령어
  • 특수문자
    1) * : 모두 참
    2) - : 범위
    3) / : 주기
    4) , : 연속되지 않은 다수
  • 일반 cron : 주기일때 시스템이 다운되어있다면 다음 주기로 넘어간다.
  • anacron : 시스템이 다운 되었다가, 켰을때, 못한 주기를 실행한다.

시스템 디스크 사용 절차

  • 디스크 삽입 - 파티션 생성 - 파일시스템 포멧 - 마운트

  • 디스크, 파티션, 파일시스템, 마운트 관련 명령어

    • lsblk : 현재 시스템의 블록장치에 관련한 상태 확인
    • fdisk 디스크명 : MBR 파티션 생성
      - 주 파티션 4개 extend 파티션 3개
    • gdisk 디스크명 : GPT 파티션 생성
      - 주 파티션 12
  • partprobe 디스크명 : 디스크 정보를 시스템에 등록

    • mkfs -t 파일시스템 파티션명 : 파일시스템 포멧
    • mkfs.파일시스템 파티션명
  • mount 장치명 마운트포인트(path) : 마운트 실행

    • mount -a : /etc/fstab에 등록된 마운트 실행
  • umount 장치명(마운트포인트) : 마운트 해제

    • umount -a : 사용중인 마운트 제외한 모든 마운트 해제
  • df -Th : 파일시스템 상태 확인

  • blkid : 파일시스템 관련 파티션 확인


스왑메모리

  • 스왑공간 확인 : free
  • 스왑파일시스템 : mkswap 파티션명
  • 수동 스왑 마운트 : swapon 파티션명
  • 수동 스왑 마운트 해제 : swapoff 파티션명
  • 설정된 스왑 마운트 : swapon -a
  • 모든 스왑 마운트 해제 : swapoff -a

Tip

  • mkfs -t 파일시스템명 파티션위치
  • mkfs.파일시스템명 파티션위치
  • umount -a 사용하지않는 모든 마운트 해제
  • mount -a 시스템에 등록된 마운트를 다 연결

profile
This is my study archive

0개의 댓글