环境相关文件
/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
}