- 2014.11.17
* 사용자(user) 추가 시 생성되는 것들 p64
1) /etc/passwd
2) /etc/shadow
3) /etc/group
4) /etc/gshadow
5) /home/ => $HOME
6) /var/spool/mail/
1. passwd : 사용자 정보파일
# tail -4 /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
samadal:x:500:500:madalgyo:/home/samadal:/bin/bash
samadal - 사용자명
: - 구분자
x - Password
500 - UID
500 - GID
madalgyo - comment, 별칭, 별명
/home/samadal - $HOME
/bin/bash - shell(명령어 해석기)
* linux shell 종류
# cat /etc/shells
/bin/sh // 최초로 개발된 쉘(bourn)본쉘, 복구 기본쉘
/bin/bash // 리눅스에서 가장 많이 사용하는 쉘, 오픈소스 기본응용 쉘
/sbin/nologin // 로그인되지 않은것, 시스템 쉘
/bin/dash // 데비안, 우분투 os 기본
/bin/tcsh // 확장C쉘, tomcat(java)화장 기능 쉘
/bin/csh // C쉘, C language 전용 기능 쉘
/bin/ksh // korn(콘)쉘, 유닉스에서 가장 많이 사용, 본쉘과 호환
2. shadow
예전엔 passwd 파일에 pw가 포함되어있었지만 보안상 shadow에 넣음
# tail -4 /etc/shadow
gdm:!!:16372::::::
sshd:!!:16372::::::
tcpdump:!!:16372::::::
samadal:$6$C1riYf4XBWlZXfcq$Kea4.kf0YnPpitJXPgC8ncwao2WhE3ccgOrt7inkXJBFqE61gRlkBIqP0N7ILgBXanh.aVmp8/NEdpo2FNAUs1:16372:0:99999:7:::
samadal - 사용자명
: - 구분자
$6$C1riYf4X.... - SHA512
16372 - 1970.1.1 기준으로의 생성 날자
0 - 패스워드 변경 가능 날짜(if 1, pw변경 후 1일 뒤에 pw변경 가능)
99999 - 패스워드 사용 가능 날짜(약 270년)
7 - 패스워드 변경 만료일
NULL - 기능정지, 기능+사용정지 기능 지정 가능
NULL - 사용 기간 설정 (~까지)
NULL - 예약만 되어있고 사용하지 않는 칸
* /etc/login.defs 에 shadow와 관련된 사항들이 적혀있다.
3. group
# tail -4 /etc/group
stapdev:x:158:
tcpdump:x:72:
slocate:x:21:
samadal:x:500:
samadal - 그룹명
: - 구분자
x - Password
500 - GID
NULL - 해당 그룹원 명단
4. gshadow
# tail /etc/gshadow
rpcuser:!::
nfsnobody:!::
gdm:!::
sshd:!::
stapusr:!::
stapsys:!::
stapdev:!::
tcpdump:!::
slocate:!::
samadal:!!::
samadal - 그룹명
: - 구분자
!! - 쓰레기값
5. home directory
# ls -l /home/ <- 아파트
합계 15
drwx------. 2 root root 12288 2014-10-30 01:51 lost+found
drwx------. 4 samadal samadal 1024 2014-11-17 12:43 samadal
집주인 동, 호수
6. mail
# ls -l /var/spool/mail/
합계 0
-rw-rw----. 1 rpc mail 0 2014-10-30 01:52 rpc
-rw-rw----. 1 samadal mail 0 2014-10-30 01:59 samadal
* /etc/skel <- 사용자 생성될 때 file이나 dir 자동으로 생성될 수 있도록 해줌
7. useradd
useradd [option] [argument] ... [user]
[in /etc/passwd]
samadal:x:500:500:madalgyo:/home/samadal:/bin/bash 사용자 지정 skel
[option] : -u -g -c -d -s -m -k
ex)
user 생성시 각 6개 항목이 제대로 만들어 졌는지 확인
# useradd user1
/etc/passwd 확인
# tail -3 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
samadal:x:500:500:madalgyo:/home/samadal:/bin/bash
user1:x:501:501::/home/user1:/bin/bash
/etc/shadow 확인
# tail -3 /etc/shadow
tcpdump:!!:16372::::::
samadal:$6$C1riYf4XBWlZXfcq$Kea4.kf0YnPpitJXPgC8ncwao2WhE3ccgOrt7inkXJBFqE61gRlkBIqP0N7ILgBXanh.aVmp8/NEdpo2FNAUs1:16372:0:99999:7:::
user1:!!:16391:0:99999:7:::
/etc/group 확인
# tail -3 /etc/group
slocate:x:21:
samadal:x:500:
user1:x:501:
/etc/gshadow 확인
# tail -3 /etc/gshadow
slocate:!::
samadal:!!::
user1:!::
/home/ 디렉터리 확인
# ll /home/
합계 16
drwx------. 2 root root 12288 2014-10-30 01:51 lost+found
drwx------. 4 samadal samadal 1024 2014-11-17 12:43 samadal
drwx------ 4 user1 user1 1024 2014-11-17 13:51 user1
/var/spool/mail 확인
# ll /var/spool/mail/
합계 0
-rw-rw----. 1 rpc mail 0 2014-10-30 01:52 rpc
-rw-rw----. 1 samadal mail 0 2014-10-30 01:59 samadal
-rw-rw---- 1 user1 mail 0 2014-11-17 13:51 user1
* passwd 명령어로 사용자 비밀번호 변경해야 해당 사용자 사용 가능
ex)
testuser 라는 별명을 지정해주고 본쉘 적용시키는 user 추가
# useradd -c testuser -s /bin/sh user2
# tail -4 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
samadal:x:500:500:madalgyo:/home/samadal:/bin/bash
user1:x:501:501::/home/user1:/bin/bash
user2:x:502:502:testuser:/home/user2:/bin/sh
# ll /home/
합계 17
drwx------. 2 root root 12288 2014-10-30 01:51 lost+found
drwx------. 4 samadal samadal 1024 2014-11-17 12:43 samadal
drwx------ 4 user1 user1 1024 2014-11-17 13:51 user1
drwx------ 4 user2 user2 1024 2014-11-17 13:56 user2
ex3)
Home directory를 /linux/gangnam 으로 주기
user3이 들어갈 아파트를 생성
# mkdir /linux/
# ls -ld /linux/
drwxr-xr-x 2 root root 4096 2014-11-17 13:57 /linux/
/linux/gangnam 이라는 동, 호수를 지정
# useradd -s /bin/tcsh -d /linux/gangnam user3
# tail -4 /etc/passwd
samadal:x:500:500:madalgyo:/home/samadal:/bin/bash
user1:x:501:501::/home/user1:/bin/bash
user2:x:502:502:testuser:/home/user2:/bin/sh
user3:x:503:503::/linux/gangnam:/bin/tcsh
# ll /home/ /linux/
/home/:
합계 17
drwx------. 2 root root 12288 2014-10-30 01:51 lost+found
drwx------. 4 samadal samadal 1024 2014-11-17 12:43 samadal
drwx------ 4 user1 user1 1024 2014-11-17 13:51 user1
drwx------ 4 user2 user2 1024 2014-11-17 13:56 user2
/linux/:
합계 4
drwx------ 4 user3 user3 4096 2014-11-17 13:59 gangnam
8. passwd
passwd : 현재 사용자의 passwd 변경 명령어
passwd user : user의 passwd 변경 명령어, 관리자는 pw 규칙 무시 가능
[문제 1]
/etc/skel/ 에 있는 모든 내용을 /etc/samskel/에 복사후
사용자 지정 skel 명령어를 이용 /etc/samskel로 user5 생성
단, 디렉터리 자체를 복사하면 안된다.
user5 생성 후 정상 로그인 되는지 확인하고
-bash-4.1 $ 이면 실패, [user5@samadal ~]$ 이 되도록 생성.
실패했을 경우 user55, user555.... 로 만드세요
오답 1)
# cp /etc/skel/* /etc/samskel/
# useradd -m -k /etc/samskel/ user5
=> -bash-4.1 & 로 뜸
오답 2)
# useradd -m -k /etc/samskel/ -s /bin/tcsh user55
=> [user55@samadal ~]$ 로 뜸
오답의 이유 : skel directory에 숨김파일도 있기 때문.
# ll -a /etc/skel/
합계 40
drwxr-xr-x. 4 root root 4096 2014-11-17 14:47 .
drwxr-xr-x. 119 root root 12288 2014-11-17 14:56 ..
-rw-r--r--. 1 root root 18 2014-10-16 22:52 .bash_logout
-rw-r--r--. 1 root root 176 2014-10-16 22:52 .bash_profile
-rw-r--r--. 1 root root 124 2014-10-16 22:52 .bashrc
drwxr-xr-x. 2 root root 4096 2010-11-12 09:54 .gnome2
-rw-r--r--. 1 root root 171 2014-10-18 07:43 .kshrc
drwxr-xr-x. 4 root root 4096 2014-10-30 01:51 .mozilla
숨김파일 및 숨김 디렉터리도 모두 복사한 후
# useradd -m -k /etc/samskel/ user555555
하면 성공. 즉 skel 디렉터리 안에 있는 숨김 녀석들도 모두 생성 해줘야 함.
[문제2]
/usertest/test(사용자)/public/(자동생성디렉토리)
생성 후 정상 로그인되는지 확인 필요
실패시 testt, testtt ,,,
# mkdir /usertest/
# mkdir /etc/skel/public/
# useradd -d /usertest/testtt testtt
# passwd testtt
'Study > CentOS' 카테고리의 다른 글
[10] userdel, groupadd, groupdel, 계정 잠그기 (0) | 2015.03.27 |
---|---|
[09] useradd -D, usermod (0) | 2015.03.27 |
[07] vi(2), 유용한 vi 명령어 메모 (0) | 2015.03.27 |
[06] 명령어 find, shutdown, vi(1) & FTP 방화벽 설정 관련(집) (0) | 2015.03.27 |
[05] alias, touch, head, tail, more, less, nl, |(파이프), cat, ftp, date, clock, cal (0) | 2015.03.27 |
- 2014.11.14 수업
1. vi
1) 라인명령모드
행번호 출력하기
:set nu = :se nu // set number
행번호 삭제
:set nonu = :se nonu // set no number
치환 명령어
:[범위]s/[old]/[new]
ex)
5번째 행 치환
:5s/passwd/samadal
20~23행 치환
:20,23/PASS/madal
문서 전체 치환
:%s/MAX/dalma
g:중복문자도 모두 치환
:56s/i/a/g
외부명령어 실행
:! [command] // 잠시 vi 멈추고 외부 명령어 실행, alias작동 안함
:.! [command] // 내 커서가 있는 곳에 결과물 입력
ex)
:!ifconfig
:.!ifconfig
화면 분할
Ctrl + n w // 수평으로 화면 분할
Ctrl + w w // 창 이동
Ctrl + w q or :q // 창 닫기
:f // 현재 편집중인 파일 정보 보여줌
:e // 문서 열어주는 기호. e! 하면 강제로 염
:w [경로] // 저장
:w >> [filename] // 결과물을 다른 파일에 추가
:nr [filename] // n라인 다음줄 밑에 [filename] 내용을 삽입
ex) :3r ./b // 3라인 다음줄에 ./b 파일 내용 삽입
:nr! [command] // n라인 다음줄에 [command] 결과물 삽입
ex) :5r! ls -d // 5라인 다음줄에 ls -d 결과물 삽입
:n(숫자) // n번째 행으로 이동
vi a b c 처럼 동시에 여러개의 창을 띄웠을 경우
:n // 다음 파일 보기
:N // 이전 파일 보기
:args // 내가 열어놓은 파일 목록 보기
:nn // n번째 뒤 파일 보기
ex):3n // 3번째 뒤 파일 보기
vi 내에서 복사
5,12 co 2 // 5~12 줄을 2번째 밑에 복사. 이동은 co -> m
[문제]
/home/samadal/ 에 있는 모든 파일 삭제
:!rm ./*
20번째 라인 밑에 자세한 출력내용(samadal 디렉터리에 있는 모든 파일들(a, b, c, d, e))을 삽입
:!touch ./a ./b ./c ./d ./e
파일 안에 있는 내용 변경 : etc(madal), rc(sam)
:%s/etc/madal/g
:%s/rc/sam/g
5~12번째 라인을 2번째 라인 밑에 복사
:5 8yy :2 p or :5,12 co 2
지금까지 작업한 모든 내용을 /test/sam.test 파일로 저장
:!mkdir /test/
:w /test/sam.test
/home/.sam.test 파일로 저장
:w /home/.sam.test
/backup/madal 파일로 저장
:w /backup/madal
빈문서 파일을 연 후 /backup/madal 파일 열기
:enew!
:e /backup/madal
2014.02.04 추가
유용한 vi명령어 (출처 : http://koreahojin.egloos.com/512216)
삽입
I: 줄의 제일 앞에서 입력
A: 줄의 제일 끝에서 입력
콤보 command
4w: 4단어 skip후 이동
4b: 4단어 skip후 이동
4j,h,k,l: 커서이동시 지정한 수만큼 건너뛰므로 이동을 좀 더 빨리 할 수 있다.
줄의 결합(J)
2줄이 있고, 2째줄을 1째줄 끝에 붙이고 싶다면, 1째줄에서 J를 입력하면 된다.
커서이동
0: 줄의 처음
^: 줄의 처음(글자가 시작되는 처음)
$: 줄의 끝
w: 단어단위 이동
e: w와 같으나 단어의 끝으로 이동
b: w의 반대방향으로 이동
H, M, L: 커서를 화면 상,중,하로 이동
검색(/후 검색할 단어입력)
n: 뒤로 검색
N: 앞으로 검색
매크로
ab aa aaaa: aa를 입력하면 aaaa로 자동변환
치환
s/pattern/replace: 현재줄의 첫번째 matching pattern치환
s/pattern/replace/g: 현재줄의 모든 matching pattern치환
%s/pattern/replace/g: 모든 줄의 치환
line,lines/pattern/replace: 해당 범위의 치환
저장
w>> file: 지정한 파일에 추가
윈도 split
vi내에서 위아래로 윈도가 분활되면서 2개의 파일을 동시에 open/편집할 수 있다.
ex-mode(:프롬프트상태)에서 'sp 파일이름'
윈도우가 전환은 Ctrl+ww
기타
1). d의 경우 command모드로 계속 남아 있으나 c는 삭제후 insert모드로 변환한다.
cc, c$, cw등은 유용하게 사용될 수 있다.
2) .은 마지막 명령을 되풀이한다.
visual모드
윈도의 텍스트 에디터와 같이 선택부분이 반전되면서 복사,삭제등을 할 수 있다.
v로 visual모드로 집입하여 커서키를 사용해 원하는 부분을 선택한다.
복사는 y, 삭제/잘라내기는 d로 할 수 있다.
vi설정(vim설정)
자신의 홈디렉토리에 .vimrc를 생성하고 다음과 같이 할 수 있다.
set ai
set ts=4
set nu
각각 auto-indent, tab stop, numbering
윈도에서 작업중 vi에 붙여넣기시 계단현상발생 방지
:set paste
위치기억(UltraEdit의 ALT-F2, F2와 동일한 기능)
m{a-z}: 현재위치를 {a-z}로 북마크함
`{a-z}: 기억해둔 {a-z}로 이동. 보통 한개만 등록했다면 그냥 ``를 사용하면 된다.
레코딩
설정파일의 주석추가/삭제시 유용하게 사용할 수 있다.(이미 vi에 매크로기능이 있지만, 레코딩이
UltraEdit의 매크로기능과 유사하다.)
q{a-z}: {a-z}로 레코딩 시작. {a-z}만 가능한게 아니고 실제 {0-9a-zA-Z"}를 적기 번거로워 이렇게
표시만 한 것이다.
q: 레코딩 종료
@{a-z}: 레코딩 내용 적용(@@를 하면 바로 이전의 레코딩내용을 적용, N@@은 N으로 지정한
숫자만큼 적용)
'Study > CentOS' 카테고리의 다른 글
[09] useradd -D, usermod (0) | 2015.03.27 |
---|---|
[08] passwd, shadow, group, gshadow, useradd, passwd, skel (0) | 2015.03.27 |
[06] 명령어 find, shutdown, vi(1) & FTP 방화벽 설정 관련(집) (0) | 2015.03.27 |
[05] alias, touch, head, tail, more, less, nl, |(파이프), cat, ftp, date, clock, cal (0) | 2015.03.27 |
[04] cp, mv, mkdir, rmdir, rm (0) | 2015.03.27 |
- 2014.11.13 수업
1. find
find [경로] [-옵션] [이름]
[경로] -name [이름] : 이름 검색
[경로] -newer [이름] : 이름의 파일 이후에 수정, 변경한 것 검색
-> touch 명령어와 함께 사용하면 효과적
* 추가 옵션
-exec rm{} \; : 찾아서 삭제하라는 추가 옵션
-type f : 파일 타입 검색하라는 추가 옵션
-type d : 디렉터리 타입 검색하라는 추가 옵션
ex)
# ll
합계 1
-rw-r--r-- 1 root root 0 2014-11-13 12:50 inittab
-rw-r--r-- 1 root root 884 2014-11-13 12:45 test
최근파일 검색
# find /home/ -newer test
/home/samadal
/home/samadal/inittab
검색하여 삭제
# find . -name "test*" -exec rm {} \;
# ll
합계 0
-rw-r--r-- 1 root root 0 2014-11-13 12:50 inittab
파일 타입 검색
# find / -name samadal -type f
/var/spool/mail/samadal
디렉터리 타입 검색
# find / -name samadal -type d
/home/samadal
[연습문제] p14
1) /down/ directory 생성
2) /down/ 에 test1, test2 생성
3) /down/ 에 test1, test2 를 /tmp에 각각 test3, test4로 복사
4) /down/test/ directory 생성
5) /down/test/ directory를 /tmp 로 이동
6) find 명령어를 통해 파일명 앞부분에 "test"문자열이 섞인 파일을 검색하면서 삭제
(단, /tmp/와 /down/ 만 부분검색 하고 명령어는 한줄로)
# mkdir /down
# touch /down/test1 /down/test2
# ll /down
합계 0
-rw-r--r-- 1 root root 0 2014-11-13 13:01 test1
-rw-r--r-- 1 root root 0 2014-11-13 13:01 test2
# cp /down/test1 /tmp/test3
# cp /down/test2 /tmp/test4
# mkdir /down/test
# mv /down/test/ /tmp
부분 검색, 파일만 검색, 삭제 진행.
(사실 rm 은 파일만 지우기 때문에 구지 -type f 필요 없음)
# find /tmp /down -name "test*" -type f -exec rm {} \;
2. shutdown
시스템 종료
shutdown -h now = init 0 = halt = poweroff
시스템 재시작
shutdown -r now = init 6 = reboot
ex)
10분 뒤 종료
# shutdown -h +10
Broadcast message from root@samadal.madalgyo
(/dev/pts/0) at 13:24 ...
The system is going down for halt in 10 minutes!
Ctro+c 눌러서 취소. shutdown -c 로도 가능.
^Cshutdown: Shutdown cancelled
shutdown 명령어를 실행할 구체적인 시간 설정
# shutdown -r 13:30
Broadcast message from root@samadal.madalgyo
(/dev/pts/0) at 13:26 ...
The system is going down for reboot in 4 minutes!
3. vi
vi [파일명]
1) 라인명령모드
명령모드에서 :, /, ? 로 접근하게 되는 모드.
:q 종료
:q! 강제종료
/ 글자 검색(위->아래)
? 글자 검색(아래->위)
2) 명령모드
기본 모드. 여러 명령어 옵션 실행 가능
h : 왼
j : 아래
k : 위
l : 오른
w : 단어의 처음, 왼->오, 공간 인식, 특수기호 인식 // forward
b : 단어의 처음, 오->왼, 공간 인식, 특수기호 인식 // back
W : 단어의 처음, 왼->오, 공간인식
B : 단어의 처음, 오->왼, 공간인식
e : 단어의 끝, 왼->오, 공간인식, 특수기호 인식 // end
E : 단어의 끝, 왼->오, 공간인식 // 각각의 대문자는 특수기호 인식 하지 않고 넘어간다.
^, 0 : HOME
$ : END
gg, [[ : 문서의 제일 처음으로 이동
G, ]] : 문서의 제일 마지막으로 이동
H : 화면의 처음 (Head)
M : 화면의 중간 (Middle)
L : 화면의 마지막 (taiL)
책갈피
m + a~z : 지정
A~Z
` + a~z : 이동 (쉬프트 안누른 ~)
+ A~Z
`` : 마지막 위치 이동
x : delete -> backspace
X : backspace (no delete)
dd : 행 삭제
숫자 + dd : 숫자 행만큼 삭제
u : 되돌리기
Ctrl + r : 앞으로
v : visual mode, 블럭지정
3) 입력(INSERT)모드
키보드로 내용물을 직접 입력하는 모드. 명령모드에서 아래들의 특정 키를 눌러 모드 진입 가능.
i : 커서 앞에서 입력
I : 맨 앞 행에서 입력
a : 커서 뒤에서 입력
A : 맨 뒤 행에서 입력
o : 커서 아래쪽에 행 삽입하여 입력
O : 커서 위쪽에 행 삽입하여 입력
s : 커서 내용 삭제한 뒤 커서 앞에서 입력
S : 행 삭제한 뒤 입력
r : 커서 내용 변경(한글자)
R : 수정 모드로 변경(한글의 insert)
4) 응용
커서 뒤에 모두 지우기 : d + $, D, n + x
커서 앞에 모두 지우기 : n + X, d + ^ , d + 0
단어지우기 : d + e, d + w
단어 복사하기 : y + e, y + w
* 집에서 FTP 사용하는 방법(방화벽 허용)
방화벽 - 허용되는 프로그램 - 다른프로그램 허용 - 찾아보기
- windows - system32 - ftp.exe - 열기 - 추가 - 목록 중 개인, 공용 추가 하기
'Study > CentOS' 카테고리의 다른 글
[08] passwd, shadow, group, gshadow, useradd, passwd, skel (0) | 2015.03.27 |
---|---|
[07] vi(2), 유용한 vi 명령어 메모 (0) | 2015.03.27 |
[05] alias, touch, head, tail, more, less, nl, |(파이프), cat, ftp, date, clock, cal (0) | 2015.03.27 |
[04] cp, mv, mkdir, rmdir, rm (0) | 2015.03.27 |
[03] Linux 명령어 구조, 절대경로vs상대경로, pwd, cd, ls, clear (0) | 2015.03.27 |