kfx wrote:
Hi list,

Since the upgrade to 5.2, when I log into my server with a ldap account I have these 2 errors messages:
-bash: [: =: unary operator expected
-bash: [: -le: unary operator expected

After investigation, the trouble come from two scripts in /etc/profile.d:
/etc/profile.d/krb5-workstation.sh
/etc/profile.d/vim.sh

The problem is with the test where the command "id" is involved, like:
if [ `/usr/bin/id -u` = 0 ] ;

If I add double quotes ("`/usr/bin/id -u`"), it will work again.

Indeed, as a connected ldap user, the id command returns nothing when quoted:
[EMAIL PROTECTED] ~]$ /usr/bin/id -u
12345
[EMAIL PROTECTED] ~]$ `/usr/bin/id -u`
[EMAIL PROTECTED] ~]$

As a normal user, the command behaves normally:
[EMAIL PROTECTED] ~]$ `/usr/bin/id -u`
-bash: 1302: command not found
[EMAIL PROTECTED] ~]$ /usr/bin/id -u
1302


I have modified theses two scripts but I am afraid it will break something in the future.
Any idea on how to resolve this cleanly ?

This is a known upstream bug, please see the release notes:

http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.2#head-447967c60eb305ef2c5dbbc3f4e8b3c4c5170632

As stated there, we have an nss_ldap package in the testing repo that can fix this issue, but it will not be fixed in the official repo until upsream releases a fix.


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos

Reply via email to