環境相關文件
/etc/profile 全局變量設置,但是需要用戶登錄才能生效,如果使用切換例如sudo su xx可能就不生效
/etc/bash.bashrc 全局變量設置,切換賬戶可以生效
/xxx/.bashrc 針對單獨賬戶環境設置,只在此賬戶下生效
此環境變量類似windows設置的環境變量,可以設置安裝的JAVA目錄信息或者其他需要設置成全局變量的內容
如下腳本設置:超時斷開連接,文件句柄和進程限制,命令行歷史記錄,umask值(創建文件時默認權限)
###profiles相關配置
####特別說明profile只有賬戶登錄時才會讀取,切換賬戶的可能無法生效,所以需要配置bash.bashrc,如果針對單個賬號的設置需要在響應賬號的加目錄下.bashrc
profile(){
#超時斷開連接
echo "TMOUT=1800 #設置超時時間以秒為單位此處是30分鐘
readonly TMOUT #設置只讀,在當前shell無法更改TMOUT
export TMOUT">>/etc/profile
echo "TMOUT=1800 #設置超時時間以秒為單位此處是30分鐘
readonly TMOUT #設置只讀,在當前shell無法更改TMOUT
export TMOUT">>/etc/bash.bashrc
#進程數和文件句柄數
#profiles文件限制
echo "#ulimit -u 65535
ulimit -n 65535">>/etc/profile
echo "#ulimit -u 65535
ulimit -n 65535">>/etc/bash.bashrc
#/etc/security/limits.conf文件限制
echo "* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535">>/etc/security/limits.conf
#kernel.pid_max見內核相關修改 默認為98304 不同的服務器值可能不同于CPU相關sysctl -a|grep pid_max
#session required pam_limits.so /etc/pam.d/common-session
#歷史記錄
echo "export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; }); echo "[euid=$(whoami)]":$(who am i):[$PWD] "$msg"; }>>/var/log/command.log'" >> /etc/profile
echo "export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; }); echo "[euid=$(whoami)]":$(who am i):[$PWD] "$msg"; }>>/var/log/command.log'" >> /etc/bash.bashrc
echo "export HISTSIZE=5000" >>/etc/profile
echo "export HISTSIZE=5000" >>/etc/bash.bashrc
echo "export HISTTIMEFORMAT="%F %T "" >> /etc/profile
echo "export HISTTIMEFORMAT="%F %T "" >> /etc/bash.bashrc
#添加其他用戶寫入權限
touch /var/log/command.log
chmod 766 /var/log/command.log
#UMASK設置
echo "umask 0027">>/etc/profile
source /etc/profile
}