2013-12-07 2 views
0

나는 작동하는 자동 스크립트를 가지고 있으며, 단지 홈 디렉토리를 만들지 않는다. 데이터는 데이터베이스에서 추출됩니다.sudo useradd는 홈 디렉토리를 만들지 않을 것이다

을 Heres 스크립트 :

$SQL -s -e "SELECT uid, password FROM registrations WHERE processed = 0" \ 
| while read A B; do 
     sudo useradd $A -p $B -m /home/ 

당신이 -m을 볼 수있다,하지만 그것을 무시하고 홈 디렉토리를하지 않습니다 내가 왜 아무 생각이 없다 보인다. 내가 뭔가를 놓치고 있어야합니다하지만 난 모르겠어 무엇

+0

정확하게 '자동 스크립트'를 어떻게 실행하고 있습니까? –

+0

지금은 타이핑하여. test.sh – user3078177

+0

스크립트를 실행하고있는 사용자가'useradd'를 수행 할 수있는 권한을 가지고 있습니까? 제 말은'sudo '없이'useradd ...'를 콘솔에서 직접 실행하면 작동합니까? 마지막으로 sudo'sudo./test.sh'를 사용하여 전체 스크립트를 실행하면 효과가 있습니까? –

답변

1

man useradd를 실행하면 -m 매개 변수를 기대하지 않습니다 나타납니다. 그것을 실행

트릭을해야 이런 식으로 (또는 적어도 그냥 내 데비안 짜기에 한) : 맨 페이지에서

useradd $A -p $B -m 

당신은 또한 같은 다른 유용한 옵션 확인할 수있는 것들 : -d 또는 -b

+0

나는 또한 시도했습니다 : useradd $ A -p $ B -m 그리고 동일했습니다 – user3078177

+0

콘솔에서 실행하면 useradd zzz1 -p temp4you -m', 작동합니까? 그렇지 않다면, 당신은'$ A'와'$ B'의 값에 문제가있을 것입니다. 그리고 여러분은 그것이 전체적으로 실행되고 있는지를보기 위해 전체 명령을'echo'해야합니다. 명령이 실행 된 직후 결과'echo $? '를 echo 할 수도 있습니다. 디버깅에 도움이된다면 –

+0

예, 명령 행에 입력 할 때 작동합니다! – user3078177

관련 문제