IT개발/Linux & Unix2008. 7. 3. 16:31
useradd / adduser / addgroup / groupadd 이 명령어들이 실행 안된다면
PATH 설정이 잘못되었거나 명령어가 없는 경우일 수 있습니다.

명령어가 어디에 있는지 확인하는 것은
which 라는 명령어를 사용하면 됩니다.

which useradd 하면
useradd가 어디에 들어있는지 알려주지요.

# which useradd
/usr/sbin/useradd <-- 이런 결과가 출력됩니다.

파일 검색 TIP
#find . -name groupadd
/usr/sbin/groupadd

명령어 위치가 확인된다면 PATH 설정이 잘못된 경우입니다.
PATH 설정을 바꾸지 않고 명령어를 사용하려면 PATH를 다 적어주면 됩니다.
즉, useradd를 실행시킬때
/usr/sbin/useradd 라고 하면 되는거지요.

이제 PATH 를 살펴볼까요.
아마 root 계정의 환경변수에는 PATH가 제대로 설정되어 있을 것입니다.
환경변수에는 설정이 되어 있는데 실행이 제대로 되지 않는 것은
텔넷접속후 root로 전환할때 su 만 했기 때문일 것입니다.

텔넷 접속시 사용된 사용자 계정의 환경변수에는 root의 환경변수와 다르기 때문에
당연히 실행될것이라 생각하는 명령어들이 실행되지 않는 수가 있습니다.

root의 환경변수를 그대로 사용하도록
su - 해서 관리자로 전환합니다.
그냥 su 만 했을 때는 현재 디렉토리에서 root로 변경되지만
su - 하면 root의 환경변수를 읽어서 세팅하기 때문에
root의 홈디릭토리로 이동하게 됩니다.

su - 로 관리자 전환한다면
adduser 때문에 PATH를 변경하는 일은 하지 않아도 됩니다.
Posted by 시티락