41 lines
1.5 KiB
Bash
41 lines
1.5 KiB
Bash
#!/bin/bash
|
||
set -e # 遇错即退出
|
||
|
||
##############################################################################
|
||
# 1. 获取当前脚本所在目录
|
||
##############################################################################
|
||
SCRIPT_DIR=$(cd "$(dirname "$0")"; pwd)
|
||
DIR_PERM="755"
|
||
FILE_PERM="644"
|
||
|
||
echo -e "\n📂 [INFO] 当前目录:${SCRIPT_DIR}"
|
||
|
||
##############################################################################
|
||
# 2. 授权当前目录下所有文件和子目录
|
||
##############################################################################
|
||
echo -e "\n📌 开始授权 ${SCRIPT_DIR} 下的所有文件..."
|
||
|
||
# 修改目录权限
|
||
find "${SCRIPT_DIR}" -type d -exec chmod ${DIR_PERM} {} \;
|
||
|
||
# 修改文件权限
|
||
find "${SCRIPT_DIR}" -type f -exec chmod ${FILE_PERM} {} \;
|
||
|
||
# 修改所有者为当前用户
|
||
sudo chown -R "$(whoami):$(whoami)" "${SCRIPT_DIR}"
|
||
|
||
##############################################################################
|
||
# 3. 显示授权结果示例
|
||
##############################################################################
|
||
TEST_DIR=$(find "${SCRIPT_DIR}" -type d | head -n 1)
|
||
TEST_FILE=$(find "${SCRIPT_DIR}" -type f | head -n 1)
|
||
|
||
if [ -n "${TEST_DIR}" ]; then
|
||
echo -e "✅ 目录示例权限(${TEST_DIR}):$(ls -ld "${TEST_DIR}" | awk '{print $1, $3, $4}')"
|
||
fi
|
||
if [ -n "${TEST_FILE}" ]; then
|
||
echo -e "✅ 文件示例权限(${TEST_FILE}):$(ls -l "${TEST_FILE}" | awk '{print $1, $3, $4}')"
|
||
fi
|
||
|
||
echo -e "\n🎯 所有文件授权完成!\n"
|