'Server/Debian Linux'에 해당하는 글 34건

시스템의 이상 유무를 판단하기 위해서 가장 먼저 해야하는 것이 로그 파일 분석이다.

1. /var/log/lastlog
'lastlog' 명령어는 마지막으로 로그인한 로그 내용들을 출력한다.

# lastlog -u ggamzzak
ggamzzak         pts/0    192.168.100.12   Wed Nov 22 11:11:45 +0900 2006
- 특정 사용자 ggamzzak 의 로그인 내용


2. /var/log/messages
'syslog'와 'klogd' 데몬에 의해 커널과 시스템에 관련된 로그 메시지들이 기록되는 파일이다.


3. /var/log/wtmp
현재 시스템을 누가 사용하고 있는지에 대한 정보가 기록되어 있다.
이 파일의 내용을 보려면 'last' 명령어를 사용해야 한다.


4. /var/log/dmesg
부팅시에 보이는 커널 부팅 메시지인 출력 내용들이 모두 이 파일에 기록된다.


5. /var/log/mail.log
메일을 보내거나 받은 내용, 실패한 경우 등의 메일과 관련된 모든 내용들이 포함된다.


6. top
top 명령어는 프로세서 정보를 실시간으로 표시할 수 있는 명령어이다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,
Linux File

# ls -al
drwxrwsr-x 3 root     staff    4096 2006-11-18 15:09 ..
-rw------- 1 ggamzzak ggamzzak  478 2006-11-22 10:30 .bash_history

- d(파일종류), rwx(소유자), rws(그룹), r-x(다른 사용자)

♣ 파일종류
  • - : 일반파일
  • d : 디렉토리
  • l : 링크
  • c : 입출력 장치
  • b : 저장 장치
♣ 권한
  • r : 읽기
  • w : 쓰기
  • x : 실행
  • s : 실행하려는 명령어의 소유권자의 권한으로 실행
  • - : 없음

chmod
chmod [OPTION] MODE[,MODE] FILE...
파일의 권한을 변경한다.

♣ MODE [ugoa..][[+-=][rwx..]..][,...]
  • u : 사용자(user)
  • g : 그룹(group)
  • o : 다른 사용자(other)
  • a : 모든 사용자(all) - default
  • + : 기존 권한에 추가
  • - : 기존 권한에서 제외
  • = : 권한 재설정
  • r : 읽기
  • w : 쓰기
  • x : 실행
# chmod g+w, o-rx profile
- profile 파일의 그룹권한에 쓰기를 추가, 다른 사용자 권한에서 읽기 및 실행 제외한다.

# chmod 124 profile
- 124는 --r -x- r--와 같다.


chown
chown [OPTION] OWNER FILE...
파일의 소유권을 변경한다.

# chown -R jane:jo *

현재 디렉토리와 그 하위 디렉토리의 모든 파일에 소유자와 그룹 소유권을 jane과 jo로 바꾼다.


chgrp
chgrp [OPTION] OWNER FILE...
파일의 그룹 소유권을 변경한다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,
1. whoami
현재 로그인한 유저를 확인한다.


2. who am i
로그인한 호스트의 이름, IP 주소, 터미널 및 가상 콘솔, 로그인 시간 등을 확인한다.

$ who am i
ggamzzak pts/0        2006-11-22 11:11 (192.168.100.12)


3. id
사용자 ID, 그룹 ID, 자신이 속한 모든 그룹의 정보를 확인한다.

$ id
uid=1000(ggamzzak) gid=1000(ggamzzak) groups=20(dialout)


4. groups
사용자가 속한 그룹을 확인한다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

1. useradd
사용자 계정을 추가한다.

 

* useradd = adduser (심볼릭 링크 : /usr/sbin/adduser -> useradd )

# useradd -c hklee -e 2007-01-01 -u 521 -p qwer oops

- c (comment) : oops 계정의 간단한 설명, 보통 사용자 이름

- e (expiredate) : oops 계정을 만들고 사용 기간을 2007-01-01로 제한

- u (uid) : oops 계정의 User ID(숫자) 지정

- p (password ) : oops 계정의 패스워드 지정

 

# useradd -M -s /bin/false oops4u

- oops4u 계정을 만들고 홈디렉토리와 쉘을 사용하지 않음 (메일 계정 전용)

# useradd -f -10 ggamzzak

- ggamzzak 계정을 만들고 사용 기간을 앞으로 10일로 제한

# useradd -g group1 ggam

- ggam 계정을 만들고 group1 그룹에 포함

- G 옵션은 여러 그룹 지정 가능


2. userdel
사용자 계정을 삭제한다.

# userdel -r oops

- oops 계정을 삭제하면서, 홈 디렉토리, 메일 계정(/var/mail/, /var/spool/mail)까지 삭제한다.
- 옵션 -r 을 생략하면 사용자 계정만 삭제하며 관련 디렉토리들은 삭제하지 않는다..


3. /etc/passwd
사용자의 계정 및 암호, 프로필 정보, 홈디렉토리, 로그인 쉘 등의 정보를 저장한다.

# vi /etc/passwd

root:x:0:0:root:/root:/bin/bash
ggamzzak:x:1000:1000:ggamzzak,,,:/home/ggamzzak:/bin/bash

- 사용자계정:암호:사용자ID:그룹ID:comment:홈디렉토리:로그인쉘
- 암호 부분은 x 로 암호화 되어 있지만 * 로 수정을 하면 로그인을 할 수 없다.

# passwd <userid>
- <userid>의 패스워드를 변경할 수 있다.


4. /etc/shadow
/etc/passwd 내용의 패스워드 부분을 /etc/shadow로 옮겨서 root 만이 읽을 수 있다.
일반 패스워드를 shadow 패스워드로 바꾸려면 pwconv 명령을 사용한다.

# vi /etc/shadow

ggamzzak:$1$.IoWBcWf$HH6CjVoaiVGEGKw3AgQnS1:13470:0:99999:7:::
- 사용자계정:암호:최근변경날짜:암호변경남은날짜:유효기간:경고기간:만료후잠기는기간:만료이후날짜:사용예약
- 암호가 passwd 파일과는 달리 13자리 암호화된 문자로 저장이 되어 있다.


5. /etc/group
각 사용자들이 속한 그룹을 규정한 파일이다.
파일의 각 라인에는 그룹에 속한 사용자들이

# vi /etc/group

www-data:x:33:ggamzzak,oops
- 그룹이름:암호:그룹ID:사용자 리스트(,)


6. /etc/groupadd
그룹을 생성한다.

# groupadd -r <newgroup>
- newgroup 그룹을 생성하고, 그룹 ID 번호가 499 이하로 할당되도록 한다.
- 즉 시스템 그룹 계정에 더하게 된다.


7. groupdel
그룹을 삭제한다.


8. newgrp
여러 그룹에 포함되어 있을 경우 그룹을 전환한다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,
su
su [OPTS] [-] [username [ARGS]]

su(Substitute User)명령어는 다른 사용자 ID로 변경하여 그 사용자의 모든 환경을 그대로 사용할 수 있는 명령이다.
로그인할 다른 사용자의 계정 및 패스워드를 알고 있어야 한다.
-c 옵션을 사용하면 다른 계정으로 명령을 실행하는 것을 가능하게 한다.
명령의 실행이 끝나면 원래의 계정으로 돌아온다.

$ whoami
ggamzzak

$ su -c whoami
Password:
root

$ su -c whoami oops
oops

$ whoami
ggamzzak

su 명령어를 사용하기 위한 모든 시도는 /var/log/auth.log 에 기록된다.


su 사용자 제한
'su' 명령어를 이용하여 root 권한을 얻게 하려면 '/etc/pam.d/su' 파일을 수정한다.

# vi /etc/pam.d/su

auth           required             pam_wheel.so  group=oops

- 위 두줄을 추가하면 su로 인한 접속은 oops 그룹에 속한 사용자만이 가능하다.


sudo

시스템을 보호하기 위해서 sudo를 사용한다.
시스템을 루트계정으로 관리하는 것에 대한 보다 나은 대안으로서 sudo를 사용하라.
sudo의 장점은 로그인 할 때 일반 사용자의 패스워드만 요구하며, 활성중인 작업이 감시된다는 점으로, 이것은 쥬니어 관리자에게 약간의 권한을 줄 수 있는 좋은 방법이다.

1. sudo 설치
# apt-get install sudo

2. /etc/sudoers 에서 옵션을 설정한다.
# vi /etc/sudoers

#User privilege specification
root    ALL=(ALL) ALL
ggamzzak    ALL=(ALL) ALL
oops    ALL=(ALL) ALL
- ggamzzak, oops 사용자에게 모든 권한을 부여한다.

$ sudo -l
- 사용자에게 허용된 명령어들이 리스트화 된다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,