権限が変更されていても、現在のユーザーに読み取りおよび実行権限があるファイルを確認する方法

権限が変更されていても、現在のユーザーに読み取りおよび実行権限があるファイルを確認する方法

コマンドがすべてを一覧表示するシェルスクリプトを生成しようとしています。読み取りと実行可能ユーザーが誰であるか、ユーザーがどこにいるかに関係なく、私または現在のユーザーが許可するファイルです。したがって、後で権限を変更しても、変更は反映され続けます。

これが私が今まで持っているものです:

user=`id -un`
group=`id -gn`

IFS='
'
for file in `ls -al /home/cg/root`; do
    perm=$(echo $file | awk '{print $1}')
    fileowner=$(echo $file | awk '{print $3}')
    filegroup=$(echo $file | awk '{print $4}')
    ownerreadbit=${perm:1:2}
    ownerexecbit=${perm:3:4}
    groupreadbit=${perm:4:5}
    groupexecbit=${perm:6:7}
    worldreadbit=${perm:7:8}
    worldexecbit=${perm:9:10}
    if ["$user"=="$fileowner" && "$ownerreadbit"=="r" && "$ownerexecbit"=="x"]; then
        echo $file
    elif ["$group"=="$filegroup" && "$groupreadbit"=="r" &&" $groupexecbit"=="x"]; then
        echo $file
    elif ["$worldreadbit"=="r" && "$worldexecbit"=="x"]; then
        echo $file
    fi
done

ベストアンサー1

GNUfindコマンドを使用しないのはなぜですか?

find /home/cg/root -readable -executable

または、ファイルのリストのみをリストしてください。

find /home/cg/root -readable -executable -type f

おすすめ記事