相同的文件内容但md5sum值不同?

时间:2013-05-16 07:56:33

标签: file

我发现了一个奇怪的问题。 pam无法正确读取common-account.puppet 可以通过pam正确读取common-account.written。

然而他们的文字是相同的,使用meld和vimdiff

md5sum  common-account.puppet common-account.written
7e80513f6dc8f7604ec36dbf6248780d  common-account.puppet
47425f79f81d38eadbadb0c3de89aafc  common-account.written

我不确定两者之间有什么区别。任何显示更多差异日志的命令?

kithokit@15:46:58 ~ $ md5sum common-account.puppet common-account.written 
7e80513f6dc8f7604ec36dbf6248780d  common-account.puppet
47425f79f81d38eadbadb0c3de89aafc  common-account.written
kithokit@15:47:08 ~ $ diff common-account.puppet common-account.written
1,29c1,29
< #
< # /etc/pam.d/common-account - authorization settings common to all services
< #
< # This file is included from other service-specific PAM config files,
< # and should contain a list of the authorization modules that define
< # the central access policy for use on the system.  The default is to
< # only deny service to users whose accounts are expired in /etc/shadow.
< #
< # As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
< # To take advantage of this, it is recommended that you configure any
< # local modules either before or after the default block, and use
< # pam-auth-update to manage selection of other modules.  See
< # pam-auth-update(8) for details.
< #
< 
< # here are the per-package modules (the "Primary" block)
< account sufficient    pam_winbind.so
< account required     pam_unix.so
< 
< #account    [success=2 new_authtok_reqd=done default=ignore]    pam_unix.so 
< #account    [success=1 new_authtok_reqd=done default=ignore]    pam_winbind.so 
< # here's the fallback if no module succeeds
< #account    requisite            pam_deny.so
< # prime the stack with a positive return value if there isn't one already;
< # this avoids us returning an error just because nothing sets a success code
< # since the modules above will each just jump around
< #account    required            pam_permit.so
< # and here are more per-package modules (the "Additional" block)
< # end of pam-auth-update config
---
> #
> # /etc/pam.d/common-account - authorization settings common to all services
> #
> # This file is included from other service-specific PAM config files,
> # and should contain a list of the authorization modules that define
> # the central access policy for use on the system.  The default is to
> # only deny service to users whose accounts are expired in /etc/shadow.
> #
> # As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
> # To take advantage of this, it is recommended that you configure any
> # local modules either before or after the default block, and use
> # pam-auth-update to manage selection of other modules.  See
> # pam-auth-update(8) for details.
> #
> 
> # here are the per-package modules (the "Primary" block)
> account sufficient    pam_winbind.so
> account required     pam_unix.so
> 
> #account    [success=2 new_authtok_reqd=done default=ignore]    pam_unix.so 
> #account    [success=1 new_authtok_reqd=done default=ignore]    pam_winbind.so 
> # here's the fallback if no module succeeds
> #account    requisite            pam_deny.so
> # prime the stack with a positive return value if there isn't one already;
> # this avoids us returning an error just because nothing sets a success code
> # since the modules above will each just jump around
> #account    required            pam_permit.so
> # and here are more per-package modules (the "Additional" block)
> # end of pam-auth-update config

谢谢你能提供帮助

1 个答案:

答案 0 :(得分:2)

文件看起来相同,但7e80513f6dc8f7604ec36dbf6248780d是包含Windows EOL字符的文件,而47425f79f81d38eadbadb0c3de89aafc是与Unix EOL相同的文件。

我们可以使用

vim -b <filename> 

显示该文件是否有^ M字符。

如果是,请手动删除或执行

dos2unix <filename>