chown
수퍼 유저 인 경우 유용합니다. 다른 사람이 make
내 디렉토리에서 실행 되어서 수정할 수없는 일부 파일을 소유 하는 문제가있었습니다 . 다음은 파일과 디렉토리를 처리하는 해결 방법입니다. 디렉토리를 .mkmeowner
삭제할 수 없으면 접미사로 디렉토리를 남겨 둡니다 .
- 다음 스크립트는 전달 된 파일 및 디렉토리의 소유권을 현재 사용자가 소유하도록 변경하고, 현재 사용자가 소유하지 않은 모든 디렉토리 또는 파일의 새 사본을 작성, 삭제 (또는 삭제)하여 권한 문제를 해결하려고 시도합니다. 원본 파일과 이름을 적절히 바꿉니다.
- 의도는 "make me owner"의 약자입니다. 밑줄은 입력하기가 어렵 기 때문에 사용하지 않습니다.
예 :
% mkmeowner .
% mkmeowner dirpath1 dirpath2
- 다음 스크립트
mkmeownerone
가 경로에 있어야합니다 .
mkmeowner :
#!/bin/bash
[ "x$1" == "x-h" ] || [ "x$1" == "x--help" ] && cat << END && exit 0
Usage: $0 dirorfile [direorfile2 ...]:
change ownership of directories or files to current user.
Current user must have permissions to read those and write to owner directory.
END
mkmeownerone=`which mkmeownerone`
for d in $*; do
find "$d" -not -user `whoami` -exec $mkmeownerone {} \;
done
mkmeownerone :
#!/bin/bash
# change ownership of one file or directory
f="$1"
expr match "${f}" '.*\.mkmeowner$' > /dev/null && exit 1 # already tried to do this one
if mv -f "$f" "${f}.mkmeowner"; then
cp -pr "${f}.mkmeowner" "$f" && rm -rf "${f}.mkmeowner"
exit 0
fi
exit 1
man chown
그리고man chmod
쉽게 귀하의 질문에 대답.