У меня есть скрипт, который должен запускаться от имени root. В этом скрипте я создаю каталоги и файлы. Файлы и каталоги не могут быть изменены пользователем, который запускал скрипт (если, конечно, не существует root).Права доступа к файлам, скрипт root bash, редактировать пользователя
Я попробовал несколько решений, найденные здесь и другие сайты, сначала я пытался mkdir -m 777
каталоги, как так:
#!/bin/bash
...
#Check execution location
CDIR=$(pwd)
#File setup
DATE=$(date +"%m-%d_%H:%M:%S")
LFIL="$CDIR/android-tools/logcat/logcat_$DATE.txt"
BFIL="$CDIR/android-tools/backup/backup_$DATE"
mkdir -m 777 -p "$CDIR/android-tools/logcat/"
mkdir -m 777 -p "$CDIR/android-tools/backup/"
...
Я также пытался прикасаясь каждый созданный файл и каталог с $ USER, как корень, как так:
#!/bin/bash
...
#Check execution location
CDIR=$(pwd)
#File setup
DATE=$(date +"%m-%d_%H:%M:%S")
LFIL="$CDIR/android-tools/logcat/logcat_$DATE.txt"
BFIL="$CDIR/android-tools/backup/backup_$DATE"
mkdir -p "$CDIR/android-tools/logcat/"
mkdir -p "$CDIR/android-tools/backup/"
sudo -u $USER touch "$CDIR/"
sudo -u $USER touch "$CDIR/android-tools/"
sudo -u $USER touch "$CDIR/android-tools/logcat/"
sudo -u $USER touch "$CDIR/android-tools/backup/"
sudo -u $USER touch "$CDIR/android-tools/logcat/logcat_*.txt"
sudo -u $USER touch "$CDIR/android-tools/logcat/Backup_*"
...
Я также попытался вручную работаю sudo chmod 777 /android-tools/*
и sudo chmod 777 /*
из каталога сценария, не дал никаких ошибок, но я до сих пор не могу удалить файлы без корневого разрешения.
Heres полный сценарий, это еще не сделано. Не запускайте его с помощью устройства Android, подключенного к компьютеру.