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:
[ldapUser at server ~]$ /usr/bin/id -u
12345
[ldapUser at server ~]$ `/usr/bin/id -u`
[ldapUser at server ~]$
As a normal user, the command behaves normally:
[user at server ~]$ `/usr/bin/id -u`
-bash: 1302: command not found
[user at server ~]$ /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 ?
Best regards,
kfx
PS: Linux server 2.6.18-92.1.1.el5xen #1 SMP Sat Jun 21 19:21:20 EDT
2008 x86_64 x86_64 x86_64 GNU/Linux
Tim Verhoeven
2008-Jun-25 09:35 UTC
[CentOS] /usr/bin/id behavior since CentOS 5.2 upgrade
On Wed, Jun 25, 2008 at 11:31 AM, kfx <kadafax at gmail.com> 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: > [ldapUser at server ~]$ /usr/bin/id -u > 12345 > [ldapUser at server ~]$ `/usr/bin/id -u` > [ldapUser at server ~]$ > > As a normal user, the command behaves normally: > [user at server ~]$ `/usr/bin/id -u` > -bash: 1302: command not found > [user at server ~]$ /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 ?Hi, Read the release notes (http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.2) and check the known issues section and the piece about nss_ldap. Regards, Tim -- Tim Verhoeven - tim.verhoeven.be at gmail.com - 0479 / 88 11 83 Hoping the problem magically goes away by ignoring it is the "microsoft approach to programming" and should never be allowed. (Linus Torvalds)
Johnny Hughes
2008-Jun-25 09:39 UTC
[CentOS] /usr/bin/id behavior since CentOS 5.2 upgrade
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: > [ldapUser at server ~]$ /usr/bin/id -u > 12345 > [ldapUser at server ~]$ `/usr/bin/id -u` > [ldapUser at server ~]$ > > As a normal user, the command behaves normally: > [user at server ~]$ `/usr/bin/id -u` > -bash: 1302: command not found > [user at server ~]$ /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. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 251 bytes Desc: OpenPGP digital signature URL: <http://lists.centos.org/pipermail/centos/attachments/20080625/d1f78e2c/attachment-0002.sig>