chroot()ing a user's login
I had read some docs which mentioned that on SysV, you can specify a * in
the 7th field of the passwd file (thisis from memory, I may be off) and
that user's login will then be chroot()ed to his home directory.
I was hoping to find a similar functionality in Debian, so I tried the *
in the 7th field and that didn't work. So then I grabbed the source for
login (shadow package) and grepped the source for chroot. In
libmisc/sub.c I found it, along with some commentary:
/*
* subsystem - change to subsystem root
*
* A subsystem login is indicated by the presense of a "*" as
* the first character of the login shell. The given home
* directory will be used as the root of a new filesystem which
* the user is actually logged into.
*/
So, I tried changing a user's login shell to '*/bin/bash' to no avail.
When I attempt to login, I am asked for the username.. and then I am asked
for the password twice and booted out.
I also tried replacing /bin/login with a re-compiled version from the
(slink) source but the same thing happened.
Anyone know how to get this to work?
Reply to: