본문 바로가기
General CS/Linux

Linux - 그룹이름과 사용자이름 바꾸기, hostname 바꾸기!

by 리나그(ReenAG) 2021. 7. 7.
728x90
반응형

 처음에 리눅스를 세팅해 놓으면, 이미 기본 사용자 이름이 정해져 있어서 바꾸어야하는 경우가 있다. 이런 경우 쓰는 명령어가 있는데, 그것을 알아보려고 한다. (터미널 쓰면 옆에 뜨는 이름들을 바꾸고 싶을 때 참고하려고 만든 포스트임.)

1. usermod

user modification의 준말이다. "이미 기존에 존재하는" 유저의 설정을 바꾸는데 이용된다. 여기서는 자세히 다루지 않고 이름을 바꾸는 법만 생각해보자.

usermod -l [바꾸고 싶은 이름] [원래 이름]

이렇게 하면 바꿀 수 있다. (-l은 login name의 준말이다.) 문제가 있다면, 여러분이 이미 바꾸고 싶은 유저의 콘솔로 접속한 상태라면 이 커맨드는 수행되지 않는다는 것이다. 그래서 주로 이용하는 방법은 다른 계정에 접속을 한 다음 바꾸는 방법을 추천한다.

useradd temp

와 같이 잠시 동안 이용할 유저를 만들거나 root로 접속해서 이름을 바꾸는 것을 추천한다. 만약 둘 다 할 권한이 없다면, 그때는 구글링을 해서 방법을 알아내는 수 밖에는...

 

이런 usermod커맨드를 쓰는 것이 싫다면 /etc/passwd파일을 직접 건드리는 수도 있다. (별로 추천하지는 않는다. 애초에 보안상 중요한 파일이기도 하기 때문.) 홈 디렉토리나 접속 기본 셸을 지정해준 다음, 다시 유저가 접속했을 때 이 파일의 변동사항이 효력을 갖는다.

2. groupmod

group modification의 준말이다. 역시 "기존에 존재하는" 그룹의 설정을 바꾸는데 이용할 수 있다. 비슷하게 이름을 바꾸는 방법은 :

groupmod -n [새로운 그룹 이름] [원래 그룹 이름]

굳이 왜 그룹의 이름을 바꾸어야하는가 생각할 수 있다. 근데 잘 살펴보면, 사용자는 이미 자신의 이름과 같은 이름의 그룹에 속해있다. 따라서 옛날 이름을 더 이상 아무데서도 보고 싶지 않다면 이 커맨드 역시 이용해야한다.

 

마찬가지로 groupmod를 쓰고 싶지 않다면, /etc/group에서 바꾸는 수도 있다. 근데 이렇게 하면 다시 재부팅하기 전까지 효력이 없을 수 있으므로 얌전히 위의 명령어를 이용하자.

3. hostnamectl

리눅스 시스템 대부분은 hostname service를 가지고 있다. 아마 각자 조금씩 다른 기본이름을 가지고 있을 텐데(보통은 "localhost"라는 이름이다), 이를 입맛대로 바꾸고 싶은 경우가 있을 것이다. 그런 경우, /etc/hostname과 /etc/hosts에 있는 이름을 바꾸어 주면 된다. 근데, 그렇게 간단하지는 않다. /etc/hosts의 경우 바로 반영이 되어 hostname을 찾는데는 문제가 없다고 하더라도, 시스템 자체에서는 여전히 hostname을 이전의 이름으로 인식하고 있을 것이다.

 

제일 간단한 방법은 이 상태에서 재부팅을 하는 것이다. 그게 제일~ 깔끔하고 좋은 방법이다.

 

하지만 리부팅을 할 수없는 상황이라면,

sudo hostnamectl set-hostname [새로운 이름]

를 해주면 된다. 이렇게 하더라도 /etc/hosts도 바꿔줘야하는 것을 잊지 말자. 이렇게 하면 대부분은 바뀌는데, 안된다면 다시 구글링을... ㅎㅎ

728x90
반응형