다른 사용자로 디렉터리 및 하위 디렉터리 만들기 [닫기]

다른 사용자로 디렉터리 및 하위 디렉터리 만들기 [닫기]

다른 사용자로 쉘 스크립트 내부에서 디렉토리와 하위 디렉토리를 생성하려고 합니다.

문제는 root소유권을 가지고 디렉토리가 생성되도록 스크립트를 실행하고 있다는 것입니다. 디렉터리 및 하위 디렉터리 이름이 포함된 텍스트 파일이 있고 root이 작업을 수행하기 위해 다음 명령을 사용하고 있습니다.

cat dirname.txt | xargs -L 1 mkdir

다음과 같습니다.

cet/mnt
cet/mnt/jkl
cet/mnj/lok

시도했지만 sudo상위 디렉터리만 필요한 사용자 소유권을 얻습니다.

답변1

왜 이렇게 하면 안 되나요?

user="foo"
group="bar"
perm=741

for dir in $(cat dirname.txt); do
    mkdir ${dir}
    chown ${user}:${group} ${dir}
    chmod -R ${perm} ${dir}
done

향후 변경을 더 쉽게 만들려면 변수를 활용하는 것이 가장 좋습니다. 한 줄 대신 디렉터리 목록을 반복하는 것도 유지 관리가 더 쉽습니다.

답변2

다음과 같이 시도해 보세요:

cat dirName.txt | xargs -L 1 sudo -u ubuntu mkdir -p

관련 정보