3-1. BASIC
        1) 기본 명령어  
        2) 그룹과 유저, 권한 
        3) 환경변수



2) 유저와 권한

OS상의 유저를 생성 및 관리하고, 파일/폴더 별 권한을 확인하고 변경할 수 있어야 한다.

유저 확인
시스템 설정 상태파일이 저장된 /etc 디렉토리(linux 디렉토리 구조 참고)의 passwd 파일을 보면 시스템상에 생성되어있는 유저의 정보를 확인할 수 있다.
$ cat /etc/passwd
내용 일부..
sunje:x:1001:1001::/home/sunje:/bin/bash
heni:x:1002:1002::/heni/data/:/bin/bash
mssql:x:1003:1003::/home/mssql:/bin/bash

사용자계정:패스워드(보안):사용자UID:그룹UID:계정정보(보통사용자이름):홈디렉토리:기본쉘

유저 생성 및 패스워드 설정
$ adduser heni
그룹 미지정 시 유저와 동일 이름으로 그룹이 생성되어, heni그룹의 heni유저로 생성된다. (그룹부여 옵션 -G)
CentOS은 기본적으로 유저의 홈 디렉토리가 생성되지만, Ubuntu의 경우 -m 옵션으로 홈디렉토리의 경로를 부여해야한다.

$ passwd heni
heni 계정의 패스워드 설정

유저 삭제
$ userdel -r heni 
-r 옵션 부여시, 홈디렉토리까지 삭제된다


권한
파일이나 디렉토리를 누가 볼 수 있으며 누가 새로운 내용을 기록할 수 있으며 또 실행할 수 있는지 설정한다.
리눅스에서는 개별 파일 별로 권한을 설정할 수 있다. 권한이 없는 사용자가 특정 파일이나 디렉토리에 접근하면 "Permission denied"라는 메시지가 뜨면서 사용자의 행동을 차단한다. 
데이터베이스 관리 용 유저를 생성하여 설치를 하였어도, 권한을 제대로 설정하지 않으면 다른 유저가 DB에 접근할 수 없다.

쉘에서 ls -al을 수행하여 가장 첫부분에 나오는 drwxr-xr-x 등의 형태를 확인하면 된다.
맨 앞의 알파벳은 디렉토리인지(d) 일반파일인지(-) 링크인지(l) 여부이고, 뒤의 9자리수가 해당 폴더/파일의 권한을 표시하는 것 이다.
r은 read, w는 write, x는 excute이다.


rwxr-xr-x를 한국말로 풀어보면 소유자는 읽기/쓰기/실행 권한이 있고, 그룹에 속한 사용자들은 읽기/실행, 이외 모든 사용자들은 읽기/실행 권한이 있다는 뜻이다.
소유자와 그룹은 ls -al 시 세번째,네번째 필드로 확인 가능하다.

[chmod]
파일이나 폴더의 권한을 변경하기 위한 명령어는 chmod이다. 
chmod a+r x.sql 의 식으로 사용할 수 있고, chmod 755 x.sql 의 식으로 사용할 수도 있다.

먼저 a+r형태
- u는 사용자, g는 그룹, o는 다른사용자, a는 전부
- (+) 또는 (-)로 권한을 추가하거나 뺄 수 있음
chmod u+x file.txt
소유자에게 실행권한을 부여한다.

chmod g+rwx file.txt
그룹에 읽기, 쓰기, 실행 권한을 준다.

chmod go+r file.txt
그룹과 다른 사용자에게 읽기 권한을 준다.

숫자형태
위 이미지에서 확인할 수 있듯이, 각 권한별로 4/2/1의 값을 약속 해 두었다.
따라서 read 권한은 4, read+excute 권한은 5, read+write+excute 권한은 7 와 같이 값을 더하여 설정하면 된다. 권한삭제는 0이다.
chmod 000 test.c
소유자, 그룹, 다른사용자의 모든 권한을 제거한다.

chmod 777 test.c
소유자, 그룹, 다른사용자의 모든 권한을 추가한다.

chmod 700 test.c
소유자에게만 모든 권한을 준다.

chmod 744 test.c
소유자에게는 모든 권한을 주고, 그룹 및 다른 사용자에게는 읽기 권한만 준다.

[chown, chgrp]
해당 파일/폴더의 소유자와 그룹을 변경할 수 있다.
소유자 변경은 chown, 그룹 변경은 chgrp이다. 디렉토리의 경우 -R 옵션 부여 시 하위 디렉토리와 파일까지 모두 변경된다.

파일을 소유자를 user01로 변경
chown user01 a.txt

파일의 그룹을 group01로 변경
chgrp group01 a.txt
일반 사용자는 자신이 속한 그룹으로만 변경이 가능하다.

chown 명령어로 소유자와 그룹을 동시에 변경
chown group01.user01 a.txt


'IT Engineer > Linux' 카테고리의 다른 글

linux basic command 기본명령어  (0) 2019.02.13
linux 환경변수  (0) 2019.02.13
linux util, service - vi  (0) 2019.02.13
linux - telnet, nmap  (0) 2019.02.13
linux - crontab  (0) 2019.02.13

+ Recent posts