리디렉션 연산자 후에 sudo nt를 전달합니다.

리디렉션 연산자 후에 sudo nt를 전달합니다.

중복 가능성:
sudo 권한이 거부되었지만 su가 권한을 부여했습니다.

다음을 사용하여 파일에 새 값을 에코하려고 합니다.

  sudo echo 4096 > /proc/sys/fs/file-max

발생하는 오류는 Permission Denied입니다. 하지만 루트 사용자와 동일한 작업을 수행하면 성공합니다. 왜 이런 일이 발생하는지 알 수 있나요? 또는 sudo가 ">" 연산자를 전달하지 않는다고 말할 수 있습니다.

답변1

sudo는 > 연산자를 볼 수 없기 때문에 전달하지 않습니다. 쉘은 > 문자를 해석하고 sudo는 에코 4096만 봅니다. 이는 사용자 ID로 /proc/sys/fs/file-max를 열려고 하는 쉘이 실패했음을 의미합니다.

해결책:

% echo 4096 | sudo dd of=/proc/sys/fs/file-max
% sudoedit /proc/sys/fs/file-max

관련 정보