[08] passwd, shadow, group, gshadow, useradd, passwd, skel

|


- 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




And