8.2.34 | Linux | www-data (uid:33)
👁 View: pam_getenv
📁 //snap/core18/current/usr/sbin/pam_getenv
#!/usr/bin/perl -w =head1 NAME pam_getenv - get environment variables from /etc/environment =head1 SYNOPSIS pam_getenv B<[-l] [-s]> I<env_var> =head1 DESCRIPTION This tool will print out the value of I<env_var> from F</etc/environment>. It will attempt to expand environment variable references in the definition of I<env_var> but will fail if PAM items are expanded. The B<-l> option indicates the script should return an environment variable related to default locale information. The B<-s> option indicates that the script should return an system default environment variable. Currently neither the B<-l> or B<-s> options do anything. They are included because future versions of Debian may have a separate repository for the initial environment used by init scripts and for system locale information. These options will allow this script to be a stable interface even in that environment. =cut # Copyright 2004 by Sam Hartman # This script may be copied under the terms of the GNU GPL # version 2, or at your option any later version. use strict; use vars qw(*CONFIGFILE *ENVFILE); sub read_line($) { my $fh = shift; my $line; local $_; line: while (<$fh>) { chomp; s/^\s+//; s/\#.*$//; next if $_ eq ""; if (s/\\\s*$//) { $line .= $_; next line; } $line .= $_; last; } $line; } sub parse_line($) { my $var; my (%x, @x); local $_ = shift; return undef unless defined $_ and s/(\S+)\s//; $var->{Name} = $1; s/^\s*//; @x = split(/=([^"\s]\S*|"[^"]*")\s*/, $_); unless (scalar(@x)%2 == 0) { push @x, undef; } %x = @x; @{$var}{"Default", "Override"} = @x{"DEFAULT", "OVERRIDE"}; $var; } sub expand_val($) { my ($val) = @_; return undef unless $val; die "Cannot handle PAM items\n" if /(?<!\\)\@/; $val =~ s/(?<!\\)\$\{([^}]+)\}/$ENV{$1}||""/eg; return $val; } my $lookup; while ($_ = shift) { next if $_ eq "-s"; next if $_ eq "-l"; $lookup = $_; last; } unless (defined $lookup) { die "Usage: pam_getenv [-l] [-s] env_var\n"; } my %allvars; open (CONFIGFILE, "/etc/security/pam_env.conf") or die "Cannot open environment file: $!\n"; while (my $var = parse_line(read_line(\*CONFIGFILE))) { my $val; unless ($val = expand_val($var->{Override})) { $val = expand_val($var->{Default}); } $allvars{$var->{Name}} = $val; } if (open (ENVFILE, "/etc/environment")) { while (my $line = read_line(\*ENVFILE)) { $line =~ s/^export //; $line =~ /(.*?)=(.+)/ or next; my ($var, $val) = ($1, $2); # This is bizarre logic (" and ' match each other, quotes are only # significant at the start and end of the string, and the trailing quote # may be omitted), but it's what pam_env does. $val =~ s/^["'](.*?)["']?$/$1/; $allvars{$var} = $val; } } if (exists $allvars{$lookup}) { print $allvars{$lookup}, "\n"; exit(0); }
← Back
💻 Terminal
📤 Upload
📂
Click or Drag & Drop
📁 //snap/core18/current/usr/sbin
NameSizePermModifiedActions
aa-remove-unknown2.9K07552023-06-13 14:19👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
aa-status8.4K07552023-06-13 14:19👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
add-shell860B07552017-12-30 18:15👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
addgroup36.4K07552017-12-05 16:57👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
adduser36.4K07552017-12-05 16:57👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
apparmor_status8.4K07552023-06-13 14:19👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
arpd54K07552021-01-26 13:33👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
chgpasswd57.8K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
chmem42.1K07552020-09-16 18:43👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
chpasswd53.9K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
chroot38.2K07552018-01-18 09:43👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
cpgr56K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
cppw56K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
delgroup16.1K07552017-12-05 16:57👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
deluser16.1K07552017-12-05 16:57👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
e2freefrag14.1K07552022-06-02 14:37👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
e4crypt22.1K07552022-06-02 14:37👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
e4defrag26K07552022-06-02 14:37👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
faillock14K07552026-08-26 19:37👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
fdformat30.1K07552020-09-16 18:43👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
filefrag14K07552022-06-02 14:37👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
genl58.1K07552021-01-26 13:33👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
groupadd61.9K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
groupdel70.4K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
groupmems57.9K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
groupmod68.2K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
grpck53.8K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
grpconv49.7K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
grpunconv49.7K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
iconvconfig30.3K07552026-01-30 08:03👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
invoke-rc.d15.7K07552017-10-25 15:38👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
ip6tables-apply6.9K07552023-05-09 18:42👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
iptables-apply6.9K07552023-05-09 18:42👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
ldattach30.1K07552020-09-16 18:43👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
mklost+found10K07552022-06-02 14:37👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
netplan798B07552021-09-07 15:19👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
newusers82.4K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
nfnl_osf14K07552023-05-09 18:42👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
nologin6K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pam-auth-update19.4K07552026-08-26 19:37👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pam_getenv2.8K07552026-08-26 19:37👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pam_timestamp_check10K07552026-08-26 19:37👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pwck49.8K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pwconv45.7K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pwunconv45.7K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
readprofile18.1K07552020-09-16 18:43👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
remove-shell904B07552017-12-30 18:15👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
rfkill46.1K07552020-09-16 18:43👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
rmt58.4K07552026-07-20 16:21👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
rmt-tar58.4K07552026-07-20 16:21👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
rtcwake42.1K07552020-09-16 18:43👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
service9K07552017-10-25 15:38👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
sshd772.4K07552025-02-18 13:44👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
tarcat936B07552026-07-20 16:21👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
tzconfig106B07552026-07-17 13:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
update-ca-certificates5.3K07552024-09-25 18:06👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
update-mime8.8K07552016-07-15 12:06👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
update-passwd30.4K07552017-09-12 21:48👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
update-rc.d16.1K07552017-10-25 15:38👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
useradd123.3K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
userdel82.5K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
usermod123.1K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
vigr60.2K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
vipw60.2K07552024-02-06 12:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
visudo208.8K07552025-06-25 20:14👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
zic54.1K07552026-01-30 08:03👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del