Skip to content

Commit affb7f0

Browse files
🐛 permissions bugfix
1 parent 6e3a640 commit affb7f0

File tree

5 files changed

+17
-11
lines changed

5 files changed

+17
-11
lines changed

app/.DS_Store

0 Bytes
Binary file not shown.

app/modules/battery.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ const initialize_battery = async () => {
139139
exec_async( `${ path_fix } sudo -n /usr/local/bin/smc -k CH0C -r` ).catch( () => false ),
140140
exec_async( `${ path_fix } sudo -n /usr/local/bin/smc -k CH0I -r` ).catch( () => false ),
141141
exec_async( `${ path_fix } sudo -n /usr/local/bin/smc -k ACLC -r` ).catch( () => false ),
142-
exec_async( `${ path_fix } sudo -n /usr/local/bin/smc -k ACLC -w 01` ).catch( () => false )
142+
exec_async( `${ path_fix } sudo -n /usr/local/bin/smc -k ACLC -w 02` ).catch( () => false )
143143
] )
144144

145145
const visudo_complete = charging_in_visudo && discharging_in_visudo && magsafe_led_in_visudo && additional_magsafe_led_in_visudo

app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "battery",
3-
"version": "1.1.8",
3+
"version": "1.2.2",
44
"description": "A battery charge limiter for Apple silicon Mac devices",
55
"main": "main.js",
66
"build": {

battery.sh

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
## Update management
55
## variables are used by this binary as well at the update script
66
## ###############
7-
BATTERY_CLI_VERSION="v1.2.3"
7+
BATTERY_CLI_VERSION="v1.2.4"
88

99
# Path fixes for unexpected environments
1010
PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
@@ -113,7 +113,7 @@ Cmnd_Alias BATTERYOFF = $binfolder/smc -k CH0B -w 02, $binfolder/smc -k CH0
113113
Cmnd_Alias BATTERYON = $binfolder/smc -k CH0B -w 00, $binfolder/smc -k CH0C -w 00
114114
Cmnd_Alias DISCHARGEOFF = $binfolder/smc -k CH0I -w 00, $binfolder/smc -k CH0I -r
115115
Cmnd_Alias DISCHARGEON = $binfolder/smc -k CH0I -w 01
116-
Cmnd_Alias LEDCONTROL = $binfolder/smc -k ACLC -w 04, $binfolder/smc -k ACLC -w 03, $binfolder/smc -k ACLC -w 01, $binfolder/smc -k ACLC -w 00, $binfolder/smc -k ACLC -r
116+
Cmnd_Alias LEDCONTROL = $binfolder/smc -k ACLC -w 04, $binfolder/smc -k ACLC -w 03, $binfolder/smc -k ACLC -w 02, $binfolder/smc -k ACLC -w 01, $binfolder/smc -k ACLC -w 00, $binfolder/smc -k ACLC -r
117117
ALL ALL = NOPASSWD: BATTERYOFF
118118
ALL ALL = NOPASSWD: BATTERYON
119119
ALL ALL = NOPASSWD: DISCHARGEOFF
@@ -291,12 +291,18 @@ fi
291291
# Visudo message
292292
if [[ "$action" == "visudo" ]]; then
293293

294+
# User to set folder ownership to is $setting if it is defined and $USER otherwise
295+
if [[ -z "$setting" ]]; then
296+
setting=$USER
297+
fi
298+
294299
# Set visudo tempfile ownership to current user
295-
log "Setting visudo file permissions to $USER"
296-
sudo chown -R $USER $configfolder
300+
log "Setting visudo file permissions to $setting"
301+
sudo chown -R $setting $configfolder
297302

298303
# Write the visudo file to a tempfile
299304
visudo_tmpfile="$configfolder/visudo.tmp"
305+
sudo rm visudo_tmpfile 2>/dev/null
300306
echo -e "$visudoconfig" >$visudo_tmpfile
301307

302308
# If the visudo file is the same (no error, exit code 0), set the permissions just

setup.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ configfolder=/Users/$calling_user/.battery
1717
pidfile=$configfolder/battery.pid
1818
logfile=$configfolder/battery.log
1919

20-
2120
# Ask for sudo once, in most systems this will cache the permissions for a bit
2221
sudo echo "🔋 Starting battery installation"
2322
echo -e "[ 1 ] Superuser permissions acquired."
@@ -45,15 +44,15 @@ sudo chmod +x $binfolder/smc
4544
echo "[ 4 ] Writing script to $binfolder/battery for user $calling_user"
4645
sudo cp $batteryfolder/battery.sh $binfolder/battery
4746

48-
echo "[ 5 ] Setting correct file permissions"
47+
echo "[ 5 ] Setting correct file permissions for $calling_user"
4948
# Set permissions for battery executables
50-
sudo chown $calling_user $binfolder/battery
49+
sudo chown -R $calling_user $binfolder/battery
5150
sudo chmod 755 $binfolder/battery
5251
sudo chmod +x $binfolder/battery
5352

5453
# Set permissions for logfiles
5554
mkdir -p $configfolder
56-
sudo chown $calling_user $configfolder
55+
sudo chown -R $calling_user $configfolder
5756

5857
touch $logfile
5958
sudo chown $calling_user $logfile
@@ -66,7 +65,8 @@ sudo chmod 755 $pidfile
6665
sudo chown $calling_user $binfolder/battery
6766

6867
echo "[ 6 ] Setting up visudo declarations"
69-
sudo bash $batteryfolder/battery.sh visudo
68+
sudo $batteryfolder/battery.sh visudo $USER
69+
sudo chown -R $calling_user $configfolder
7070

7171
# Remove tempfiles
7272
cd ../..

0 commit comments

Comments
 (0)