본문 바로가기
Linux

명령어 [복습]

by oncerun 2022. 3. 10.
반응형
  • 파일 보기 ls 

  • 파일 내용 보기 cat, more, less
    기억 : (페이지 단위 space, 줄단위 enter)  , 뒤로 못 감
    따라서 less로 more을 보완함. 
    less는 방향키로 이동, 페이지는 up/down으로 이동 가능

  • 파일 만들기/지우기 touch, rm

  • 파일 복사 cp

  • 파일 쇼트커트 ln

  • 파일 속성 보기 file

  • 디렉터리 만들기 mkdir, rmdir

  • 디렉터리 이동 cd

  • 터미널 지우기 clear

  • 시스템 종료 reboot, poweroff, shutdown
    reboot, poweroff는 관리자 권한일 시 확인도 하지 않고 종료하기 때문에 신중히 사용해야 한다.
    shutdown -P now : 바로 종료
    shutdown -r now : 바로 재시작

  • ln
    초기 유닉스 시대적 배경에 저장공간이 매우 작고 비싸던 시절에는 공간을 절약하는 방법이 필요했다.
    하드 링크를 통해 파일 참조를 만들면 쉽게 백업이 가능했다.
    다만 소프트 링크는 원본 파일을 참조하는 링크를 만들기에 기본 사이즈 + 링크 byte가 추가된다.

  • 파일 속성 보기 file 
    인코딩 확인 및 변경을 했던 기억이 난다.

  • 모든 명령어의 매뉴얼 man

  • vi, vim, nano 
    vi학습기로 vimtutor를 이용할 수 있다. sudo apt install vim을 설치 후 vimtutor로 연습할 수 있다.

  • 계정 확인 /etc/passwd, /etc/shadow, /etc/group

  • 내 권한 whoami, id

  • 그룹 계정 및 권한 sudoer , sudo

    sudo는 슈퍼유저의 권한을 대여하는 것이다. 다만 아무 사용자나 대여할 수 없도록 특정 파일에 관리하고 있으며
    해당 파일은 /etc/sudoers이다. sudo visudo를 통해 슈퍼유저의 권한을 편집할 수 있다.

    다만 해당 파일을 편집하는 것은 좋지 않은 방향이고 사용자를 sudo 권한에 추가하는 방향으로 나가야 한다.

    useradd -aG user1 sudo 
  • 사용자의 권한을 대여 su 
    관리자가 사용자 계정을 관리하고 이슈/장애를 분석할 때 사용.

  • 사용자 생성과 그룹 생성
    adduser, useradd, usermod, deluser, userdel, addgroup, delgroup

    사용자 암호 /etc/shadow

    addUser는 상호작용을 통해 유저를 생성할 수 있다.
    다만 스크립트로 대량의 사용자를 사용할 때 useradd를 사용할 수 있다.

    암호 정책 변경 chage, passwd

  • 파일 권한 다루기
    chmod, chown, chgrp, umask

  • 파일 다루기
    setuid, setgid

 

리눅스(유닉스)의 모든 시간 epoch = 1970년 1월 1일 00:00:00 UTC를 기준으로 흘러간다. 

/etc/shadow, /etc/passwd에 큰 숫자들은 epoch기준으로 흘러간 날짜이다.

 

패스워드 필드를 살펴보자. 

 

 

  • ! : locked를 의미한다 우분투는 기본적으로 root계정으로 로그인하지 못하도록 설정되어 있다.
  • $1$ : MD5  알고리즘으로 암호화
  • $2a$ : blowfish
  • $2y$ : Blowfish
  • $5$ : sha-256
  • $6$ : sha-512

해시값에 솔트가 추가되어있다. 따라서 같은 패스워드인지 식별이 불가능하다.

 

 

 

암호 정책 변경 chage  

 

기업 내에서 ISMS 인증 절차상 강제로 비밀번호를 변경하기도 합니다.  root 권한이 필요합니다. 

sudo chage -l user2로 변경된 정책을 확인할 수 있습니다.

 

 

정책을 설정하는 chage가 있는 반면 passwd를 통해 사용자의 암호를 변경하거나 계정관리를 진행할 수 있습니다.

  • passwd [options] user : 변경
  • passwd -l user : 잠금
  • passwd -u user : 잠금해제
  • passwd -S user : 계정 상태 확인

 

 

그룹 생성   addgroup (스크립트 파일)

addgroup [options] group

 

그룹에는 프라이머리 그룹과 세컨드리 그룹이 존재한다. 사용자 계정은 기본적으로 자신이 포함된 프라이머리 그룹이 있고 다른 권한을 사용할 수 있는 그룹에 포함될 수 있는데 이를 세컨드리 그룹이라고 한다.

 

그룹 삭제 delgroup

 

그룹 계정 / 사용자 할당  usermod

 

usermod -aG sudo user2 // user2를 sudo 그룹에 추가

 

그룹에 유저를 추가하기 위해서 adduser user2 sudo도 가능하다.

제거는 deluser user2 sudo로 제거할 수 있다.

 

 파일의 생성 권한 umask

 

리눅스에서는 사용자의 파일을 만들거나 프로세스가 만들 수 있는데 그때 생성되는 파일, 디렉터리의 기본 권한을 표시하는 값이 됩니다.

 

리눅스의 기본 파일 권한은 666이며 기본 디렉터리 권한은 777입니다. 

이 말은 umask가 0일 경우 파일의 권한은 (rw-rw-rw) 디렉터리는 (rwxrwxrwx)입니다.

 

만약 umask가 2 혹은 (0002) 일 경우에는 

파일의 기본 권한 666에서 002를 빼면

 

110 110 110 

000 000 010

110 110 100 = 664가 나오며 이는 (rw-rw-r--)로 생성됩니다. 

 

기본 값이 0002입니다. 이때 디렉터리를 생성하면 가지게 되는 기본 권한은 아마 다음과 같을 것입니다.

775 (rwxrwxr-x)

 

umask값을 변경하는 것은 위험을 초래할 수 있다고 생각합니다. 따라서 umask값을 확인하여 파일 및 디렉터리를 생성하고 파일 및 디렉터리에 알맞은 소유자, 그룹, 그 외 사용자들의 권한을 조절하는 것이 알맞을 것이라고 생각합니다.

 

파일의 권한 변경 chmod

 

chmod [숫자, 기호] file을 통해 쉽게 변경할 수 있다.

 

파일의 소유권 변경 chown 그룹 소유권 변경 chgrp

 

chown명령어를 통해 그룹을 변경할 수 있기에 보통 chown을 사용합니다.

 

 

 

그룹만 변경하기 위해서는 chown :groupName 파일 및 디렉터리를 사용한다.

 

 

setuid, setgid, sticky bit

 

파일의 권한을 일시적으로 소유주 혹은 소유 그룹의 권한으로 빌려서 실행할 수 있다.

sticky bit는해당 디렉터리에 생성된 파일은 해당 사용자의 소유주로 저장됨.

 

쉽게 sudo명령어를 확인해 보자.

 

 

권한을 보면 rwsr-xr-x로 표현되어 있다. 

  • SetUID는 4xxx, SetGID는 2 xxx로 StickyBit는 1 xxx로 설정한다.
    각각 설정 위치는 rws------, rwxrws---, drwxdrxdwt로 표시된다.
  • 기존 권한의 위치를 덮어쓰기 떄문에 해당 기능만 존재하는 경우 대문자 S/S/T로 표기된다.
  • 기존 실행 권한을 포함하고 있다면 소문자 s/s/t로 표시된다.

  • chmod u+s filename
  • chmod g+s filename
  • chmod +t directoryname

 

 

반응형

'Linux' 카테고리의 다른 글

hostnamectl  (0) 2023.06.13
Linux FileSystem (1)  (0) 2023.06.11
환경 구축 (2)  (0) 2022.03.09
[Linux] 프로세스 관리  (0) 2021.08.02
[Linux] 볼륨 관리  (0) 2021.08.02

댓글