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@server ~]$ /usr/bin/id -u 12345 [ldapUser@server ~]$ `/usr/bin/id -u` [ldapUser@server ~]$
As a normal user, the command behaves normally: [user@server ~]$ `/usr/bin/id -u` -bash: 1302: command not found [user@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
On Wed, Jun 25, 2008 at 11:31 AM, kfx kadafax@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@server ~]$ /usr/bin/id -u 12345 [ldapUser@server ~]$ `/usr/bin/id -u` [ldapUser@server ~]$
As a normal user, the command behaves normally: [user@server ~]$ `/usr/bin/id -u` -bash: 1302: command not found [user@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
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@server ~]$ /usr/bin/id -u 12345 [ldapUser@server ~]$ `/usr/bin/id -u` [ldapUser@server ~]$
As a normal user, the command behaves normally: [user@server ~]$ `/usr/bin/id -u` -bash: 1302: command not found [user@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-447967c60eb305ef2...
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.