/ etc / shadow 파일에 주석을 어떻게 넣습니까?


10

일부 시스템 업그레이드를 진행 중이며 패키지 관리자가 업스트림 / etc / shadow와 내 사이의 변경 사항을 보여줍니다.

다음에 이런 일이 발생할 때 파일에 주석을 달고 싶습니다. 문제를 일으키지 않고 / etc / shadow 파일에 주석을 넣는 방법은 무엇입니까?

나는 기본 "#"이 그렇게 할 것이라고 생각하고 있지만, 이것이 잘못되면 재부팅이 그다지 즐겁지 않을 것입니다.


etckeeper를 사용 하고 커밋 메시지에 주석을 기록하십시오.
Gilles 'SO- 악마 그만해'

답변:


14

GNU libc를 사용하는 Linux 시스템 #에서로 시작하는 행 은에서 무시됩니다 /etc/shadow. 구문 분석이 수행되고 __fgetspent_r(), 그 소스 코드는 명시 적으로이 문제를 처리 (문서).

리눅스 시스템의 대부분에 그래서 당신의 줄 댓글을 달 수 있습니다 /etc/shadow와를 #문제없이.

불행히도 주석은 /etc/shadow업데이트 될 때 삭제 됩니다 ( : passwd; 따라서 주석 저장은 실제로 안전하지 않습니다 (댓글의 관점에서).

당신이 당신의 의견을 저장하기 위해 다른 곳에서 찾을 필요가이 방법의 두 가지 좋은 제안은 DR01아이디어를 사용 /etc/shadow.README, 또는 더 나은 아직 ' 개념 의 사용이있는 메시지 커밋 etckeeper을 .


단지에 대한 어떤 잘못된 항목으로 길을 잃을 것으로 보인다 passwd. 가짜 사용자 항목이나 유효한 항목을 사용하여 최종 항목에 문자를 추가했지만 모두 사용할 수는 없었습니다.
Otheus

7

모든 줄은 /etc/shadow사용자 레코드로 간주됩니다. 파서의 소스 코드를 검토 한 Stephen Kitt이 작성한 것처럼 #파일에 주석으로 시작하는 줄 이나 빈 줄을 넣을 수 있으며 무시됩니다.

그러나 나는 /etc/shadow그것에 대한 의견이 담긴 파일을 본 적이 없다 . 일반적인 관행은 아니며 매우 좋은 이유가 있습니다. 직접 편집하는 것은 바람직하지 않습니다 . 따라서 /etc/shadow.README댓글을 저장 하는 대신 파일 을 만드는 것이 좋습니다 . chmod 000루트가 아닌 사용자가 스누핑하지 않도록 파일을 기억하십시오 .


000? 소유 root:root다음과 ug=r,o=충분하지?
0xC0000022L

000은 /etc/shadow(적어도 Red Hat에서는 다른 배포판에서는 보지 않았습니다) 의 권한이며 루트 만 파일에 액세스 할 수 있는지 확인하십시오. 440은 제안한대로 실수로 루트 그룹에 참여해야하는 일반 사용자가 파일을 읽을 수있게 만듭니다. 적절하게 관리되는 컴퓨터에서 모든 실제적인 목적으로 동일한 가치가 있습니다. 나는 000이 "보안에 중요한 파일-손을 떼지 말라"는 의미를 더 잘 전달한다고 생각하지만 그것은 단지 내 의견 일뿐입니다.
dr_

@ dr01 : 일반 사용자가 슈퍼 유저없이 루트 그룹에 어떻게 참여하는지 확실하지 않습니다. 그리고 수퍼 유저가 실수를 저지르면 모든 베팅이 해제됩니다. 예를 들어 사람이 이미 sudoer이고 파일에 액세스 할 수있는 좋은 기회가 있습니다. 나는 그것을 모호한 것으로 생각하지만 YMMV입니다.
0xC0000022L

그것이 바로 "정상적인 사용자가 실수로 루트 그룹에 합류"한다는 의미입니다. 저의 경우는 수퍼 유저가 실수로 루트 그룹에 넣을 수 있다는 것입니다. 000 권한은 루트 만 파일에 액세스하도록 허용합니다. 나는 그것이 아마도 대단한 사례 일 것이라는 것을 알고 있지만 주석 파일이와 동일한 권한을 갖기 때문에이 방법도 훨씬 더 깨끗하다고 ​​생각합니다 /etc/shadow.
dr_

3

물론으로 변경되었습니다 /etc/shadow. 서버 의 계정 정보 ( 해시 된 암호, 계정 만료 등)가 바이트 단위의 업스트림 복사본이 되기를 원하지 않습니다 ./etc/shadow/etc/shadow

그리고 /etc/shadow업스트림 데이터 소스에서 얻은 내용으로 현재 를 덮어 쓰지 않기를 바랍니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.