مشکل
هنگام اجرای curl به عنوان root خطای "جلسات غیر ناشناس باید از رمزگذاری استفاده کنند" رخ می دهد:
# curl -v -k --ftp-ssl --ftp-pasv ftp: // 192.168.XX : 990 / - کاربر hcpa: XXX * در شرف اتصال () به 192.168.X.X پورت 990 (# 0) * تلاش 192.168.X.X ... متصل است * به پورت 990 (# 0) به 192.168.X.X (192.168.X.X) متصل شد < 220 FTP SERVER INFOVALMER. > کاربر hcpa <530 جلسات غیر ناشناس باید از رمزگذاری استفاده کنند. * دسترسی ممنوع است: 530 * اتصال شماره 0 حلقه: (67) دسترسی ممنوع است: 530
با این وجود هنگام اجرای دستور curl همان کاربر غیرروت ، همه کار می کند:
# su - testuser $ curl -v -k --ftp-ssl --ftp-pasv ftp: //192.168.X.X: 990 / --user hcpa: XXX * در شرف اتصال () به 192.168.10.1 پورت 990 (# 0) * تلاش 192.168.X.X ... متصل است * به پورت 990 (# 0) به 192.168.X.X (192.168.X.X) متصل شد < 220 FTP SERVER INFOVALMER. > AUTH SSL < 234 Proceed with negotiation. * Initializing NSS with certpath: /etc/pki/nssdb * warning: ignoring value of ssl.verifyhost * skipping SSL peer certificate verification * NSS: client certificate not found (nickname not specified) * SSL connection using SSL_RSA_WITH_3DES_EDE_CBC_SHA * Server certificate: * subject: ,CN=ftp-infovalmer,OU=VALORADOR,O=INFOVALMER,L=BOGOTA,ST=CUNDINAMARCA,C=CO * start date: sep 10 22:11:55 2015 GMT * expire date: sep 09 22:11:55 2018 GMT * common name: ftp-infovalmer * issuer: @ ,CN=ftp-infovalmer,OU=VALORADOR,O=INFOVALMER,L=BOGOTA,ST=CUNDINAMARCA,C=CO > کاربر hcpa < 331 Please specify the password. > PASS XXX <230 ورود به سیستم موفقیت آمیز است.
راه حل
متغیر محیطی $ LD_LIBRARY_PATH را به /root/.bash_profile اضافه کنید.
/ usr / bin / curl به دنبال فهرست / برنامه ها / MATLAB / v81 / bin / glnxa64 / هنگام جستجو است کتابخانه libcurl .so.4:
# ldd / usr / bin / curl linux-vdso.so.1 => (0x00007fffc9f7d000) libcurl.so.4 => /apps/MATLAB/v81/bin/glnxa64/libcurl.so.4 (0x00007f291de7b000) <----- libidn.so.11 => /lib64/libidn.so.11 (0x0000003201600000) libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00000033afc00000) librt.so.1 => /lib64/librt.so.1 (0x00000033ab400000) libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00000032bba00000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00000032bc200000)
در شرایط عادی ، فرض بر این است که / usr / bin / curl هنگام جستجوی libcurl.so به دنبال فهرست / usr / lib64 / است. 4:
# ldd / usr / bin / curl linux-vdso.so.1 => (0x00007fff8dbe1000) libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00000033ac400000) <----- libidn.so.11 => /lib64/libidn.so.11 (0x0000003201600000) libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00000033afc00000) librt.so.1 => /lib64/librt.so.1 (0x00000033ab400000) libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00000032bba00000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00000032bc200000)
1. افزودن متغیر محیطی $ LD_LIBRARY_PATH به /root/.bash_profile بر روی تمام برنامه هایی که به صورت root اجرا می شوند تأثیر می گذارد ، بنابراین ابتدا LD_LIBRARY_PATH را در /root/.bash_profile ؛ (19659013>2 حذف کنید. سپس هنگام تنظیم برنامه Matlab ، مسیر جستجو را در زمان اجرا ارائه دهید ، لطفا با فروشنده برنامه Matlab خود مشورت کرده و بررسی کنید که آیا راهی برای دستیابی به این هدف وجود دارد.
یا غیره هنگام اجرای برنامه LD_LIBRARY_PATH را تنظیم کنید ، به عنوان مثال: ] # LD_LIBRARY_PATH = ./app_test
xLD_LIBRARY_PATH = [PATH] ب "فقط وقتی اجرا می شود که دستور فوق اجرا شود ، روی سایر برنامه ها تأثیری نخواهد داشت.