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를 변경하는 일은 하지 않아도 됩니다.
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
su -
root의 홈디릭토리로 이동하게 됩니다.
su -
adduser 때문에 PATH를 변경하는 일은 하지 않아도 됩니다.