-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathft_util_sudoersd
More file actions
executable file
·35 lines (29 loc) · 1.09 KB
/
ft_util_sudoersd
File metadata and controls
executable file
·35 lines (29 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env bash
# Function to reset specific sudoers configuration
# Usage: sudoersd_reset_file filename user
sudoersd_reset_file() {
local filename="$1"
local user="$2"
if [[ -z "$filename" || -z "$user" ]]; then
$S_LOG -s err -d $S_NAME "Error: Required variables are not provided."
exit 1
fi
echo "Defaults:${user} !requiretty" | sudo EDITOR='tee' visudo --file="/etc/sudoers.d/${filename}" &>/dev/null
}
export -f sudoersd_reset_file
# Function to add specific sudoers entries
# Usage: sudoersd_addto_file filename user cmd [host] [userrunas] [option]
sudoersd_addto_file() {
local filename="$1"
local user="$2"
local cmd="$3"
local host="${4:-ALL}"
local userrunas="${5:-root}"
local option="${6:-NOPASSWD}"
if [[ -z "$filename" || -z "$user" || -z "$cmd" ]]; then
$S_LOG -s err -d $S_NAME "Error: Required variables are not provided."
exit 1
fi
echo "${user} ${host}=(${userrunas}) ${option}:${cmd}" | sudo EDITOR='tee -a' visudo --file="/etc/sudoers.d/${filename}" &>/dev/null
}
export -f sudoersd_addto_file