Centos 6 시스템에서 새 사용자를 생성하려고 합니다.
우선, 나는
useradd kevin
그런 다음 해당 사용자로 명령을 실행해 보았습니다.
su - kevin
그러나 다음과 같은 오류 메시지가 나타납니다.
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
[kevin@gazelle ~]$
나는 그 사용자처럼 많은 일을 할 수 없습니다.
그 권한은 /dev/null
다음과 같습니다:
-rwxr-xr-x 1 root root 9 Jul 25 17:07 null
내 Mac과 거의 동일합니다.
crw-rw-rw- 1 root wheel 3, 2 Jul 25 14:08 null
그것은가능한, 하지만 실제로 그럴 가능성은 거의 없습니다. 개발자에게 문의했습니다.
kevin
루트 사용자로서 그룹 에 추가하려고 합니다 root
.
usermod -a -G root kevin
하지만 여전히 /dev/null
권한 거부 오류가 발생합니다.
신규 사용자는 왜 글을 쓸 수 없나요 /dev/null
?
새로운 사용자는 어떤 그룹에 속해야 합니까?
내가 사용자를 올바르게 사칭하고 있는 것이 아닌가요?
Linux에서 사용자/권한 설정에 대한 초보자 가이드가 있습니까?
답변1
분명히 누군가 일반 파일을 /dev/null로 옮겼습니다. 다시 시작하면 다시 생성되거나 수행됩니다.
rm -f /dev/null; mknod -m 666 /dev/null c 1 3
@Flow가 댓글에서 지적했듯이 root
이렇게 해야 합니다.
1
다음은 3
Linux 기반 운영 체제의 장치 메이저 및 마이너 번호입니다(드라이버가 처리하는 세 번째 장치 , mem
참조 /proc/devices
) . 운영 체제마다 다릅니다. 예를 들어 ,cat /sys/devices/virtual/mem/null/dev
readlink /sys/dev/char/1:3
2
2
OpenBSD에서그리고AIX, 특정 운영 체제에서 항상 동일하지는 않을 수 있습니다. 일부 운영 체제에서는 다시 생성하는 데 도움이 되는 makedev
/ MAKEDEV
명령을 제공할 수 있습니다.
답변2
이것은 트릭을 수행해야 합니다(루트로서):
rm /dev/null
mknod /dev/null c 1 3
chmod 666 /dev/null
이 명령이 수행하는 작업은 다음과 같습니다.
rm
예상 파일 누락으로 인해 생성된 가짜 파일 제거mknod
/dev/null
Linux 커널에 적합한 메이저 및 마이너 번호로 명명된 문자 장치 생성chmod
모든 사용자에게 읽기 및 쓰기 권한을 설정합니다/dev/null
.
답변3
Mark가 제안한 솔루션은 OpenBSD에서 작동하지 않습니다. 하지만
mknod -m 666 /dev/null c 2 2
효과가 있었습니다. OpenBSD 5.6에서 이것을 테스트했습니다. 허용된 답변이 실행되면 /dev/null
해당 답변에서 읽은 코드가 매우 심각하게 차단되고 중단됩니다.
OpenBSD(포함)에서 모든 표준 장치를 다시 생성하려면 null
루트로 다음을 사용해야 합니다:
cd /dev
./MAKEDEV std
답변4
IBM AIX 서버의 경우에도 동일한 작업을 수행했는데 작동 중입니다.
# rm /dev/null;mknod /dev/null c 2 2;chown root:system /dev/null;chmod 0666 /dev/null
# ls -l /dev/null
crw-rw-rw- 1 root system 2, 2 Jul 10 22:18 /dev/null