#!/usr/bin/perl use strict; use warnings; use File::Temp qw(tempfile); use lib $ENV{GL_LIBDIR}; use Gitolite::Rc; use Gitolite::Common; $|++; my $akfile = "$ENV{HOME}/.ssh/authorized_keys"; my $sufile = $rc{SHELL_USERS_LIST} or exit 0; -r $sufile or _die "'$sufile' not readable"; # ---------------------------------------------------------------------- my $aktext = slurp($akfile); for my $su ( shell_users() ) { $aktext =~ s(/gitolite-shell $su([" ].*?),no-pty )(/gitolite-shell -s $su$1 )g; } _print( $akfile, $aktext ); sub shell_users { my @ret = grep { not /^#/ } slurp($sufile); chomp(@ret); return @ret; }