나는 umask 077에 대한 파일의 내용을 확인하기 위해 루비에 CheS InSpec 테스트를 작성하고 있습니다. 문제는 내가 찾고있는 배열에있는 파일 중 일부가 존재하지 않는다는 것입니다. nil 파일을 제외하고 다시 밀어 넣으려고하는데 어쨌든 모든 파일을 검사하려고 시도하는 것 같습니다. 이견있는 사람? ,존재하는 경우 InSpec으로 파일 내용을 확인하십시오.
control 'auth-default-umask' do
impact 0.5
title 'Default umask'
desc 'DISA RHEL6 STIG (V1R2)'
%w(/etc/profile /etc/bashrc /etc/csh.login /etc/.login).each do |umask_file|
filecheck = []
unless umask_file == nil
filecheck.push(umask_file)
describe directory(filecheck) do
its('content') { should match /umask 077/ }
end
end
end
end
는 빠른 응답 주셔서 감사합니다! 이 방법은 효과가 있지만 왜 그런지는 확신 할 수 없습니다. 원래 필자는 filecheck 변수가 존재했는지 확인한 다음 모든 파일을 보유하고 싶었지만 여기서는 발생하지 않는 것으로 보입니다. filecheck가이 코드로 정확히 무엇을하고 있습니까? – Blooze
@Blooze 존재하는 모든 파일을 보유하고 있습니다. 기능적으로 실제로는 아무 것도 유용하지 않으며 코드에서 안전하게 제거 할 수 있습니다. @Casraf이 질문은 실제로 셰프와 관련이 없으며'describe directory'는 실제로'describe file'이어야합니다 (RSpec matcher와 마찬가지로 작동 할지라도'file'가 이에 대한 기본 설정입니다). –
@Blooze 답변에 선명도를 추가했습니다. :) – casraf