본문 바로가기
Linux

[Linux] 2/8 강의 정리 (상대경로, 절대경로, 리눅스 기본 명령어, etc/passwd, /etc/shadow, /etc/group, 파일 디렉터리, 특수 권한, 링크)

by jionee 2021. 2. 8.
SMALL

절대 경로

최상위 디렉터리를 기준으로 이동 디렉터리 경로 설정

 

상대 경로

현재 디렉터리를 기준으로 이동 이렉터리 경로 설정

 

 

 

tree

apt -y install tree
tree

디렉터리 및 파일을 tree 구조로 출력함

 

 

touch

크기가 0인 새 파일을 작성하거나 파일의 타임스탬프를 변경하는 용도로 사용

 

 

 

ls

List의 약자로 Windows의 dir 명령과 같은 역할

즉, 해당 디렉터리(폴더)에 있ㅆ는 파일의 목록을 나열

#ls  	//현재 디렉터리의 파일 목록
#ls -a 		//현재 디렉터리의 목록(숨김 파일 포함)
#ls -l		//현재 디렉터리의 목록을 자세히 보여줌(영문자 열)

*** 숨김파일 : 파일이름이나 디렉터리 제일 앞글자를 .으로 하면 자동으로 숨길 파일

 

 

cd

Change Diretory의 약자로 디렉터리를 이동하는 명령어

#cd	 	//현재 사용자의 홈 디렉토리로 이동
#cd ..		//바로 상위의 디렉터리로 이동 '..'은 현 디렉터리의 부모 디렉터리를 의미
#cd /etc/systemd	//절대경로 이동 예시
#cd ../etc/systemd 	//상대경로 이동 예시

 

 

pwd

Print Working Directory의 약자로 현재 디렉터리의 전체경로를 화면에 보여줌

 

 

rm

ReMove의 약자로 파일이나 디렉터리를 삭제함

(삭제 시 현재 사용자가 파일이나 디렉터리를 삭제할 권한이 있어야함.)

#rm 		//파일 삭제 명령어
#rmdir		//디렉터리 삭제 명렁어
#rm -i abc.txt		//삭제 시 정말 삭제할 지 확인하는 메시지가 나옴
#rm -f abc.txt		//삭제 시 확인하지 않고 바로 삭제
#rm -rf abc			//abc 디렉터리와 그 아래에 있는 하위 디렉터리를 강제로 전부 삭제

 

 

mkdir

MaKe DIRectory의 약자로, 새로운 디렉터리를 생성

 

 

cat

conCATnate의 약자로, 파일 내용을 화면에 보여준다. 여러 개의 파일을 나열하면 파일을 연결해서 보여줌

 

 

head, tail

텍스트 형식으로 작성된 파일의 앞 10행 또는 마지막 10행만 화면에 출력

#head -3 /etc/systemd/user.conf		//앞 3행만 화면에 출력

 

 

more

텍스트 형식으로 작성된 파일을 페이지 단위로 화면에 출력 Space bar을 누르면 다음 페이지로 이동

B를 누르면 앞 페이지로 이동

Q를 누르면 종료

 

 

less

more 명령어와 용도가 비슷하지만 기능이 더 확장됨

more 명령에서 사용하는 키도 사용할 수 있으며 추가로 화살표 키나 page up, page down도 사용 가능

 

 

file

해당 피알이 어떤 종류의 파일인지 표시

 

 

adduser

새로운 사용자를 추가

이 명령을 실행하면 /etc/passwd, /etc/shadow, /etc/gruoup 파일에 새로운 행이 추가됨

 

 

파일  /etc/passwd

root:x:0:0:root:/root:/bin/bash       

① 사용자 이름

② 패스워드(/etc/shadow 파일에 암호화되어 있음)

③ 사용자 계정 uid

④ 사용자 계정 gid

⑤ 사용자 계정 이름(정보)

⑥ 사용자 계정 홈 디렉토리

⑦ 사용자 계정 로그인 쉘

 

 

 

계정관리 명령어

#pwconv

: shadow 패스워드 정책 적용

 

#pwunconf

: 일반 패스워드 정책 적용

 

* 보안 정책 : 패스워드 암호화 저장/관리 설정 적용

 

 

Root 이외 UID '0' 금지

root(UID=0)와 동일한 UID를 가진 계정 존재 시 root 권한으로 시스템 접근이 가능

사용자간 UID 중복시에 권한 중복으로 사용자 감사 추적이 어려움

 

 

usermod

사용자 속성을 변경

/etc/passwd와 관련

 

 

파일 /etc/shadow

 

① 사용자명

② 암호화된 비밀번호(역으로 풀수없음)

③ 최근 비밀번호 변경일(1970년 1월 1일 기준의 날짜 수: timestamp)

④ 패스워드를 변경할 수 없는 기간의 일 수를 지정

⑤ 비밀번호 유효기간(30이라면 30일 마다 비밀번호를 변경해야 함)

⑥ 비밀번호 변경 경고 시간

⑦ 비밀번호 유효 기간(5일이면, 5일에 한번은 들어가야함)

⑧ 비밀번호 만료 기간 이후 계정을 사용할 수 없게 되는 기간

⑨ 나중에 사용하기 위해 예약으로 설정되어 있고, 현재는 사용되지 않으며, 0으로 지정

 

 

chage

사용자의 암호를 주기적으로 변경하도록 설정

/etc/shadow와 관련

#chage -l ubuntu 	//사용자에 설정된 사항을 확인
#chage -m 2 newuser1	//newuser1 사용자에 설정된 암호를 사용해야 하는최소 일자(즉, 변경 후 최소 2일은 사용해야 함)

 

 

 

 /etc/group

그룹은 /etc/group 파일에 정의되어 있음

① 그룹명

② 비밀번호

③ 그룹 id

④ 보조그룹사용자

 

 

그룹 관련 명령어

groups : 사용자가 소속된 그룹을 보여줌

groupadd : 새로운 그룹을 생성

groupmod : 그룹의 속성을 변경

groupdel : 그룹 삭제

gpasswd : 그룹의 암호를 설정하거나 그룹 관리를 수행

gpasswd mygroup1		//그룹의 암호 지정
gpasswd -A newuser1 mygroup		//newuser1 사용자를 mygroup1dml 관리자로 지정
gpasswd -a newuser1 mygroup		//newuser1 사용자를 mygroup1dml 사용자로 추가
gpasswd -d newuser1 mygroup		//newuser1 사용자를 mygroup1dml 사용자에서 제거

 

 

 

파일과 디렉터리의 소유와 허가권

 

 

 

파일 유형

d 디렉터리
- 파일
b 블록 디바이스
ex) 하드디스크, CD/DVD 등 저장장치
c 문자 디바이스
ex) 마우스, 키보드 등 입출력 장치
l 링크파일
p 파이프 파일
특정 프로그램의 출력을 다른 파일의 입력으로 사용하는 파일
s 소켓파일
네트워크 입출력을 담당하는 API
특정 컴퓨터 사이의 정보를 전달하는통로 역할

 

 

파일/디렉터리 권한

명령어 chmod : 파일이나 디렉터리의 접근 허가권을 변경하는 명령어 

 

허가권을 숫자로 표시

r : Read 읽기

w : Write 쓰기

x : excute 실행

 

ex) 파일 허가권 754

-> rwxr--xr-- : 소유자는 읽기/쓰기/실행 가능, 그룹은 읽기/실행 가능, 그 외 사용자는 읽기 가능

 

 

 

 

umask

- 명령어 umask는 디폴트 권한 값을 변경

- 새로 생성되는 파일이나 디렉터리의 기본 허가권 값을 지정

- 파일의 기본 권한 666, 디렉터리의 기본 권한 777

 

ex1) umask가 0022인 경우 생성되는 파일과 디렉터리의 기본권한

   0666              0777

- 0022          -  0022 

--------         --------

   0644              0755

 

ex2) umask가 0755인 경우 생성되는 파일과 디렉터리의 기본권한

   0666              0777

-  0755           -  0755 

--------         --------

    ????                0022

*** 첫번째 계산의 경우 umask 값에 보수를 취한 다음에 AND 연산으로 권한 설정

   000 000 010 Umask ( 1의 보수 )

& 110   110   110  파일권한

-------------------------

    000 000 010   (--- --- -w-)

 

 

 

chmod

ex) chmod g+w aaa

그룹에게 쓰기 권한을 더함

 

 

 

chown/chgrp

파일을 소유한 사용자/그룹

#chown ktds aaa 		//파일의 소유자 변경
#chown ktds.ubuntu aaa 		// 파일의 소유자와 그룹 변경
#chgrp  ubuntu aaa		//파일의 소유 그룹 변경

 

 

 

특수 권한 (권한 상승)

- 특수한 용도의 SetUID, SetGID, Stiky가 있음

- 프로세스가 실행되는 동안 해당 프로세스의 root 권한을 임시 가져오는 기능

- 프로세스가 사용자 보다 높은 수준의 접근을 요구할 때 사용

*** 특수 권한 표시와 x 권한 표시 자리는 동일함

x 권한이 있는지 여부는 s,S로 구분

 

*** 4000대 --> user에 특수권한

*** 2000대 --> group에 특수권한

*** 1000대 --> other에 특수권한

 

ex) rwS hong : rw- + 특수권한

rws hong : rwx + 특수권한

 

 

 

링크

파일의 링크에는 하드 링크와 심볼릭 링크(또는 Soft Link) 두 가지가 있음

하드 링크 : 원본 파일 데이터를 그대로 사용

-> 원본 파일과 하드 링크의  inode와 데이터 크기가 동일

-> 디렉터리에서 원본 파일이 없어져도 문제가 없음

 

소프트 링크 : 원본 파일에 포인터를 지정 (바로가기 개념)

-> 원본 파일과 하드 링크의  inode와 데이터 크기가 다름

-> 디렉터리에서 원본 파일이 없어지면 연결이 끊어짐

 

 

패키지 설치 dpkg

dpkg(Debian Package)

- Windows의 "setup.exe"와 비슷한 설치 파일

- 확장명은 *.deb이며, 이를 패키지(Package)라고 부름

 

패키지이름_버전-개정번호_아키텍처.deb

패키지이름 : galculator -> 패키지(프로그램)의 이름

버전 : 2.1.4 -> 대개 3자리수로 구성. 주버전, 부버전, 패치버전

개정번호 : 1 -> 문제점을 개선할 때마다 붙여지는 번호

아키텍처 : amd64 -> 64비트 CPU를 의미

 

 

dpkg 명령의 단점

'의존성' 문제

: A 패키지가 설치되기 위해서 B 패키지가 필요할 경우, dpkg 명령으로는 해결이 까다로움

--> 이를 해결하기 위해 apt가 등장함

 

 

댓글