chown
Süper kullanıcı iseniz harika. Dizinde başka birisinin çalıştığı bir sorun vardı make
ve şimdi değiştiremediğim bazı dosyalara sahiptim. İşte dosyaları ve dizinleri yöneten geçici çözümüm, her ne kadar .mkmeowner
silemiyorsa etrafta kalan dizinleri bırakıyor olsa da .
- Aşağıdaki komut dosyası, geçerli kullanıcıya ait olmak için kendisine iletilen dosya ve dizinlerin sahipliğini değiştirir, geçerli kullanıcıya ait olmayan her dizinin veya dosyanın yeni bir kopyasını alarak, silerek (veya silmeye çalışarak) izin sorunları üzerinde çalışmayı dener. Özgün dosya ve uygun şekilde yeniden adlandırılması.
- Amaç, "beni sahibi yap" için bir kısaltma yapmak. Alt çizgi kullanmıyorum, çünkü yazmak için bir acı.
Örnekler:
% mkmeowner .
% mkmeowner dirpath1 dirpath2
- Aşağıdaki komut dosyasının
mkmeownerone
yolunda olması gerekir.
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
veman chmod
sorunuzu kolayca cevaplayın.