導航:首頁 > 源碼編譯 > pamso文件c語言編譯

pamso文件c語言編譯

發布時間:2022-12-19 06:34:21

編譯php提示出錯找不到libc-client.無法編譯PHP怎麼辦

I. 安裝devel庫
yum install pam-devel libc-client libc-client-devel -y
如果使用了yum安裝了libc-client,那麼在以後編譯參數--with-imap=/usr/local/php-imap中的路徑應該刪除,即--with-imap。
如果這樣還不能解決,那麼就需要手動編譯imap2007f了!
II. 手動編譯imap2007f
腳本取自 forum.directadmin.com/showthread.php?t=45434
在/usr/src目錄下運行以下腳本,將會在/usr/local/php-imap目錄下生成imap需要的庫
#!/bin/sh
# Script for PHP-IMAP installation. 0.1b
# Written by Martynas Bendorius (smtalk)
CWD=`pwd`
OS=`uname`
#Is it a 64-bit OS?
B64=0
B64COUNT=`uname -m | grep -c 64`
if [ "$B64COUNT" -eq 1 ]; then
B64=1
LD_LIBRARY_PATH=/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
fi
if [ ! -e /usr/include/krb5.h ] && [ -e /etc/redhat-release ]; then
echo "Installing krb5-devel"
yum -y install krb5-devel
fi
VERSION=2007f
PROTOCOL=ftp
URL="${PROTOCOL}://ftp.cac.washington.e/imap/imap-${VERSION}.tar.Z"
FILENAME=imap-${VERSION}
TARBALL=${FILENAME}.tar.Z
echo "Downloading ${TARBALL}..."
wget -O ${TARBALL} ${URL}
tar xzf ${TARBALL}
cd ${FILENAME}
echo "Installing ${FILENAME}..."
if [ ${OS} = "FreeBSD" ]; then
if [ ${B64} -eq 0 ]; then
make bsf
else
make bsf EXTRACFLAGS=-fPIC
fi
else
perl -pi -e 's#SSLDIR=/usr/local/ssl#SSLDIR=/etc/pki/tls#' src/osdep/unix/Makefile
perl -pi -e 's#SSLINCLUDE=\$\(SSLDIR\)/include#SSLINCLUDE=/usr/include/openssl#' src/osdep/unix/Makefile
perl -pi -e 's#SSLLIB=\$\(SSLDIR\)/lib#SSLLIB=/usr/lib/openssl#' src/osdep/unix/Makefile
if [ ${B64} -eq 0 ]; then
make slx
else
make slx EXTRACFLAGS=-fPIC
fi
fi
echo "Copying files to /usr/local/php-imap"
mkdir -p /usr/local/php-imap/include
mkdir -p /usr/local/php-imap/lib
chmod -R 077 /usr/local/php-imap
cp -f c-client/*.h /usr/local/php-imap/include/
cp -f c-client/*.c /usr/local/php-imap/lib/
cp -f c-client/c-client.a /usr/local/php-imap/lib/libc-client.a
cd ..
rm -rf ${FILENAME}
if [ -d /usr/lib/x86_64-linux-gnu ] && [ ! -d /usr/kerberos/lib ]; then
mkdir -p /usr/kerberos
ln -s /usr/lib/x86_64-linux-gnu /usr/kerberos/lib
fi

exit 0;
III. 開始編譯
下面是編譯PHP的參數,如果出現問題,請參考編譯PHP5.6 和 PHP編譯錯誤的解決辦法。
./configure --prefix=/usr/local/php --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --enable-ftp --with-imap=/usr/local/php-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --disable-fileinfo
IV. 其他問題
在本次編譯中,老高又遇到了幾個怪事
set --enable-opcache=no
configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
這個問題還是庫文件的鏈接問題
解決:
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
ldconfig -v
讓編譯的PHP支持memcache

② 系統之家Linux如何通過PAM限制用戶登錄失敗次數怎麼辦

現在很多地方都有限制用戶登錄的功能,Linux也是如此,當你登錄失敗多次後就可以限制用戶登錄,從而起到保護電腦安全的作用,通過PAM模塊即可實現,下面隨小編一起來了解下吧。
Linux有一個pam_tally2.so的PAM模塊,來限定用戶的登錄失敗次數,如果次數達到設置的閾值,則鎖定用戶。
編譯PAM的配置文件# vim /etc/pam.d/login
#%PAM-1.0
auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10
auth [user_unknown=ignore success=ok ignoreignore=ignore default=bad] pam_securetty.so
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session optional pam_keyinit.so force revoke
session required pam_loginuid.so
session include system-auth
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
各參數解釋
even_deny_root 也限制root用戶;
deny 設置普通用戶和root用戶連續錯誤登陸的最大次數,超過最大次數,則鎖定該用戶
unlock_time 設定普通用戶鎖定後,多少時間後解鎖,單位是秒;
root_unlock_time 設定root用戶鎖定後,多少時間後解鎖,單位是秒;
此處使用的是 pam_tally2 模塊,如果不支持 pam_tally2 可以使用 pam_tally 模塊。另外,不同的pam版本,設置可能有所不同,具體使用方法,可以參照相關模塊的使用規則。
在#%PAM-1.0的下面,即第二行,添加內容,一定要寫在前面,如果寫在後面,雖然用戶被鎖定,但是只要用戶輸入正確的密碼,還是可以登錄的!

③ 在red hat 5.9下安裝vsftpd解壓完,make的時候報錯:/lib/libpam.so

這是由於64位操作系統引起的原因,解決方法如下:
編輯vsf_findlibs.sh
# vi vsf_findlibs.sh
找到如下代碼:
if find_func pam_start sysdeputil.o; then
locate_library /lib/libpam.so.0 && echo "/lib/libpam.so.0";

修改成
if find_func pam_start sysdeputil.o; then
locate_library /lib64/libpam.so.0 && echo "/lib64/libpam.so.0";

④ LINUX設置密碼復雜度的文件/etc/pam.d/system-auth,具體需要怎麼改

一、准備工作:

安裝 PAM 的 cracklib 模塊,cracklib 能提供額外的密碼檢查能力。

二、具體操作:

Debian、Ubuntu 或 Linux Mint 系統上:

代碼如下:


$ sudo apt-get install libpam-cracklib


CentOS、Fedora、RHEL 系統已經默認安裝了 cracklib PAM 模塊,所以在這些系統上無需執行上面的操作。

為了強制實施密碼策略,需要修改 /etc/pam.d 目錄下的 PAM 配置文件。一旦修改,策略會馬上生效。

注意:此教程中的密碼策略只對非 root 用戶有效,對 root 用戶無效。

策略設置:

1、禁止使用舊密碼

找到同時有 「password」 和 「pam_unix.so」 欄位並且附加有 「remember=5」 的那行,它表示禁止使用最近用過的5個密碼(己使用過的密碼會被保存在 /etc/security/opasswd 下面)。

Debian、Ubuntu 或 Linux Mint 系統上:

代碼如下:

$ sudo vi /etc/pam.d/common-password
password [success=1 default=ignore] pam_unix.so obscure sha512 remember=5


CentOS、Fedora、RHEL 系統上:

代碼如下:


$ sudo vi /etc/pam.d/system-auth
password sufficient pamunix.so sha512 shadow nullok tryfirstpass useauthtok remember=5

二、設置最短密碼長度

找到同時有 「password」 和 「pam_cracklib.so」 欄位並且附加有 「minlen=10」 的那行,它表示最小密碼長度為(10 - 類型數量)。這里的 「類型數量」 表示不同的字元類型數量。PAM 提供4種類型符號作為密碼(大寫字母、小寫字母、數字和標點符號)。如果密碼同時用上了這4種類型的符號,並且 minlen 設為10,那麼最短的密碼長度允許是6個字元。

Debian、Ubuntu 或 Linux Mint 系統上:

代碼如下:

$ sudo vi /etc/pam.d/common-password
password requisite pam_cracklib.so retry=3 minlen=10 difok=3

CentOS、Fedora、RHEL 系統上:

代碼如下:

$ sudo vi /etc/pam.d/system-auth
password requisite pam_cracklib.so retry=3 difok=3 minlen=10

三、設置密碼復雜度

找到同時有 「password」 和 「pam_cracklib.so」 欄位並且附加有 「ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1」 的那行,表示密碼必須至少包含一個大寫字母(ucredit),兩個小寫字母(lcredit),一個數字(dcredit)和一個標點符號(ocredit)。

Debian、Ubuntu 或 Linux Mint 系統上:

代碼如下:

$ sudo vi /etc/pam.d/common-password
password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1

CentOS、Fedora、RHEL 系統上:

代碼如下:

$ sudo vi /etc/pam.d/system-auth
password requisite pam_cracklib.so retry=3 difok=3 minlen=10 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1

四、設置密碼過期期限

編輯 /etc/login.defs 文件,可以設置當前密碼的有效期限,具體變數如下所示:

代碼如下:

$ sudo vi /etc/login.defs
PASSMAXDAYS 150 PASSMINDAYS 0 PASSWARNAGE 7

這些設置要求用戶每6個月改變密碼,並且會提前7天提醒用戶密碼快到期了。

如果想為每個用戶設置不同的密碼期限,使用 chage 命令。下面的命令可以查看某個用戶的密碼限期:

代碼如下:


$ sudo chage -l xmolo
Last password change : Dec 30, 2013 Password expires :
never Password inactive : never Account expires :
never Minimum number of days between password change :
0 Maximum number of days between password change :
99999 Number of days of warning before password expires : 7


默認情況下,用戶的密碼永不過期。

五、下面的命令用於修改 xmolo 用戶的密碼期限:

代碼如下:

$ sudo chage -E 6/30/2014 -m 5 -M 90 -I 30 -W 14 xmolo

上面的命令將密碼期限設為2014年6月3日。另外,修改密碼的最短周期為5天,最長周期為90天。密碼過期前14天會發送消息提醒用戶,過期後帳號會被鎖住30天。

設置完後,驗證效果如下:

⑤ 16 CentOS7登錄安全修復——密碼復雜度-登錄限制-root限制登錄

一、密碼復雜度設置

CentOS密碼復雜度配置通過/etc/pam.d/system-auth文件中的pam_cracklib.so模塊來實現。

首先查看/etc/pam.d/system-auth文件

可以看到當前並沒有看到pam_cracklib.so模塊

原因:

pam_pwquality.so是兼容pam_cracklib.so模塊的,所以pam_cracklib.so的選項也適用於pam_pwquality.so

pam_cracklib.so支持的部分選項如下:

retry=N:定義登錄/修改密碼失敗時,可以重試的次數

minlen=N:新密碼的最小長度

dcredit=N:當N>0時表示新密碼中數字出現的最多次數;當N<0時表示新密碼中數字出現最少次數;

ucredit=N: 當N>0時表示新密碼中大寫字母出現的最多次數;當N<0時表示新密碼中大寫字母出現最少次數;

lcredit=N: 當N>0時表示新密碼中小寫字母出現的最多次數;當N<0時表示新密碼中小寫字母出現最少次數;

ocredit=N:當N>0時表示新密碼中特殊字元出現的最多次數;當N<0時表示新密碼中特殊字元出現最少次數;

maxrepeat=N:拒絕包含多於N個相同連續字元的密碼。 默認值為0表示禁用此檢查

maxsequence=N:拒絕包含長於N的單調字元序列的密碼。默認值為0表示禁用此檢查。實例是'12345'或'fedcb'。除非序列只是密碼的一小部分,否則大多數此類密碼都不會通過簡單檢查。

enforce_for_root: 如果用戶更改密碼是root,則模塊將在失敗檢查時返回錯誤。默認情況下,此選項處於關閉狀態,只列印有關失敗檢查的消息,但root仍可以更改密碼。不要求root用戶輸入舊密碼,因此不會執行比較舊密碼和新密碼的檢查

接下來修改system-auth文件,配置密碼復雜度策略

在system-auth文件中 pam_pwquality.so後添加minlen=8 dcredit=-2 ucredit=-1 lcredit=-1 ocredit=-1

參數含義:密碼長度最小為8位,數字出現的最少次數為2次,大寫字母出現最少1次,小寫字母出現最少1次,特殊字元出現最少1次

保存退出後,進行測試密碼復雜度配置是否生效

新建一個test賬戶,使用root賬戶設置test賬戶的密碼為test,密碼修改成功。(證明root賬戶不受pam認證規則的限制)

賬號密碼規則測試:

然後切換到test賬戶設置test賬戶的密碼。這里嘗試設置密碼為Pw39@。

報錯提示大寫字母少於8位,說明minlen=8已經生效。

接下來嘗試設置密碼為Pwqwert@

報錯提示數字少於2位,說明dcredit=-2已經生效。

接下來嘗試設置密碼為pw12qwer@

報錯提示大寫字母少於1位,說明ucredit=-1已經生效。

passwd:Have exhausted maximum number of retries for service(passwd:已經用盡了最多可重試的服務次數),說明retry=3已經生效。

接下來重新設置密碼,嘗試設置密碼為PW12QWER@

報錯提示小寫字母少於1位,說明lcredit=-1已經生效。

接下來嘗試設置密碼為Pw12qwer

報錯提示特殊字元少於1位,說明ocredit=-1已經生效。

限制root用戶

vi etc/pam.d/system-auth

在sysstem-auth文件中pam_pwquality.so行添加enforce_for_root

然後測試是否root被限制,也要遵守密碼復雜度策略

用root賬戶設置test賬戶密碼為Pw12qwer

報錯提示特殊字元少於1位,說明root用戶已經被限制,也要遵守pam認證規則。

二、禁用root用戶登錄

注意:禁用root前必須要創建一個普通賬戶,並且驗證用戶可以正常登錄

1、首先增加一個普通賬號,別禁止root賬號後沒有其他賬號登錄系統了:

——增加用戶:adser xxxx

——設置密碼:passwd xxxx

2、修改ssh配置:

——修改配置文件:vi /etc/ssh/sshd_config

——配置文件中增加一行:PermitRootLogin no

——保存退出,重啟ssh服務:service sshd restart

3、下次登錄系統,root賬號會被拒絕登錄。

——可以先用xxxx登錄,之後su root即可

三、限制用戶登錄失敗次數並鎖定用戶

⑥ 怎麼樣編譯pam

獲取目標系統所使用的PAM版本:
rpm -qa|grep pam

下載後,在對應的系統環境下(32或x86_64位系統下)編譯生成後門,patch目錄下的「pam_unix_auth.c.patch」文件就是
補丁文件,pam_unix_auth.c 是PAM
1.1.1版本pam_unix.so的源文件,僅作參考。我們將補丁文件移動到源碼目錄,並使用patch命令對PAM源代碼打補丁,然後編譯生成即可。

⑦ linux中的PAM到底是什麼 如何使用配置呢 麻煩說的通俗點

簡單地說,PAM主要是由一組共享庫文件(也就是後綴名為.so文件)和一些配置文件組成的用於系統服務授權的一套東西,其中,PAM 就是 Pluggable Authentication Moles 這幾個英文單詞的縮寫。當你在請求服務的時候,具有PAM認證功能的應用程序將與這些.so文件進行交互,以便得知是否可以授權給發起請求的用戶來使用服務,比如su, vsftp, httpd,等。如果認證成功了,那麼這個用戶便可以使用服務或完成命令,如果認證失敗了,那麼這個用戶將不能使用服務,同時,PAM將向指定的log文件寫入警告信息。我們可以將PAM看作是一個中間裁判,它不依賴於任何應用或服務。你完全可以升級這些應用或服務而不必管PAM的共享庫的更新或升級,反之亦然。所以它非常的靈活。

閱讀全文

與pamso文件c語言編譯相關的資料

熱點內容
文件如何上傳到自己的伺服器 瀏覽:399
你用什麼app 瀏覽:224
安卓平板用什麼優化軟體 瀏覽:747
centos重新編譯程序 瀏覽:335
cocoapods命令 瀏覽:906
androidusb卸載 瀏覽:143
linux解壓縮軟體 瀏覽:143
ppt及備注轉pdf 瀏覽:564
ssh下載文件命令 瀏覽:821
程序員考MBA 瀏覽:265
國外加密鎖是什麼樣子 瀏覽:229
linuxhosts重啟 瀏覽:168
c語言編譯正確但是不能執行 瀏覽:856
編程素質教育代理 瀏覽:908
渴望力量程序員 瀏覽:370
app頁面拆解拆到什麼程度 瀏覽:152
如何建立備份伺服器 瀏覽:595
python與計算機編程語言 瀏覽:46
ac壓縮機 瀏覽:957
linux磁碟id 瀏覽:660