본문 바로가기

공개

Linux::필수 개념과 명령어-사용자와 그룹 관리

사용자와 그룹(1)

 

리눅스는 다중 사용자 시스템이다 (서버이기 때문에)

기본적으로 root라는 이름을 가진 수퍼유저가 있으며(모든 권한이 있는)

모든 사용자를 하나 이상의 그룹에 소속되어 있음

사용자는vi /etc/passwd에 정의되어 있음(파일 안에 사용자의 내용이 있음)

 

사용자 이름: 암호: 사용자ID:사용자가 소속된 그룹 ID:전체 이름: 홈 디렉터리:기본 셸

root          : x (다른 곳에 저장되어 있음) ~~

 

이번에는 

vi /etc/shadow로 아까 x로 떠있었던

암호를 알 수 있다.

 

gedit /etc/passwd & 해서

root:x:0:0:root:/root:/bin/bas

을 봐보자

gedit /etc/group &

root:x:0:

을 함께 봐보자

즉 group에서 

root:x:0:

그룹 이름:그룹의 id:

 

그렇다면 그룹의 id가 0인데 passwd에서도 그룹 id가 0으로 그룹 이름도 root고 사용자 이름도 root인 것이다.

즉 홍길동이라는 사용자가 홍길도이라는 모임에 포함되어 있다는 소리이다.

뭔가 이상할 수 있지만 리눅스를 처음 했을 때 설정이 이렇게 되어 있다

그렇다면 나중에 저걸 이해할 수 있게 바꿔 보자

 

useradd:새로운 사용자를 추가하는 명령어

-u: ID 지정

-g: 그룹 지정

-d: 홈 디렉터리 지정

-s: 셀 지정 

사용자 이름: 암호: 사용자ID:사용자가 소속된 그룹 ID:전체 이름: 홈 디렉터리:기본 셸

기본적으로 있는데 여기서 사용자 이름만 적고 useradd를 하면 기본적인 옵션으로 지정해 주고 

따로 지정해줄 수도 있다.

 

passwd:사용자의 비밀번호를 지정하거나 변경

 

usermod:사용자의 속성을 변경

예) usermod -g root newuser (그룹 지정을 newuser에서 root로 바꾼다)

 

userdel:사용자를 삭제

예)userdel newuser

change:사용자의 암호를 주기적으로 변경하도록 설정

change -m 2 newuser

 

groups:현재 사용자가 속한 그룹을 보여줌 

(사용자가 인사부서겸 기계공학부서겸 메인부서에 동시에 속해 있을 경우)

 

groupadd:새로운 그룹을 생성

예)groupadd newgroup

 

groupmod:그룹의 속성을 변경

예)groupmod -n newgroup mygroup

 

groupdel :그룹을 삭제 

gpasswd:그룹의 암호를 설정하거나, 그룹의 관리를 수행

 

참고로 사용자는 전부 /etc/passwd에 존재하고 

그룹은 /etc/group에 존재하기 때문에 그룹과 사용자를 만든 다음 확인하려면 저기 경로를 써야 한다.

 

예제 )

useradd user1

사용자 생성 

tail -5 /etc/passwd

생성된 사용자 확인

tail -5 /etc/group

user 의 group이 잘 포함되어 있는지 확인

확인해 보면 우리가 위에서 확인 했던 것과 같이 홍길동에 홍길동 있는 꼴이 되어 있을 것이다(왜냐 이름만 지정하고 끝냈기 때문이다)

이제 그럼 다른 값도 넣어주겠다 

삭제 방법:userdel -r user1

user1의 홈 디렉토리까지 전부 삭제해 준다는 것이다.

그럼 이번에는 group을 먼저 생성시키고 사용자를 만들어 보겠다

groupadd centosGroup

그룹 생성 

tail -5 /etc/group

그룹에 만들어 졌는지 확인

확인해보면 cnetosGroup는 1001번이라는 사실을 알 수 있다

useradd -g centosGroup user1 //-g(그룹을 지정할 수 있음)에 centosGroup를 넣어서 cento~~에 포함될 수 있도록한다 

useradd -g centosGroup user2

확인해 보면 알 수 있을 것이다 group의 값이 centosGroup과 같다는 것을 알 수 있다.

tail -5 /etc/shadow를 처서 비밀번호를 확인한 후에 이에는 비밀번호를 설정해 주자

하지만 아직 설정해주지 않았기 때문에 !!의 값으로 저장되어 있을 것이다

passwd user1

passwd user2

둘 다 1234로 해준 다음에 tail -5 /etc/shadow

를 처서 들어갔는지 확인한다

암호를 똑같이 설정했음에도 불구하고 암호화 된 것은 다르게 나와있을 것이다 즉 shadow를 한다고 해서 실제 암호를 파악하기는 어렵다

 

cd /home 

pwd

ls -l를 해보면 지금까지 만들 사용자가 있을 것이다/home경로에

cd user1

ls -l로 안에 무엇이 들어있는지 확인해 보면 아무 것도 없음을 알 수 있다

ls -a라는 숨김파일 보기로 

치면 한 폴더가 보일 것이다 그럼 이것은 어디에서 온 폴더 일까 

바로

ls -a /etc/skel에 들어가 보면 알 수 있다.

똑같은 파일이 저장되어 있을 것이다 바로 저 경로에서 복사되어 나온 숨김 파일이라는 것이다 

기본적으로 사용자는 ls -a /etc/skel에 있는 숨김파일이 저장되어 있어 

나중에 사용자가 처음 생성될 때 다른 내용의 파일을 저장하고 싶으면 /etc/skel에 들어가서 touch로 파일을 만들어 주면 된다

 

삭제 방법은 userdel -r user1

그룹 삭제 groupdel centosGroup

하면 삭제가 안된다 왜냐하면 포함하고 있는 사용자가 있기 때문이다

그렇다면 사용자 user2도 삭제하고 다시 해봐야한다 

userdel -r user2

groupdel centosGroup

 

 

참고자료