File permissions fix

This commit is contained in:
Difrex(Denis Zheleztsov) 2014-05-12 11:25:39 +04:00
parent eb611a0f64
commit 820abf1636

24
GPG.pm
View File

@ -11,9 +11,9 @@ sub new {
my $db = $home . "/.PM/db.sqlite";
my $self = {
_db => $db,
_db => $db,
_home => $home,
};
};
bless $self, $class;
return $self;
@ -33,22 +33,20 @@ sub encrypt_db {
my @enc_cmd;
my $recipient;
if ( -e $self->{_home} . "/.PM/.key" ) {
open my $key_f, "<" , $self->{_home} . "/.PM/.key"
open my $key_f, "<", $self->{_home} . "/.PM/.key"
or die "Cannot open file: $!\n";
while ( <$key_f> ) {
while (<$key_f>) {
$recipient = $_;
}
@enc_cmd = (
"gpg", "--output", "$db",
"-a", "--recipient", "$recipient",
"--encrypt", "$file",
"gpg", "--output", "$db", "-a",
"--recipient", "$recipient", "--encrypt", "$file",
);
}
else {
# gpg --output test.gpg --encrypt test -a --default-recipient-self
@enc_cmd = (
"gpg", "--output", "$db",
"-a", "--default-recipient-self",
"gpg", "--output", "$db", "-a", "--default-recipient-self",
"--encrypt", "$file",
);
}
@ -60,6 +58,10 @@ sub encrypt_db {
@rm_cmd = ( "rm", "-f", "$file" );
system(@rm_cmd) == 0 or die "Cannot remove file $file: $!\n";
# Change file permissions
@chmod_cmd = ( "chmod", 600, $db );
system(@chmod_cmd) == 0 or die "Cannot chmod $file: $!\n";
return 0;
}
@ -81,6 +83,10 @@ sub decrypt_db {
@dec_cmd = ( "$gpg", "--output", "$file", "--decrypt", "$db" );
system(@dec_cmd) == 0 or die "Cannot decrypt $db: $!\n";
# Change file permissions
@chmod_cmd = ( "chmod", 600, $file );
system(@chmod_cmd) == 0 or die "Cannot chmod $file: $!\n";
return $file;
}