/proc에 쓰기 권한 문제

/proc에 쓰기 권한 문제

리눅스 초보자들이 다루려고 하는 것/proc/sys/fs/file-max

sudo sh -c 300000 > file-max반품 bash: file-max: Permission denied. 이 작업을 수행하려면 정말로 루트 권한이 있어야 합니까? 제가 사용하고 있는 사용자 계정이 sudo 사용자 그룹에 추가되었습니다.

주로 다른 폴더를 수정하려고 시도하면서 이 질문에 대한 변형을 보았습니다. 위 명령은 문제를 완화하기 위한 제안이지만 /proc디렉터리가 다른가요?

참고: 최신 Kali Linux 버전을 사용하세요.

답변1

당신이 제안한 순서는 의미가 없습니다. 수퍼유저 셸이 명령을 실행 하고 출력을 비수퍼유저 셸의 현재 작업 디렉터리에 있는 파일 로 리디렉션하도록 sudo sh -c 300000 > file-max시도합니다 .300000file-max

다음과 같은 작업을 수행할 수 있습니다.

sudo sh -c 'echo 300000 > /proc/fs/file-max'

즉, 직접 작성하는 /proc것은 이러한 속성을 변경하는 다소 이상한 방법입니다. 이 변경 사항을 구현하는 보다 "존경받는" 방법은 다음과 같습니다.

sudo sysctl -w fs.file-max=300000

답변2

sudo이전 에 리디렉션이 수행되었으므로 sudo리디렉션 권한을 높일 수 없습니다. 이 작업을 수행하려면 루트 권한이 있는 셸이 필요합니다.

sudo bash -c 'echo 300000 >/proc/sys/fs/file-max'

답변3

문제는 /proc/file-max루트가 아닌 사용자로 덮어쓰게 된다는 것입니다.

하다:

echo 300000 | sudo tee /proc/sys/fs/file-max

또는:

sudo sysctl -w fs.file-max=300000

변경 사항을 적용하려면 네트워크를 다시 시작해야 합니다. 네트워크를 수동으로 다시 시작하는 명령은 다음과 같습니다.

sudo service networking restart

또한 서버를 다시 시작해도 지속되도록 fs.file-max=300000설정을 추가해야 합니다 ./etc/sysctl.conf

echo "fs.file-max=300000" | sudo tee -a /etc/sysctl.conf

관련 정보