# Creating the passwd, group, and log Files

Create the `/etc/passwd` file by running the following command:

    cat > /etc/passwd << "EOF"
    root:x:&uid-root;:&gid-root;:root:/root:/bin/bash
    EOF

The actual password for `root` (the x used here is just a placeholder) will be set later.

Create the `/etc/group` file by running the following command:

    cat > /etc/group << "EOF"
    root:x:0:
    bin:x:&gid-bin;:
    sys:x:&gid-sys;:
    kmem:x:&gid-kmem;:
    tty:x:&gid-tty;:
    tape:x:&gid-tape;:
    daemon:x:&gid-daemon;:
    floppy:x:&gid-floppy;:
    disk:x:&gid-disk;:
    lp:x:&gid-lp;:
    dialout:x:&gid-dialout;:
    audio:x:&gid-audio;:
    video:x:&gid-video;:
    utmp:x:&gid-utmp;:
    usb:x:&gid-usb;:
    cdrom:x:&gid-cdrom;:
    EOF

To remove the I have no name! prompt, start a new shell. Since a full Glibc was installed in chapter-cross-tools and the `/etc/passwd` and `/etc/group` files have been created, user name and group name resolution will now work.

    exec /tools/bin/bash --login +h

Note the use of the `+h` directive. This tells `bash` not to use its internal path hashing. Without this directive, `bash` would remember the paths to binaries it has executed. To ensure the use of the newly compiled binaries as soon as they are installed, the `+h` directive will be used for the duration of the next chapters.

    touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
    chgrp -v utmp /var/run/utmp /var/log/lastlog
    chmod -v 664 /var/run/utmp /var/log/lastlog
    chmod -v 600 /var/log/btmp

The `/var/run/utmp` file records the users that are currently logged in. The `/var/log/wtmp` file records all logins and logouts. The `/var/log/lastlog` file records when each user last logged in. The `/var/log/btmp` file records the bad login attempts.