57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh -x
 | |
| # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
 | |
| # ex: ts=8 sw=4 sts=4 et filetype=sh
 | |
| 
 | |
| type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
 | |
| 
 | |
| echo void-live > ${NEWROOT}/etc/hostname
 | |
| 
 | |
| AUTOLOGIN=$(getarg live.autologin)
 | |
| USERNAME=$(getarg live.user)
 | |
| USERSHELL=$(getarg live.shell)
 | |
| 
 | |
| [ -z "$USERNAME" ] && USERNAME=anon
 | |
| [ -x $NEWROOT/bin/bash -a -z "$USERSHELL" ] && USERSHELL=/bin/bash
 | |
| [ -z "$USERSHELL" ] && USERSHELL=/bin/sh
 | |
| 
 | |
| # Create /etc/default/live.conf to store USER.
 | |
| echo "USERNAME=$USERNAME" >> ${NEWROOT}/etc/default/live.conf
 | |
| chmod 644 ${NEWROOT}/etc/default/live.conf
 | |
| 
 | |
| if ! grep -q ${USERSHELL} ${NEWROOT}/etc/shells ; then
 | |
|     echo ${USERSHELL} >> ${NEWROOT}/etc/shells
 | |
| fi
 | |
| 
 | |
| # Create new user and remove password. We'll use autologin by default.
 | |
| chroot ${NEWROOT} useradd -m -c $USERNAME -G audio,video,wheel -s $USERSHELL $USERNAME
 | |
| chroot ${NEWROOT} passwd -d $USERNAME >/dev/null 2>&1
 | |
| 
 | |
| # Setup default root/user password (voidlinux).
 | |
| chroot ${NEWROOT} sh -c 'echo "root:voidlinux" | chpasswd -c SHA512'
 | |
| chroot ${NEWROOT} sh -c "echo "$USERNAME:voidlinux" | chpasswd -c SHA512"
 | |
| 
 | |
| # Enable sudo permission by default.
 | |
| if [ -f ${NEWROOT}/etc/sudoers ]; then
 | |
|     echo "${USERNAME}  ALL=(ALL) NOPASSWD: ALL" >> ${NEWROOT}/etc/sudoers
 | |
| fi
 | |
| 
 | |
| if [ -d ${NEWROOT}/etc/polkit-1 ]; then
 | |
|     # If polkit is installed allow users in the wheel group to run anything.
 | |
|     cat > ${NEWROOT}/etc/polkit-1/rules.d/void-live.rules <<_EOF
 | |
| polkit.addAdminRule(function(action, subject) {
 | |
|     return ["unix-group:wheel"];
 | |
| });
 | |
| 
 | |
| polkit.addRule(function(action, subject) {
 | |
|     if (subject.isInGroup("wheel")) {
 | |
|         return polkit.Result.YES;
 | |
|     }
 | |
| });
 | |
| _EOF
 | |
|     chroot ${NEWROOT} chown polkitd:polkitd /etc/polkit-1/rules.d/void-live.rules
 | |
| fi
 | |
| 
 | |
| if [ -n "$AUTOLOGIN" ]; then
 | |
|         sed -i "s,GETTY_ARGS=\"--noclear\",GETTY_ARGS=\"--noclear -a $USERNAME\",g" ${NEWROOT}/etc/sv/agetty-tty1/run
 | |
| fi
 |