리눅스 기본 명령어에 대해 알아보겠습니다.
리눅스는 운영체제 중에 하나인데, 운영체제란 쉽게 말해 컴퓨터와 사용자간 매개체 역할을 하는 시스템 소프트웨어 입니다.
쉽게말해, 사용자가 프로그램을 사용할 수 있도록 하는 것입니다.
운영체제라 하면 흔히 알고계시는 윈도우가 있죠, 그외에도 사용환경에 따라 다양한 운영체제가 존재합니다.
서버, 데스크톱운영체제에는 유닉스, 리눅스, 윈도우, Mac OS X 등이 있고 모바일운영체제에는 안드로이드, ios등이 있습니다.
여기서 알아볼것은 리눅스 인데요. 역사를 대강 말씀드리면, 앤드루 스튜어트 타넨바움교수가 운영체제 디자인을 가르치기 위해 만든 교육용 유닉스 미닉스(Minix)
를 개발하였습니다. 1991년 리누스 토발즈가 미닉스를 접하고 기능에 만족하지 못해 만든것이 리눅스입니다. 포직스에 호환되는 운영체제 커널이였고, 이후
많은 개발자와 전문가의 도움을 받아 개발을 진행하게 되었습니다.
리눅스는 커널 소스가 공개되어 있어 누구나 커널을 수정할 수 있는것이 특징인데요. 이 오픈소스특징으로 인하여 엄청난 속도로 개발되었고 여러 방면에서도
적용할 수 있게 된것 같습니다. 여기서 커널은 사람으로치면 뇌에 해당하는데 주 역할은 시스템하드웨어의 제어입니다. 스케쥴링과 프로그램관리, 자료관리 등을
수행하는 것입니다. 이게 계속 쓰다보면 끝이 없을거 같아서 바로 기본 명령어로 넘어가겠습니다.. 추가적으로 올릴 자료는 추가적으로 올리겠습니다..
**사용자 계정에 관한 명렁어부터 하겠습니다. 순서는 약간 뒤죽박죽일 수 있으니 양해 부탁드립니다.. 리눅스예시실행환경은 칼리리눅스2 버전입니다.(데비안)
1. useradd
대충해석하면 나오는데로 사용자 를 생성하는 명령어 입니다. adduser라고 입력해도 같습니다.
사용법
useradd [option] 사용자
옵 션 |
의 미 |
-c |
사용자에 대한 설명을 지정한다. |
-d |
홈 디렉터리를 지정할떄 쓰인다. |
-e |
계정의 만기일을 YYYY-MM-DD 형식으로 지정한다. |
-f |
패스워드 만기일을 날짜수로 지정한다. |
-g |
그룹을 지정한다, 지정할 그룹이 생성되있어야함. |
-G |
기본그룹외에 추가 그룹에 속하게 한다. |
-k |
/etc/skel에 환경파일이 기본적으로 제공되는데 여기 말고 다른 디렉터리를 지정할때 쓰임 |
-m |
사용자를 생성할 때 홈 디렉터리를 생성해줌 |
-p |
암호를 추가시에 지정할 수 있다. |
-s |
사용할 셸을 지정한다. |
-u |
UID값을 지정한다. |
밑에 그림처럼 사용하시고 tail명령어로 조회해보실 수 있습니다. 옵션사용은 일단 저런게 있구나하시면 될거 같습니다. 디렉터리 만드는 명령어도 없고 아직 처음이라..(사실 adduser로 만드는게 더 편합니다.. 같은 사용자 만들기지만 기본설정을 다해주기때문에..)
2. passwd
등록된 사용자 암호지정 또는 변경 명령어 입니다. 추가적으로 몇몇 계정 설정도 가능합니다.
사용법
passwd 사용자
계정생성후에 암호를 지정하지 않고 로그인하면 안되니 참고하시고 아무것도 없이 passwd만 입력하면 현사용자의 암호 변경입니다.
아래처럼 명령어 입력후 변경 또는 추가하실 암호를 2번 입력하시면 됩니다.
계정설정 사용법입니다.
passwd [option] 사용자
옵션 |
의 미 |
-d |
사용자 패스워드 제거, 패스워드 없이 로그인 가능 |
-e |
다음 로그인시에 반드시 패스워드를 변경하도록 설정 |
-i |
패스워드 기간이 만료되고나서 로그인 불가능 해지기 전까지의 기간 설정 |
-l |
패스워드에 잠금을 걸어 로그인을 막음 |
-n |
패스워드 변경 시 최소로사용해야되는 날짜수, 최소날짜가 지나면 패스워드 변경 가능 |
-S |
패스워드 정보 |
-u |
패스워드 잠금 해제 |
-w |
패스워드 만료전 경고날짜지정 |
-x |
패스워드 유효기간 설정 |
예시 입니다. -S명령어로 정보 확인입니다. 첫번째필드부터 순서대로 설명하면,
1. 사용자명
2. 패스워드 상태 (P:정상, NP:패스워드 없음, L:패스워드 잠김)
3. 패스워드 최근변경 날짜
4. 패스워드 변경 후 최소 유지일
5. 패스워드 만기일
6. 패스워드 만기전 경고일(해당 예시에서는 만기 3일전에 경고합니다.)
7. 패스워드 만기 후 계정사용 불가능 까지의 유효기간.(해당 예시에서는 만기일 5일뒤로 계정사용 불능)
옵션사용이랑 정보랑 비교해서 보시면 좋을거 같습니다.
3. su
다음은 사용자전환 명령어인 su입니다. substitute user의 약어인데 뜻은 대리 유저입니다. 해석하면 로그인되어 있는 상태에서 다른 사용자권한으로 shell을 실행
할 수 있도록 전환하는 것입니다.
사용법
su [option] [사용자]
옵션은 -, -l정도만 설명하겠습니다.
-,-l : 원래 su를 옵션없이 수행하면 현 로그인된 사용자 환경변수값을 가지고 다른사람의 권한만 갖습니다. 이 옵션은 --login으로서 실제 로그인한것처럼 shell을
이용할 수 있습니다.
이런식으로 변경하시면 됩니다. 참고로 root계정에서 다른사용자 전환은 암호를 입력안하셔도 됩니다. root는 관리자 이기 때문에..
4. usermod
사용법
usermod [option] 사용자
사용자계정을 관리하는 명령어 입니다. 사용자의 대부분의 정보를 변경할 수 있습니다.
옵션 |
의 미 |
-a |
G옵션과 같이 사용해야함, 기존 2차그룹외에 추가로 2차그룹을 지정할때 쓰임. |
-c |
사용자의 간단한 정보를 입력 또는 변경. |
-d |
홈 디렉터리를 변경함, 변경할 디렉터리는 미리 생성되어야함. |
-e |
계정만기일을 변경한다. |
-f |
패스워드 만기일이 지난 후 패스워드의 유예기간을 지정. |
-g |
사용자 그룹 변경 |
-G |
2차그룹 지정 |
-l |
사용자 아이디 변경 |
-L |
패스워드에 lock을 걸어 로그인막음 |
-m |
홈 디렉터리 변경시 기존에 사용하던 파일을 옮겨주는 옵션으로 -d와 같이 쓰임 |
-p |
암호화된 패스워드 값을 변경할 떄 씀, 암호화된값을 지정해서 써야함(/etc/shadow의 두번째) |
-s |
셸을 변경 |
-u |
UID값 변경 |
-U |
패스워드에 걸린 lock을 푼다. |
다른거는 디렉터리, 그룹등등이 연관되있어서 다음에 자세히 해보기로 하고, 사용자 잠금 및 해제 하는 명령어로 예시를 해봤습니다.
이처럼 -L으로 잠금해서 사용자가 접근하지 못하게 할 수 있고 -U명령으로 해제할 수 있습니다. 참고로 root는 -L해놔도 걍 들어갑니다.. root니까..
5. userdel
다음은 delete.. 사용자 계정 삭제 명령입니다.
사용법
userdel [option] 사용자
옵션은 1개만 적겠습니다..
-r : 사용자의 홈 디렉터리 및 메일 관련 파일까지 다 삭제(--remove)
굳이 저옵션이 있는이유는 그냥 userdel만하면 홈디렉터리 및 메일관련 파일이 삭제가 안되서 겠죠?참고하시기 바랍니다.
보시다 시피 일반사용자에서는 삭제가 안됩니다.. root에서 해야하죠.. 추가랑 삭제는 root에서 다시 root로 가보겠습니다.
한가지 더 추가하면 삭제하려는 계정에서 프로세스가 실행중이면 삭제가 안되네요.. kill명령어를 사용하여 프로세스를 죽이고 제거하니 되었습니다.
6. chage
이 명령어는 passwd와 비슷하게 패스워드정보출력 및 설정입니다.
사용법
chage [option] 사용자
옵션 |
의 미 |
-d |
/etc/shadow 3번째 필드 값을 바꿈.(최근 패스워드 바꾼날에서 1970/1/1 뺀 날짜수) |
-E |
계정 만기되는 날 지정(MM/DD/YY or YYYY-MM-DD) |
-I |
사용자의 패스워드 정보 보여줌(--list)____(소문자 L) |
-l |
패스워드 사용기간 만료후 로그인 불가능 까지의 기간(대문자i) |
-m |
패스워드 변경 후 최소 사용날짜 |
-M |
패스워드 만기일 |
-W |
패스워드 만기전 경고날짜 지정. |
사용법이 passwd와 매우 유사하기 때문에 예시는 따로 하지 않겠습니다. 다른점은 shadow필드값 바뀐다는거?, 날짜로 지정해서 한다는거? 정도..
편한거 사용하시면 됩니다.
대강 사용자계정에 관한 명령어를 적어보았습니다. 예전에 공부했던건데 가물가물해서 적다보니 뒤죽박죽 적은거 같네요..
암튼 사용자계정관리는 개인한테는 별로 필요없을지 몰라도 서버급으로가면 필요한 기능입니다. 보안에도 필요한 측면이 있고요 로그인 잠금이라던지..
사용자 계정명령어는 이정도로 하겠습니다.
'Linux' 카테고리의 다른 글
6. Linux 기본 명령어(파일관련 ls, mv, cp, rm, touch, file, find) (0) | 2016.11.08 |
---|---|
5. Linux 기본 명령어(디렉터리 : pwd, cd, mkdir, rmdir) (0) | 2016.11.05 |
4. Linux 기본 명령어(그룹관련 groupadd, gpasswd, nwegrp, groupmod, groupdel) (0) | 2016.10.27 |
3. Linux 기본 명령어(사용자관련 who,whoami, w,users,logname, id, groups) (0) | 2016.10.27 |
2. Linux 기본 명령어(사용자 파일) (0) | 2016.10.27 |
댓글