find 명령에 sudo 추가: 무엇이 바뀌나요?

find 명령에 sudo 추가: 무엇이 바뀌나요?

이 두 명령의 출력의 차이점은 무엇입니까?

find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;

그리고

sudo find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;

?

답변1

명령은 비슷합니다. find모든 그룹에 쓰기 권한이 추가됩니다 .일반 파일디렉토리 var, vendor, pub/static, pub/mediaapp/etc현재 디렉토리.

두 번째 명령은 find상승된 권한(루트로서)으로 명령을 실행합니다. chmod일부 파일을 특정 사용자가 소유한 경우 해당 파일에 대한 권한을 변경해야 할 수도 있습니다.아니요이 디렉터리 또는 다음 디렉터리의 모든 파일은 일반 사용자(두 명령줄 중 하나를 실행하는 사용자)가 액세스할 수 없거나 디렉터리의 액세스 권한으로 인해 액세스할 수 없습니다.

답변2

바라보다 man sudo:

sudo, sudoedit — execute a command as another user

예제(예: sudo -l anotheruser)에서 sudo 사용자 이름을 지정하지 않았기 때문에 다음과 같이 명령이 실행됩니다.사용자기본값은 루트입니다.

따라서 차이점은 첫 번째 명령은 현재 단말기의 사용자 권한으로 실행되고, 두 번째 명령은 현재 단말기의 사용자 권한으로 실행된다는 점입니다.뿌리.

자세한 내용은 매뉴얼 페이지를 참조하세요.스도.

답변3

find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;

일부 디렉토리에서는 조회가 허용되지 않을 수 있습니다. 예외가 발생합니다. 확장된 찾기 권한에 find: ‘XXX’: Permission denied 대한 두 번째 cmdsudo

관련 정보