Я думаю, что попытаться сделать это чисто в bash будет довольно сложно.
Существует программа csvfix
, которая должна делать большую часть работы за вас: http://neilb.bitbucket.org/csvfix/
У вас 3 варианта:
1-й это рекомендуемый способ.
Похоже, проблема была с @include common-session-noninteractive — у меня это работает в /etc/pam.d/sudo:
#%PAM-1.0
session [success=1 default=ignore] pam_succeed_if.so quiet uid = 0 ruser = deployer
session required pam_env.so readenv=1 user_readenv=0
session required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
# @include common-session-noninteractive
И я также создал /etc/rsyslog. d/35-pam_unix.conf, чтобы предотвратить регистрацию фактической строки sudo:
if $syslogtag contains 'sudo' and $msg contains '/data/deployer/timeagent' then ~