ts-7000
[Top] [All Lists]

Re: [ts-7000] Re: Creating a working ftp account on my TS-7400 (proftpd)

To:
Subject: Re: [ts-7000] Re: Creating a working ftp account on my TS-7400 (proftpd)
From: Jim Jackson <>
Date: Tue, 12 Dec 2006 21:03:42 +0000 (GMT)


On Tue, 12 Dec 2006, inakizi wrote:

> Hello Jim,
>
> OK This is in the TS-7400 (where the login doesn't work)
>
> $ ls -ld / /home /home/testuser
> drw-rw-rw-    1 root     root          512 Jan  1  1970 /
> drwxrwxrwx    1 root     root          512 Jan 15 11:14 /home
> drwxr-sr-x    1 testuser testuser      512 Jan 25 04:13 /home/testuser

oh  boy you got screwed permissions there. I suggest you read up on
Unix.Linux permissions - there'll be loads of tutorials on the WWW
or most any intro to Unix/Linux.

You may like to run these commands to straighten out you faulty
permissions....

 cd /
 chmod 755 /
 chmod 755 /home

Unless you've any very special reason for otherwise - I suspect not :-)

>
>
> $ grep testuser /etc/passwd
> testuser:$1$$dZY0EB48u3cuRp7JFyg68.:508:508:Linux
> User:/home/testuser:/bin/sh
>
> I also have a TS-7250 where the login works fine:
>
> $ ls -ld / /home /home/testuser
> drwxr-xr-x    1 root     root          512 Jan  1  1970 /
> drwxr-xr-x    1 root     root          512 Dec 12 04:02 /home
> drwxr-sr-x    1 testuser testuser      512 Dec 12 04:02 /home/testuser
>
> $ grep testuser /etc/passwd
> testuser:$1$$dZY0EB48u3cuRp7JFyg68.:507:507:Linux
> User:/home/testuser:/bin/sh
>
> OK so let me give you some more info:
> this is the error I get when I try to login with this user:
> $ login testuser
> Password:
> login: cannot cd to home directory or /
>
> So I searched that inBusybox and found this piece of code that is
> executed every time a user is logged on:
>
> /* Become the user and group(s) specified by PW.  */
> const char *change_identity_e2str ( const struct passwd *pw )
> {
>    printf("Inside Change_identity_e2str\n");
>    printf("pw_name: %s pw_gid: %d\n",pw->pw_name,pw->pw_gid);
>
>
>
>        long int initgresult = initgroups ( pw-> pw_name, pw->
> pw_gid );
>        printf("initgroups result: %d\n",initgresult);
>        if ( initgresult == -1 )
>                return "cannot set groups";
>        endgrent ( );
>
>        if ( setgid ( pw-> pw_gid ))
>                return "cannot set group id";
>        if ( setuid ( pw->pw_uid ))
>                return "cannot set user id";
>
>        // Modified by Me to simulate a whoami instruction
>        char user[10];
>        uid_t uid;
>
>    printf("Now I try to get the user ID that I just set\n");
>        uid = geteuid();
>    printf("uid: %d\n",uid);
>        if (my_getpwuid(user, uid)) {
>                user[9] = 0;
>                printf("user: %s\n",user);
>        } else {
>                printf("cannot find username for UID %u\n", (unsigned)
> uid);
>        }
>
>        return NULL;
> }
>
> All the printf are added by me. and the code to get whoami at the end
> of the function.
>
> When I run this on the TS-7400:
>
> $ ./busybox login testuser
> Password:
> Inside Change_identity_e2str
> pw_name: testuser pw_gid: 508
> initgroups result: 0
> Now I try to get the user ID that I just set
> uid: 508
> cannot find username for UID 508
> After Calling ChangeIdentity e2str
> shell: /bin/sh
> pw_name: testuser
> pw_passwd: $1$$dZY0EB48u3cuRp7JFyg68.
> pw_dir: /home/testuser
> login: cannot run /bin/sh: Permission denied
> $
>
> If I run exactly same executable on the TS-7250 I get:
>
> $ ./busybox login testuser
> Password:
> Inside Change_identity_e2str
> pw_name: testuser pw_gid: 507
> initgroups result: 0
> Now I try to get the user ID that I just set
> uid: 507
> user: testuser
> After Calling ChangeIdentity e2str
> shell: /bin/sh
> pw_name: testuser
> pw_passwd: $1$$dZY0EB48u3cuRp7JFyg68.
> pw_dir: /home/testuser
>
>
> BusyBox v1.00-rc2 (2004.08.05-21:44+0000) Built-in shell (ash)
> Enter 'help' for a list of built-in commands.
>
> $
>
> So in some weird way looks like the functions setgid  and setuid  are
> not working.
>
>
>
> --- In  Jim Jackson <> wrote:
> >
> >
> >
> >
> > On Mon, 11 Dec 2006, inakizi wrote:
> >
> > > Correct, I guess I din't explain myself correctly. I followed the
> code
> > > of the Login process (puting some printf instructions on the
> busybox
> > > code) for an already created user. Everything went perfect until
> the
> > > setgid and setuid functions. Just after that, the busybox login
> tries
> > > to change current dir to the user folder (/home/testuser) and
> >
> > What does
> >
> >   ls -ld / /home /home/testuser
> >
> >   grep testuser /etc/passwd
> >
> > give?
> >
> > Jim
> >
> > > everything is correct when the chdir function is called but it
> couldn't
> > > change to that folder, is like it has not enough permissions to
> do it.
> > > Samething happens a little bit after that when it tries to create
> a
> > > shell.
> > > This leads me to believe that there's some kind of problem when
> this
> > > functions are called but you are right there are probably
> hundreds of
> > > reasons to make those function fails that had nothing to do with
> the
> > > kernel code.
> > > Everything works perfect if the user that is logged in is root.
> > > --- In  Jim Jackson <jj@> wrote:
> > > >
> > > >
> > > > > and using users on the TS-7400,
> > > > > ....... I guess the problem is with the
> > > > > kernel but I haven't figured out what it is yet but I think
> that the
> > > > > kernel functions setgid and setuid are not working in the TS-
> 7400.
> > > >
> > > > I would assume this ONLY after every other possibility is
> exhausted.
> > > > The chances of these kernel functions not working are
> infinitessimally
> > > > small.
> > > >
> > >
> > >
> > >
> >
>
>
>


 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU