WHM 인스턴스에서 내 섀도우 파일에 대한 잘못된 권한에 대해 경고하는 경고 메시지를 받았습니다. 그런데 실제 권한( 0400
)은 맞는 것 같고, 보고하는 권한도 엄청 큰 것 같은데... 숫자?
오늘 아침부터:
/etc/shadow has non default permissions. Expected: 2401450770, Actual: 0400.
Review the permissions on /etc/shadow to ensure they are safe
오늘 저녁부터:
/etc/shadow has non default permissions. Expected: 3377602730, Actual: 0400.
Review the permissions on /etc/shadow to ensure they are safe
보고된 권한은 무엇을 의미하며 WHM이 만족하지 않는 이유는 무엇입니까 0400
?
답변1
소스를 보고 있습니다. 권한을 0200 또는 0600으로 설정해 보세요.
sub _check_for_unsafe_permissions {
my ($self) = @_;
my %test_files = (
'/etc/shadow' => { 'perms' => [ 0200, 0600 ], 'uid' => 0, 'gid' => 0 },
'/etc/passwd' => { 'perms' => [0644], 'uid' => 0, 'gid' => 0 }
);
for my $file ( keys %test_files ) {
my $expected_attributes = $test_files{$file};
my ( $current_mode, $uid, $gid ) = ( stat($file) )[ 2, 4, 5 ];
my $perms_ok = 0;
foreach my $allowed_perms ( @{ $expected_attributes->{'perms'} } ) {
if ( ( $allowed_perms & 07777 ) == ( $current_mode & 07777 ) ) {
$perms_ok = 1;
last;
}
}
if ( !$perms_ok ) {
my $expected_mode = sprintf( "%04o", $expected_attributes->{'perms'} );
my $actual_mode = sprintf( "%04o", $current_mode & 07777 );
$self->add_warn_advice(
'text' => ["$file has non default permissions. Expected: $expected_mode, Actual: $actual_mode."],
'suggestion' => ["Review the permissions on $file to ensure they are safe"]
);
}
if ( $uid != $expected_attributes->{'uid'} or $gid != $expected_attributes->{'gid'} ) {
$self->add_warn_advice(
'text' => ["$file has non root user and/or group"],
'suggestion' => ["Review the ownership permissions
예상되는 권한 출력은 4자 8진수 형식의 값이어야 하지만 Perl의 sprint 함수가 가비지를 표시하는 다차원 배열 값을 부적절하게 표시하는 것처럼 보입니다.
출처(Security Advisor는 WHM 보안 센터 - Cpanel 내에 있습니다) https://github.com/bdraco/addon_securityadvisor https://github.com/bdraco/addon_securityadvisor/blob/master/pkg/Cpanel/Security/Advisor/Assessors/Permissions.pm