[Samba] Re: smbpasswd doesn't prompt root for password

Alexander Skwar listen at alexander.skwar.name
Thu Aug 17 20:05:41 GMT 2006


Alexander Skwar schrieb:
> · Gerald (Jerry) Carter <jerry at samba.org>:
> 
>> Please file a bug an attach the gzipped config.log from your build.
> 
> https://bugzilla.samba.org/show_bug.cgi?id=4007

I did some debugging and found, that get_pass() in utils/passwd_util.c
gets executed. There, the "else" branch gets run, ie. "p = getpass( prompt);"
is run. This is just a #define for getsmbpass() which resides in
lib/getsmbpass.c. And in getsmbpass(), the execution differs for root
and non-root users.

When I'm root, the *ELSE* branch of the "if (in == NULL)" (the first if
in that function) is run. This means, that

	in = fopen ("/dev/tty", "w+");

did NOT return NULL.

Next, the test "if (tcgetattr (fileno (in), &t) == 0) {" yields FALSE for
root - for non-root, this test is TRUE.

Why does this happen? Does this mean, that root, for some reason, cannot
open /dev/tty for writing?

root at HD:/etc/samba# ls -al /dev/tty*
-rw-r--r--  1 root root    25 Aug 17 21:54 /dev/tty
crw-rw-rw-  1 root root 4, 64 Aug 17 22:00 /dev/ttyS0

I'm logged in to this system over a SSH session. The SSH server is
Dropbear sshd v0.46.

I don't understand this.

Can somebody make sense of this?

Thanks,

Alexander Skwar
-- 
Punning is the worst vice, and there's no vice versa.


More information about the samba mailing list