본문 바로가기

개인적으로 공부한 것을 정리해 놓은 블로그입니다 틀린 것이 있으면 댓글 부탁 드립니다!


Linux

리눅스 공부 11 - 사용자 그룹 지정

반응형

프로그램을 설치하고 소유자와 소유 그룹을 확인해 보면 프로그램을 설치한 사용자로 소유자 소유 그룹이 지정되 있는걸 알 수 있다.  

 

 만약 자바 혹은 톰캣을 설치한다고 생각해보자 해당 서버 컴퓨터에 접근할 수 있는 사용자가 여러명일 경우 

프로그램이 한 사용자의 소유로만 되어 있으면 다른사람들은 그 프로그램을 사용할 수 없을 것이다. 

  $PATH에 환경변수를 등록해 놓을 수도 있지만 해당 프로그램을 사용하려는 사용자들을 사용그룹으로 묶어서 사용 권한을 줄 수도 있다. 

 

 리눅스에서 사용 그룹을 지정하는 방법에 대해 알아보자 

 

id 명령어로  현재 사용자의 정보를 출력할 수 있다. 

id + 유저아이디 를 하면 특정 유저의 정보를 출력할 수 있다 .

 

 

ugo 라는 유저가 우분투를 설치할떄 만들어진 계정이기 떄문에 가지고있는 사용그룹이 많다 . 

sudo 역시 사용그룹으로 지정해야 sudo 명령어 사용이 가능하다 .  맨 마지막에보면 tomcgroup이라는 그룹을 추가해서  tomcat을 사용할 수 있는 사용그룹을 지정해 줬다

 

그룹 추가 명령어

 

sudo groupadd tomcatg(그룹명)

 

그룹 확인 

 

/etc/passwd 에서 유저 정보를 확인했던 것처럼 

/etc/group에 들어가면 그룹 정보를 확인할 수 있다. 

 

그룹 삭제

 

sudo groupdel tomcatg

 

(그룹을 삭제하게되면 해당 그룹을 사용하고 있는 곳의 사용그룹이 없는 것으로 나온다.

 

 

 

그룹을 만들었으니 이제 사용그룹을 지정하고싶은 파일 혹은 디렉토리에 사용그룹을 지정해 주자 . 

나는 톰캣 루트 디렉토리를 그룹으로 지정하려 한다.  -R로 톰캣 디렉토리안에 있는 모든 디렉토리에 같은 사용그룹이 지정되도록 해야한다.  그룹을 지정하면서 소유자를 root로 바꿨다.

 

sudo chown -R root:tomcatg apache-tomcat-10.0.7

 

 

소유자와 사용그룹이 잘 변경됬다.

 

이제 사용자에게 사용그룹을 추가해줘서 해당 사용그룹을 갖는 폴더를 사용할 수 있게 해주자 

 

sudo usermod -a -G tomcat ugo

sudo usermod -a -G tomcat ugo2

 

현재 ugo , ugo2 , ugo3 이라는 유저가 사용자로 등록되어있기 때문에 비교를 위해서 

 

ugo ugo2 에게 사용그룹을 추가해줬다 . -a는 append를 의미하고 -G는 기타그룹을 의미한다.  (기본 그룹은 -g)

 

톰캣을 사용하기 위해서 bin/startup.sh 를 호출해보면  permission denied 에러가 뜬다.

 

startup.sh는 bin 폴더 안에 있는데 bin 폴더의 사용권한을 보면 group에게 read 권한만 부여하기 때문에  생기는 문제이다 bin 폴더의 사용그룹사용권한에 x (excute)를 추가해주자 

 

몇가지 문제가 더 있다 톰캣이 로그파일을 생성할때도 문제가 되기 떄문에 logs 파일의 그룹권한에 w를 추가해주자 .

또 설정 파일을 읽고 실행시킬 수 있게 conf폴더에 rx를 추가해주자

 

sudo chmod -R g+x bin

sudo chmod -R g+w logs

sudo chmod -R g+rx conf

 

해당 폴더안에 있는 것들도 동일한 권한을 갖어야 하니 -R로 안쪽까지 같이 적용되게한다.

 

위에 설정들은 톰캣을 설치할때 설정들이니 본인이 사용하려는 프로그램이 요구하는 권한에 맞게 설정하도록하자.

 

 

톰캣이 잘 실행 됬다 . (현재 /etc/environment 에 톰캣위치를 등록했기 떄문에 경로설정없이 사용이 가능함.)

 

ugo3으로 로그인 하여 start.sh를 호출해보자 

 

톰캣이 실행되지 않는다.  

 

 

반응형