프로그램을 설치하고 소유자와 소유 그룹을 확인해 보면 프로그램을 설치한 사용자로 소유자 소유 그룹이 지정되 있는걸 알 수 있다.
만약 자바 혹은 톰캣을 설치한다고 생각해보자 해당 서버 컴퓨터에 접근할 수 있는 사용자가 여러명일 경우
프로그램이 한 사용자의 소유로만 되어 있으면 다른사람들은 그 프로그램을 사용할 수 없을 것이다.
$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를 호출해보자
톰캣이 실행되지 않는다.
'Linux' 카테고리의 다른 글
리눅스 공부 9 - update alternatives 와 update java alternatives (0) | 2021.06.24 |
---|---|
리눅스 공부 8 -설치 관리자 (dpkg 와 apt ), 자바 버전 관리 (0) | 2021.06.24 |
리눅스 공부 7 - JDK 전역화 하기 (0) | 2021.06.23 |
리눅스 공부 6 - 리눅스 프로필과 환경변수 설정 (0) | 2021.06.23 |
리눅스 공부 5- 명령어에 별칭 부여 , 리눅스 부팅 순서 (0) | 2021.06.23 |