스크립트에서 I/O 플러그인 sudoers_io:(amazon linux)를 초기화할 수 없는 것과 관련된 오류가 발생하기 시작합니다.
sudo 명령을 사용할 때마다 해당 명령의 사용을 기록하지 못하기 때문에 일부 로그를 삭제할 수 없습니다. 공간을 확보하거나 로그를 삭제/회전하는 방법에 대한 아이디어가 있습니까?
출력은 다음과 같습니다.
[ec2-user@ip-xx-xx-xx-xx log]$ sudo bash
sudo: unable to mkdir /var/log/sudo-io/00/2A: No space left on device
sudo: error initializing I/O plugin sudoers_io
[ec2-user@ip-xx-xx-xx-xx log]$ du -s * | sort -nr | head
du: cannot read directory ‘audit’: Permission denied
du: cannot read directory ‘sudo-io’: Permission denied
16092 secure
2188 secure-20180401
640 messages-20180325
640 messages-20180318
636 messages-20180401
636 messages-20180311
196 cloud-init.log
160 wtmp
132 messages
104 dracut.log
답변1
분명히 sudo(ers)에서 전체 출력 로깅을 활성화했습니다.
공간을 확보하는 가장 쉬운 방법(로그 삭제 등 ) 은 구성에서 허용하는 경우 다음 sudo
으로 로그인하거나 root
을(를) 사용하는 것 입니다.su
가득 찬 정도 에 따라 /var/log
이러한 절차가 성공할 수도 있고 성공하지 못할 수도 있습니다. 최악의 경우 단일 모드 또는 라이브 시스템에서 부팅하면 모든 것을 정리할 수 있습니다.
너무 많은 작업을 기록해야 하는 특별한 요구가 없다면 로깅 설정을 변경하도록 sudo
편집하겠습니다 . /etc/sudoers
이렇게 긴 설정은 사용 가능한 공간을 빠르게 소모하게 됩니다.
답변2
현재 겪고 있는 문제는 잘못 구성된 sudoers 파일의 증상일 수 있습니다.
tail /var/log/sudo.log
항상 같은 명령이 표시 된다면 sudo 옵션을 추가해야 합니다 NOLOG_INPUT: NOLOG_OUTPUT:
.
예:
user ALL = (root) NOPASSWD: NOLOG_INPUT: NOLOG_OUTPUT: /usr/bin/mycommand, /usr/bin/secondcommand
그러나 많은 서버로 대규모 설정을 관리하는 경우 /etc/sudoers 파일에서 다음을 설정하는 것이 좋습니다.
Defaults maxseq=1000
경고하다:
- 이 설정은 버전 1.8.7 이상에서만 지원됩니다.
- 이 옵션은 매뉴얼의 "문자열" 섹션에 나열되어 있는데 이는 분명히 잘못된 것입니다. 이는 제공해야 하는 정수 값입니다.
추가 정보:
답변3
디스크에 여유 공간이 있는 경우(확인하셨습니까 df -h
?) inode 문제일 가능성이 가장 높습니다. df -i
여기에서 check var partition과 같은 inode 사용량을 확인하려면 실행하세요 .
[root@test-kompjuteras ~]# df -hi
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/VolGroup-lv_root 313K 9.5K 304K 4% /
tmpfs 984K 1 984K 1% /dev/shm
/dev/sda1 126K 44 125K 1% /boot
/dev/mapper/VolGroup-lv_var 250K 250K 0 100% /var
100% 어딘가에 있다면 일부 파일을 삭제하거나 다른 파티션이나 다른 저장소로 이동해야 합니다.