좋습니다. 내 홈 폴더에는 약 100개의 디렉터리가 있으며 각 디렉터리는 홈 사용자가 소유합니다. 때로는 일부 파일을 루트로 수동으로 교체해야 하므로 권한이 엉망이 되고 일부 파일은 더 이상 해당 사용자에게 속하지 않습니다. 이 문제를 해결하려면 항상 홈 디렉터리에서 다음 명령을 사용해야 합니다.
chown -R user:user user/
이제 100명의 사용자 모두에 대해 이 작업을 수행할 수 없기 때문에 몇 가지 단축키를 찾고 있습니다.
나는 무엇을 할 것인지 알고 싶습니다:
chown -R *:* *
답변1
완전한 대답은
1) 예를 들어 파일을 엽니다. vi chown_homedirs
2) 다음 코드를 입력하세요
#!/bin/bash
cd /home &&
for h in *
do
chown -R "$h:$h" "$h";
done
3) 파일 저장
4)chmod +x chown_homedirs
5) 실행./chown_homedirs
참고: 사용자 디렉터리에 공백이 있으면 항상 확장명을 인용해야 합니다. 확장을 참조하지 않으면 작업이 실패하고 예상치 못한 결과가 발생할 수 있습니다.
답변2
당신은 그것을 사용할 수 있습니다통계자료파일의 사용자 및 그룹 소유권을 얻은 다음 이를 사용하여 파일을 업데이트합니다.
#!/bin/bash
cd /home
for file in *
do
user=$(stat -c %U "$file")
group=$(stat -c %G "$file")
echo chown -R "$user":"$group" "$file"
done
여기에는 소유자/그룹/디렉토리가 동일하지 않은 경우가 포함됩니다. 테스트 결과가 괜찮아 보이면 당연히 에코를 삭제하세요.