chown
ดีมากถ้าคุณเป็น superuser ฉันมีปัญหาว่ามีคนอื่นทำงานmake
ในไดเรกทอรีของฉันและตอนนี้เป็นเจ้าของไฟล์บางอย่างที่ฉันไม่สามารถแก้ไขได้ นี่เป็นวิธีแก้ปัญหาของฉันซึ่งจัดการไฟล์และไดเรกทอรีแม้ว่ามันจะทิ้งไดเรกทอรีไว้รอบ ๆ ด้วยคำต่อท้าย.mkmeowner
หากไม่สามารถลบออกได้
- สคริปต์ต่อไปนี้จะเปลี่ยนความเป็นเจ้าของของไฟล์และไดเรกทอรีที่ส่งไปเป็นเจ้าของโดยผู้ใช้ปัจจุบันพยายามที่จะแก้ไขปัญหาการอนุญาตด้วยการทำสำเนาใหม่ของทุกไดเรกทอรีหรือไฟล์ที่ผู้ใช้ปัจจุบันไม่ได้เป็นเจ้าของการลบ (หรือพยายามลบ) ไฟล์ต้นฉบับและเปลี่ยนชื่ออย่างเหมาะสม
- ความตั้งใจที่จะเป็นตัวย่อของ "ทำให้ฉันเป็นเจ้าของ" ฉันไม่ได้ใช้ขีดเส้นใต้เพราะพวกเขาเจ็บปวดในการพิมพ์
ตัวอย่าง:
% 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
ตอบคำถามของคุณได้อย่างง่ายดาย