linux rpm tips
rpm -ivh xxx.i386.rpm (install)
rpm -e xxx (uninstall)
rpm -Uvh xxx.i386.rpm (update)
rpm -q xxx (query)
rpm -qi (query infomation)
rpm -ql (query & list file)
rpm --checksig xxx (check the 签名)
rpm -ivh --rebuild xxx.src.rpm (安装以原代码发布的rpm包)
安装完linux 需要卸载的软件包(无法选择不安装)
rpm -e softname
[pump/apmd/lsapnptools/redhat-logos/mt-st/kernel-pcmcia-cs/Setserial/redhat-release/
eject/kudzu/gd/raidtools/pciutils/mailcap/setconsols/gnupg]
(某些视情况而定)
终端使用颜色
vi /etc/profile
add:
#enable colour is
eval 'dircolors /etc/DIR_COLORS -b'
export LS_OPTIONS='-s -F -T 0 --color=yes'
:wq!
vi /etc/bashrc
add:
alias ls='ls --color=auto'
:wq!
# source /etc/profile /etc/bashrc
强制口令长度:
vi /etc/login.defs
PASS_MIN_LEN 5 -> PASS_MIN_LEN 8
日期
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
禁止控制台访问
#!/bin/sh
cd /etc/pam.d
for i in *;
do
sed '/[^#].*pam_console.so/s/^/#/' <$i> foo && mv foo $i
done
配置inetd
建议先禁止所有服务
然后保证inetd.conf不可改变
chattr +i /etc/inetd.conf
配置简单的访问规则
先编辑
/etc/hosts.deny
加入:ALL:ALL@ALL 禁止所有访问 (可以加上PARANOID参数,进行域名解析)
再编辑 /etc/hosts.allow
加上允许远程登陆的ip
daemon:ip or hostname
然后运行 tcpdchk 命令来配置TCP_WAPPERS。
编辑/etc/aliases
注释decode
运行 /usr/bin/newaliases 使配置生效
sendmail 配置
编辑 /etc/sendmail.cf 使之无法用expn,vrfy来刺探系统用户名
把
O PrivacyOptions=autwarnings
改为
O PrivacyOptions=authwarnings,noexpn,novrfy (或者改为 O PrivacyOptions=goaway 同样效果)
编辑 /etc/sendmail.cf 修改回显banner
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b NO UCE C=CN L=SZ
O SmtpGreetingMessage=mail sever; $b NO UCE C=CN L=SZ
使ping无响应
添加 "echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all"到/etc/rc.d/rc.local
1表示关闭ping echo
0表示启用ping echo
不显示系统登陆提示信息
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
加个-h
禁止ip原路由
for i in /proc/sys/net/ipv4/conf/*/accept_source_route;do
echo 0 >$i
done
此脚本将禁止所有interface的原路由包
syn cookie
防止syn flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookie
/etc/services file
chattr +i /etc/services
/etc/securetty file
comment out the tty2-tty8 only allow root login from tty1
/etc/passwd;/etc/shadow;/etc/group;/etc/gshadow file
chattr +i this file
防止任何人都su成root
编辑/etc/pam.d/su 文件
[root@Linux jane]# cat /etc/pam.d/su
#%PAM-1.0
#auth sufficient /lib/security/pam_rootok.so debug
#auth required /lib/security/pam_wheel.so group=wheel
auth required /lib/security/pam_pwdb.so shadow nullok
account required /lib/security/pam_pwdb.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_pwdb.so shadow use_authtok nullok
session required /lib/security/pam_pwdb.so
session optional /lib/security/pam_xauth.so
[root@Linux jane]#
去掉 第一第二行的注释(#),此时只有wheel组用户可以su root,再编辑/etc/group文件,控制wheel组用户。
资源限制
1.编辑/etc/security/limits.conf
加入
* hard core 0 #禁止创建core文件
* hard rss 5000 #除了root外,其他用户最多有5m内存
* hard nproc 20 #最多进程数限制在20
*号表示所有登陆系统的用户
2.编辑/etc/pam.d/login
加入
session required /lib/security/pam_limits.so
控制mount的文件系统
编辑/etc/fstab
[root@Linux jane]# cat /etc/fstab
/dev/hda2 / ext2 defaults 1 1
/dev/hda1 /mnt/C vfat defaults 1 0
/dev/hda6 /home ext2 nosuid,nodev 1 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/hda5 /usr/local ext2 defaults 1 2
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/hda7 swap swap defaults 0 0
[root@Linux jane]#
/dev/hda6 /home ext2 nosuid,nodev 1 2
表示/home目录不允许存在设备块文件(nodev).不允许设定文件的suid,sgid许可位(nosuid)
如果加上noexec
/dev/hda6 /home ext2 nosuid,nodev,noexec 1 2
则表示此文件系统上不允许有任何可执行二进制文件
配置安全的lilo.conf:
设置timeout=00
设置single模式密码
restricted
password=xxxxxx
注意给每个kernel都应配置密码
chattr +i /etc/lilo.conf
使ctrl+alt+del关机无效
编辑/etc/inittab
注释掉
ca::ctrlaltdel:/sbin/shutdown -t3 -r now -> #ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# /sbin/init q
带"s"位的程序
查找所有带s位的程序
find / -type f /( -perm -04000 -o -perm -02000 /) -print
find /home/httpd -type f -perm -4000 -exec chmod 744 {} /; -print
查找特殊文件名字
find / -name ".. " -print -xdev
find / -name ".*" -print -xdev | cat -v
查找任何人都有写权限的文件和目录
find / -type f /( -perm -2 -o -perm -20 /) -print
find / -type f /( -perm -2 -o -perm -20 /) -user root -group root -print
find / -type d /( -perm -2 -o -perm -20 /) -print
查找没有主人的文件
find / -nouser -o -nogroup (不用在乎/dev下面的文件)
查找.rhosts文件
find / -name .rhosts -print
linux 网络配置
安装多块网卡
isa的3c509卡,一块io是0x300,一块是0x320
编辑/etc/conf.modules
alias eth0 3c590
alias eth1 3c590
options 3c509 io=0x300,0x320
PCI的3c509卡
编辑/etc/conf.modules
alias eth0 3c590
alias eth1 3c590
某些情况下.isa卡需要配置lilo.conf
由lilo来传递配置参数给kernel
append="ether="0,0,eth1
linux下网络设备配置文件在
/etc/sysconfig/network-scripts/目录下的ifcfg-ethx 文件
可以直接修改此文件来改网络配置
DEVICE=name 物理设备的名字
IPADDR=addr 该卡的ip地址
NETMASK=mask 网络掩码
BROADCAST=addr 广播地址
ONBOOT=yes/no 启动时是否激活
BOOTPROTO=proto proto取值:
none 无须启动协议
bootp 使用bootp协议
dhcp 使用dhcp协议
USERCTL=yes/no 是否允许非root用户控制该设备
/etc/hosts.conf文件指定如何解析主机名
order bind,hosts 指主机名的查询顺序.先由dns再由/etc/hosts文件
multi on 指在/etc/hosts文件中可以指定多个地址
ospoof on 指不允许对该服务器进行ip欺骗
/etc/sysconfig/network 文件
该文件用来指定服务器上的网络配置信息
NETWORK=yes/no 网络是否被配置
FORWARD_IPV4=yes/no 是否开启ip转发功能
HOSTNAME="hostname" 表示服务器的主机名
GATEWAY="ip" 网关地址
GATEWAYDEV="dev" 网关设备名
网络配置
ifconfig eth0 ip netmask 255.255.255.0
route add default gw gw-ip