Титла: промяна на парола Публикувано от: mpakmop в Jun 01, 2010, 15:03 Здравейте,
Пиша на Java и трябва да променя парола на потребител. Самото изпълнение на команди не е нищо сложно: Код: Process p = Runtime.getRuntime().exec("ps -ef"); Някой сблъсквал ли се е с подобно нещо? Предполагам, че най-добрият начин ще е да се смени парола на потребител с едноредова команда, но не можах да открия подобна възможност специално за passwd. Благодаря предварително за всички мнения и препоръки :) Титла: Re: промяна на парола Публикувано от: VladSun в Jun 01, 2010, 15:23 В конзола зз бих използвал expect ($2)
Титла: Re: промяна на парола Публикувано от: mpakmop в Jun 01, 2010, 18:32 Благодаря за идеята, макар да не ми е още съвсем ясно как да вградя това в кода - вероятно чрез извикване на скрипт? Друго неудобство е, че това ще изисква инсталирането на expect на системата...
Но да питам нещо друго - ровейки се по форумите намерих следното: echo <password> | passwd <username> където <password> = новата парола <username> = потребителското ми име И съответно това вече лесно ще може да се изпълни по следния начин: Код: Runtime.getRuntime().exec("echo <password> | passwd <username>"); Работя под Ubuntu 9.10 и се опитвам да изпълня посочената по-горе команда в конзолата, но получавам следната грешка: Authentication token manipulation error. Някакви идеи? Титла: Re: промяна на парола Публикувано от: remotex в Jun 02, 2010, 13:29 Само да уточня че тези също са външни команди:
Код
Титла: Re: промяна на парола Публикувано от: remotex в Jun 02, 2010, 13:36 Навярно забравяш че командата очаква и потвърждение на паролата т.е. тя трябва да се въведе 2 пъти... или нещо от сорта на :
Код за повече подробности (най-вече относно сигурността и др. опции напр. --stdin) разгледай коментарите тук: http://stackoverflow.com/questions/714915/using-the-passwd-command-from-within-a-shell-script ($2) Титла: Re: промяна на парола Публикувано от: mpakmop в Jun 03, 2010, 15:56 Благодаря огромно, remotex! [_]3
|