diff options
Diffstat (limited to 'src/gitjoe/adduser.pl')
-rwxr-xr-x | src/gitjoe/adduser.pl | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/gitjoe/adduser.pl b/src/gitjoe/adduser.pl deleted file mode 100755 index 4e0746d..0000000 --- a/src/gitjoe/adduser.pl +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/local/bin/perl - -use strict; -use warnings; -use Term::ANSIColor; -use constant HOME_DIR => '/usr/local/git/'; - -sub main -{ - my $argc = $#ARGV + 1; - if ($argc < 2) { - print colored("Failed!\n", 'bold red') - . "Missing argument, 2 needed " - . colored("[user - ssh public key]", 'bold') - . "\n"; - exit 1; - } - my $usr = $ARGV[0]; - my $sshkey = "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty "; - $sshkey = $sshkey . $ARGV[1]; - my $home_dir = HOME_DIR . $usr . '/'; - system( - "adduser << EOF -" . $usr . " - - - - - -git-shell -" . HOME_DIR . $usr . " - - - -yes - -yes -no -EOF" - ); - my (undef, undef, $uid, $gid) = getpwnam($usr); - mkdir $home_dir . '.ssh/', 0700; - chown $uid, $gid, $home_dir . '.ssh/'; - open(my $fh, '>:encoding(UTF-8)', $home_dir . '.ssh/authorized_keys'); - print $fh $sshkey . "\n"; - close($fh); - chown $uid, $gid, $home_dir . '.ssh/authorized_keys'; - chmod 0600, $home_dir . '.ssh/authorized_keys'; - print "Created new git user " . colored($usr, 'bold green') . ".\n"; - exit; -} - -main(); - -__END__ |