Спасибо @cutrightjm за подсказки в комментарии. В настоящее время я использую такой скрипт
#!/bin/bash
printf "Enter LDAP Username:"
read USERNAME
DN=$(ldapsearch -x -H ldaps://ldap.example.com -s sub "uid=${USERNAME}" | grep 'dn: ' | sed 's/dn: //g')
ldapsearch -H ldaps://ldap.example.com -D "${DN}" -W > /dev/null
EXITCODE=$?
if [[ ${EXITCODE} -eq 0 ]]; then
echo "Auth success"
else
echo "Auth failed"
exit ${EXITCODE}
fi
Он протестирован на работоспособность, но я не уверен, есть ли какие-либо проблемы с безопасностью.
По умолчанию каждый пользователь может создать crontab. Все, что нужно пользователю, это иметь возможность войти в систему через ssh. После того, как пользователь вошел в систему, все, что ему нужно сделать, это
crontab -e
И это откроет файл crontab для заполнения. После того, как пользователь закончит работу с crontab, файл будет сохранен в /var/spool/cron/*для каждого пользователя.
Запланированные задания будут выполняться от имени пользователя с разрешениями пользователя , а не root
.
Если вы хотите создать crontab для разных пользователей, вы можете создать их самостоятельно для каждого пользователя, а затем просмотреть их. Пользователям для этого не нужен root-доступ
В системе RHEL crontab для пользователя joe будет иметь путь /var/spool/cron/joe
Во многих системах Linux у каждого пользователя есть собственная таблица cron, которой он может управлять с помощью команды crontab
; он будет выполняться не с разрешениями root
, а с их собственными.