메뉴 건너뛰기

조회 수 2086 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

#사용자 관리

- /etc/passwd : 사용자의 정보가 들어있는 파일

-지워지면 사용자 홈 디렉터리도 그냥 디렉터리와 파일로 남음(user의 기능 X)

- /etc/skel : 사용자 계정을 구성하는 기본적인 뼈대가 들어있는 디렉터리

- /etc/group : 그룹 정보의 저장장소


#>passwd [사용자이름] : 새암호를 설정할수있다 (root일 때만 가능) 

#>su [사용자 이름] : 원하는 사용자로 변경가능 (서버자체로 접속했을 때만 가능)

#>


맨 아랫줄을 보면 구분을 : 으로 한 라인이 있다

user : x : 1000 : 1000 : user : /home/user:/bin/bash

  1     2    3        4      5             6            7


1) 사용자 이름


2) 사용자 패스워드 (사용하지 않음→pw가 지정되지 않은 것과는 다름, pw파일은 /etc/shadow파일에 있음)


3) UID( 사용자의 ID) 사용자를 부를때의 고유 숫자 (0은 root(관리자) 것이다) -> 원래 근본은 1000 user는 닉네임같은것


4) GID( group ID) : 리눅스에서는 사용자들은 그룹을 가지고있다.

만들어지는 사용자들은 그룹을 지정해주지 않으면 자기 자신의 이름과 같은 그룹을 가지고있다.


레드헷 계열에서는 (사용자 생성시 따로 지정되는게 없으면 UID, GID는 1000번부터 시작)


5) Comment : 비고, 주석같이 사용되는 메모


6) 사용자의 홈 디렉터리


7) 사용자 쉘 : 사용자가 사용하는 쉘을 나타냄

 (예전에는 각각의 기능마다 특화된 쉘이 있었지만 지금은 거의다 bash를 사용, ex) csh, ksh ---)



#사용자가 만들어질 떄 생성되는 파일들 /etc/skel


root /home 에 보면 파일들이 사용자가 생성될 때 자동으로 생성되는 숨김파일 들이 있다.


user /home을 한번 지웠었다


그래서 그런지 -bash-4.2$ 로 프롬프트 창이 변했다...


따라서 /etc/skel에 사용자 생성시 자동으로 들어가는 파일 전체를 복사한다



cp /etc/skel/.* /home/user



3개 디렉터리 . .. .mozilla는 디렉터리들마다 고유 파일이기에 옮길 필요가 없고

skel안의 파일들이 .file 즉 .으로 시작하는 숨김파일이므로 옮길때 .*(와일드카드앞에 .을 붙여준다)


옮겨준뒤 사용자 재로그인을 하면 원래 모양으로 돌아온다



#사용자 만들기

root로 접속 후 #>vi /etc/passwd 

맨 아래줄에 입력을 시작한다


user01:x:1001:1001:user01:/home/user01:/bin/bash 입력후 ESC > :wq


#>passwd user01 : 새로만든 사용자 user01의 패스워드를 지정한다



ctrl + alt + F2로 터미널을 바꾼 후 user01로 접속해본다


passwd파일에 user01을 등록해놨기에 접속은 됬지만 아까 user와 같은 현상으로 커멘드가 -bash-4.2$ 로 되어있다.


이때 몇가지 오류가 발생한다 > 오류를 해결하기 위해서 다시 첫번째 터미널(ctrl + alt + F1)로 이동해서 root로 접속한다.

1) 사용자의 홈디렉터리 생성

#> mkdir /home/user01


2) 사용자의 뼈대 생성( skel폴더 복사)

#> cp /etc/skel/.* /home/user01



3) 사용자(user01)의 그룹 1001 지정

#> vi /etc/group : 그룹을 관리하는 파일을 vi편집기로 연다



맨아랫줄에 추가 user01:x:1001: > ESC > :wq


다시 터미널을 바꿔서 user01로 로그인해보면 오류가 사라져있다.


자 그럼 명령어를 아무리 아무리!!!!! 쳐도 명령어를 실행하지 않는다


이유는 권한이 없기 때문이다 > 아주 중요한 부분이다. 권한설정을 잘해줘야 보안에 첫걸음을 디딘것이다.

root로 돌아가서 권한설정을 해준다 > /home 파일의 주인을 설정해주면 된다


~ #> cd /home && ls -l


#> chown user01. /home/user01


#> ls -l


소유자가 user01로 변경되어 이제 user01사용자가 user01 home디렉터리의 주인이 되었다


다시 user01 터미널로 돌아가서 명령어를 쳐보면 된.다.



#사용자 생성2 : 위에 방법들이 너무 힘들었다 ...

#>useradd [생성될 유저 이름] : 위에 과정들을 명령어 하나로 만들어준다.


#>useradd test01 && passwd test01

#> tail -3 /etc/passwd && ls -l /home/


권한또한 해결 되어있는 것을 볼 수 있다.

default 값으로 모든 값들을 지정해서 만들어 주는데 옵션에 따라 지정이 가능하다


[명령어 : useradd의 옵션]

-u <uid_number>    UID 지정    #>useradd -u 1100 test02


-g <gid_number>    GID 지정    #>useradd -g 1002 test03        그룹 확인 #> tail -4 /etc/group

                   

>>test03의 그룹 1002는 먼저 생성한 user02의 그룹과 동일하기에 따로 그룹이 생성되지 않았다


-c <command> : comment 지정    #>useradd -c "linux user test04" test04


-d <homedir_path>    홈디렉터리 지정    >    default값으로 path가 /home 아래로 들어가기에 보안에 취약하다

1) /(최상위경로에) linux폴더 생성 > -d 옵션을 사용해서 유저생성



이렇게 사용해 주시면 됩니다.


옵션을 여러개 사용할 수 도있지만 귀찮고 변경하는경우에도 직접접근의 필요성으로 사용자를 수동으로 만들어 지는것을 연습해 봤습니다.



#useradd 기본값 #vi /etc/default/useradd

파일을 열었을 때 라인앞에 #이 붙어있으면 그 라인은 주석처리가 된다.



GROUP = 그룹

HOME = 홈 디렉터리

SHELL = 쉘 번역기 디렉터리

SKEL = useradd를 만들었을 때 같이 만들어지는 디렉터리(뼈대)

CREATE_MAIL_SPOOL = 유저간의 메일함 만들기


#ls -l /var/spool/mail

mail...함 ?? mail함은 유저들간의 정보를 주고받을 수 있는 디렉터리이다.

value를 yes로 해놓으면 자동으로 생성되나, user을 직접만든경우 메일함이 필요한 경우 직접 만들어야 한다.

--> but 로그인시 메일함이 자동으로 만들어진다.

자동으로 만들어진 메일함의 디렉터리 이름은 유저이름과 동일하다




@useradd 의 기본값 file을 통해서 user들이 생성되니깐 기본값을 바꾸는 옵션도 있을겁니다.

#>useradd -D -b <path>  : -D의 -b옵션 : home디렉터리 경로를 path경로로 바꾼다


home 디렉터리의 경로를 바꾸었으니 이제부터 생성되는 유저들은 /linux폴더에서 생성됩니다.


#useradd defaul option -D

-b :   home

-s :    shell

-g :   group

-f :    inactive

-e :    expire


skel, mail함같은 경우 옵션이 없기에 vi편집기를 이용해서 직접편집해주어야 한다. 

#>userdel test01 : test01사용자 삭제 ..


passwd와 group만 삭제가 완료되고 홈 디렉터리와 메일함은 남아있네요.


이때 옵션 -r을 사용해서 디렉터리 까지 전부 삭제시켜줍니다. #> userdel -r guest



이때 gid는 기본 값일때만 삭제됩니다.


예를 들어 2명의 사용자가 그룹을 사용중일때 한 사용자가 사라진다면 그룹이 사라 지지 않는다는것을 볼 수 있습니다.






List of Articles
번호 제목 날짜 조회 수
37 웹로직 + 아파치 연동 2017.04.13 8784
36 포그라운드, 백그라운드, nohup 정리 2017.04.18 9116
35 & 실행과 nohup 실행 2017.04.18 7971
34 웹로직 서버 시작 및 종료 스크립트 2017.04.28 8553
33 리눅스서버 모니터링 rstatd 설치 2017.04.28 27439
32 하루동안 실행된 쿼리 중 수행시간이 가장 긴 조회 쿼리 100개 2017.04.28 8123
31 bitnami Redmine stack 업그레이드기 (1.2.x -> 2.0.x) 2017.07.05 6945
30 웹서버(Nginx+FastCGI PHP)구축 및 성능 시험 2017.09.20 5643
29 php_fpm 관련 자료 2017.09.20 5395
28 user 계정관리 (useradd, userdel, groupadd, groupdel, usermod etc..) file 2017.11.22 5420
27 rdate명령어 사용법과 옵션 file 2017.11.22 6405
26 [CentOS 7] SSH 무작위 로그인 시도 막기 ( Fail2Ban ) 2018.03.28 70260
» 사용자 관리, 사용자 생성 file 2018.09.21 2086
24 메인 도메인으로 이동하기 2018.09.28 2199
23 apache2 트래픽 모듈 mod_cband 사용법 2019.02.14 1282
22 이미지 및 파일 무단링크 방지책 2019.02.14 1216
21 Apache 동시접속자수 확인 2019.02.14 2039
20 php_screw를 이용한 php 소스 암호화 하기 2019.02.14 1515
19 리눅스 vsftpd 500 OOPS 에러 (CENTOS 7) file 2020.03.04 385
18 CentOS 7에 Owncloud 10 설치 file 2020.12.21 3639
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 Next
/ 12

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved