본문 바로가기

컴텨/리눅스

리눅스 UID 변경 방법 (usermod)

반응형

리눅스의 유저는 고유 UID (User ID) 숫자를 가지고 있습니다.

 

UID 확인 방법 

/etc/passwd 파일 내용

아이디 : x : UID : GID : 유저 설명 : 유저 홈디렉토리 : 유저 셀

 

예제 )

# cat /etc/passwd

user1 : x : 500 : 500 : for user1 : /home/user1 : /bin/bash

 

필요에 따라서 UID를 변경할 필요가 있습니다.

저의 경우는 NFS 설정시 UID 권한(permission)이 맞지 않아서 클라이언트에서 read/write가 불가능해서 UID 변경의 필요성을 느꼈습니다.

참고 : NFS 설정시 서버와 클라이언트의 퍼미션이 맞아야 함.

퍼미션을 맞추기 위해서는 UID를 일치 시키거나 직접 모든 파일을 모두가 읽고 쓸수 있도록 바꾸는 방법이 있지만, 후자의 경우 보안에 문제가 발생할 소지가 다분합니다.

 

UID 바꾸기 (usermod 사용)

usermod -u [바꿀 UID] [아이디]

 

예제 )

 # cat /etc/passwd

user1 : x : 500 : 500 : for user1 : /home/user1 : /bin/bash

# su -l

Password : ********

# usermod -u 501 user1 

 

usermod 명령어는 매우 신중하게 사용해야 합니다.  UID를 변경 후에는 파일들의 권한과 유저의 권한이 틀어질 수 있습니다. usermod는 파일의 권한을 바꾸는 명령어는 아닙니다. centos 4점대 기준으로 usermod를 사용하면 /home/user1의 홈디렉토리의 파일들의 권한은 바뀐 UID 기준으로 자동으로 바꿔줍니다.

하지만 다른 곳에 이전의 UID로 작성한 파일이나 설치한 프로그램이 있다면, 수동으로 찾아서 바꿔 주어야 합니다.

 

제 경험으로 보자면, /tmp 의 gnome 임시파일들의 권한을 제가 간과한 결과, 다시 리눅스를 켰을 때 gnome의 x윈도우가 전부 깨졌던 경험이 있습니다. TT (잠시 고민 했었습니다. ^^;)

* 반드시 /tmp 의 파일 또는 디렉토리 중 이전 UID의 파일들을 지우세요.

 

 

반응형

'컴텨 > 리눅스' 카테고리의 다른 글

[NFS] 서버, 클라이언트 설정  (0) 2012.12.13
vim (vi) 소개 (장단점, 용도)  (0) 2012.11.28