사용자에게 지정된 파일에 대한 권한을 변경하도록 대화형으로 요청하는 방법

사용자에게 지정된 파일에 대한 권한을 변경하도록 대화형으로 요청하는 방법

사용자에게 세 가지 권한 영역 각각에 대해 읽기, 쓰기 및/또는 실행을 활성화할지 묻는 방식으로 지정된 파일이 대화형으로 권한을 변경할 수 있도록 하는 스크립트를 만들어야 합니다. 새 권한을 결정한 후에는 이를 파일에 적용해야 합니다.

나는 이에 대한 스크립트 작성을 시작하는 방법을 연구하는 데 한 시간 이상을 소비했지만 성공하지 못했습니다. 이것은 나에게 너무 복잡해 보이지만 이를 수행하는 방법을 배우고 싶고 이 스크립트를 올바른 방향으로 안내할 수 있는 조언에 정말 감사하겠습니다.

답변1

이걸 사용하다 적발된다면...

#!/bin/bash

# Did user supply an argument (path to folder?)
if [ "${1}" == "" ] ; then
  echo "Directory path required as argument" && exit 1
fi

# Was the arg a valid directory?
if [ ! -d "${1}" ] ; then
  echo "Directory argument was invalid" && exit 1
fi

# Re assign variable
dir="${1}"

# Get a list of files in directory
files=$(ls ${dir})

# Loop over files and ask questions
while file in "${files}" ; do

  # Prompt user for permissions to be set on user/group/owner
  read -p "Set permission for (u)ser/(g)roup/(o)wner? [u|g|o]" who

  # Prompt user for read/write/execute permission to be set
  read -p "Add read/write/execute to ${file}? [r|w|x]" ans

  # Set the specified permission for the specified account type
  chmod ${who}=${ans} ${file}

done

실제로 파일당 여러 계정 유형 읽기/쓰기/실행 비트를 적용하는 루프를 제공해야 하지만 너무 늦었습니다.

관련 정보