【发布时间】:2015-04-08 16:12:59
【问题描述】:
我有一个需要以 root 身份运行的脚本。在此脚本中,我创建目录和文件。运行脚本的用户不能修改文件和目录(当然,除非有 root)。
我已经尝试了在这里和其他网站找到的几种解决方案,首先我尝试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 /*,没有报错,但是没有root权限我还是不能删除文件。
这是完整的脚本,还没有完成。不要在连接到计算机的安卓设备上运行它。
【问题讨论】:
标签: bash shell root file-permissions