Linux 系统管理笔记
一、常用目录结构目录用途/usr存放应用程序文件/usr/local用于后安装软件/var存放所有数据文件日志、邮件等/proc虚拟文件系统反映内核配置和状态CPU、内存等信息/etc系统配置文件RPM 安装软件的配置通常也放这里二、硬件与系统信息查看查看项命令内存总量grep MemTotal /proc/meminfo交换分区/sbin/swapon -s挂载光驱mount /dev/cdrom时区设置timeconfig三、常用命令速查命令用途head/tail查看长文件的开头和结尾netstat查看网络状态tar解压.tar.gz压缩包ps查看进程kill/kill -3终止进程-3发送 SIGQUITtop实时查看系统状态shutdown关闭系统cat查看文件内容ping测试网络连通性ftp文件传输man查看手册lsof查看端口占用和进程打开的文件四、文件系统管理4.1 mount 命令查看已挂载文件系统的信息包括挂载点与设备对应关系文件系统类型ext4/xfs/nfs/tmpfs 等挂载选项rw/ro、noexec、nosuid、noatime 等4.2 RPM 包管理操作命令安装/升级rpm -Uvh 包名卸载rpm -e 包名查询包内文件rpm -q --filesbypkg 包名五、网络配置5.1 IPTables 端口映射场景外网1.2.3.4:81→ 内网192.168.0.2:8180# DNAT目的地址转换入站 iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 81 -j DNAT --to-destination 192.168.0.2:8180 # SNAT源地址转换出站 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.2 -p tcp --dport 8180 -j SNAT --to-source 192.168.0.1 # 允许访问 iptables -A INPUT -d 192.168.0.2 -p tcp --dport 8180 -i eth0 -j ACCEPT # 禁止某个 IP iptables -I INPUT -s 192.168.0.55 -j DROP5.2 修改 IP/DNS/主机名配置项文件路径示例网卡 IP/etc/sysconfig/network-scripts/ifcfg-eth0IPADDR218.104.106.180DNS/etc/resolv.confnameserver 202.106.196.115主机名/etc/sysconfig/networkHOSTNAMExxxhostname XXXX多 IP 绑定创建ifcfg-eth0:0DEVICEeth0:0网卡绑定(bonding)脚本加载bonding模块ifenslave bond0 eth0 eth1重启网络service network restart或ifdown eth0 ifup eth0六、VPN 服务PPTP6.1 安装包dkms-2.0.5-1.noarch.rpmkernel_ppp_mppe-0.0.5-2dkms.noarch.rpmppp-2.4.3-4.rhel3.i386.rpmpptpd-1.2.3-1.i386.rpm6.2 配置步骤步骤文件配置内容1. 日志配置/etc/syslog.confdaemon.debug /var/log/pptpd.log2. IP 分配/etc/pptpd.conflocalip 172.22.1.120-160/remoteip 172.22.1.161-1903. 用户认证/etc/ppp/chap-secretsuser pptpd password *4. DNS 配置/etc/ppp/options.pptpdms-dns 202.101.172.355. 启动服务service pptpd start七、NFS 服务7.1 服务端配置操作命令/文件共享配置/etc/exports启动服务service portmap startservice nfs start重新加载配置exportfs -ra查看共享showmount -e hostnameexports 参数说明rw/ro读写/只读root_squash/no_root_squashroot 用户是否映射为匿名用户all_squash所有用户映射为匿名用户sync/async同步/异步写入7.2 客户端使用showmount -e server_ip # 查看可用共享 mkdir -p /home/nfs/public # 创建挂载点 mount -t nfs server:/home/public /home/nfs/public umount /home/nfs/public # 卸载八、SELinux 管理操作命令/配置查看状态getenforce/sestatus -v临时关闭setenforce 0permissive 模式临时开启setenforce 1enforcing 模式永久关闭/etc/sysconfig/selinux中SELINUXdisabled内核参数/boot/grub/menu.lst添加selinux0九、NTP 时间同步# 手动同步 ntpdate time.buaa.edu.cn hwclock -w # 写入硬件时钟 # 定时任务crontab -e 0 0 * * * /usr/sbin/ntpdate time.buaa.edu.cn;/sbin/hwclock -w十、SSH/Telnet 优化解决登录慢原因解决方法DNS 反向解析/etc/hosts加入客户端 IP 和主机名SSH DNS 检查/etc/ssh/sshd_config设置UseDNSnoGSSAPI 认证GSSAPIAuthentication no多余 DNS 配置注释/etc/resolv.conf中不使用的行NSS 顺序/etc/nsswitch.conf改为hosts: files重启 sshd/etc/init.d/sshd restart十一、系统资源限制ulimit参数说明-ccore 文件最大值blocks-d数据段最大值KB-f创建文件最大值blocks-l内存锁定最大值KB-m常驻内存最大值KB-n打开文件描述符最大值-s堆栈最大值KB-tCPU 时间上限秒-u最大进程数-v虚拟内存最大值KB示例ulimit -s 262140 # 设置堆栈为 256MB ulimit -u 16384 -n 65536 # 进程数和文件句柄数永久生效添加到/etc/profile十二、TCP/IP 内核参数优化12.1 高并发 Web 服务器优化/etc/sysctl.confnet.ipv4.tcp_fin_timeout 30 net.ipv4.tcp_keepalive_time 1800 net.ipv4.tcp_window_scaling 0 net.ipv4.tcp_sack 0 net.ipv4.tcp_timestamps 012.2 解决 TIME_WAIT 过多net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_tw_recycle 1生效命令sysctl -p12.3 其他重要参数参数默认值建议值说明tcp_syn_retries52SYN 重试次数tcp_synack_retries52SYNACK 重试次数tcp_keepalive_probes95keepalive 探测次数tcp_keepalive_intvl7515探测间隔秒tcp_retries2155活跃连接重试次数tcp_orphan_retries73孤儿连接重试次数tcp_fin_timeout6030FIN-WAIT-2 超时tcp_max_tw_buckets180000适当增加TIME_WAIT 最大数量十三、系统安全加固13.1 关闭不必要服务方法操作inetd 服务编辑/etc/inetd.conf注释不需要的服务启动脚本/etc/rc.d/rc3.d/下将S改为s工具关闭setup→ system services 或chkconfig危险服务示例rshd、rlogind、fingerd、linuxconf曾存在 root shell 绑定漏洞13.2 账号安全措施操作删除无用账号从/etc/passwd移除 mail、news 等限制 root 登录/etc/securetty去除虚拟终端FTP 限制/etc/ftpusers加入 rootSUID 检查find / -perm -4000 -print移除不必要 SUIDchmod -s13.3 访问控制TCP Wrappers# /etc/hosts.deny - 拒绝所有 ALL:ALL # /etc/hosts.allow - 允许特定 sshd:192.168.0.0/2413.4 文件保护# 锁定关键文件连 root 都无法修改需先 chattr -i chattr i /etc/shadow chattr i /etc/inetd.conf # 清除历史命令记录 HISTFILESIZE0 # .bash_profile ln -s /dev/null ~/.bash_history # 或链接到黑洞13.5 物理安全/etc/lilo.conf设置启动密码取消 root 远程 Telnet/FTP重命名/etc/securetty或修改/etc/vsftpd.ftpusersSSH root 登录/etc/ssh/sshd_config设置PermitRootLogin yes十四、VI 编辑器常用操作14.1 模式切换按Esc进入命令模式按i/a/o进入编辑模式14.2 移动与编辑操作命令光标移动h(左)j(下)k(上)l(右)行首/行尾0/$文件首/尾:0/:$翻页Ctrlf(下) /Ctrlb(上)插入i(光标前)I(行首)a(光标后)A(行尾)换行插入o(下)O(上)删除x(字符)dd(行)d0(前半行)d$(后半行)查找/string(向下)?string(向上)n(下一个)N(反向)替换:1,$s/old/new/g(全局替换)显示行号:set number保存退出:wq!不保存退出:q!十五、其他实用配置功能配置方法启动进入图形/文本界面/etc/inittab中id:5:initdefault:或id:3:initdefault:图形↔控制台切换CtrlAltFn(n1-6) /AltF7(返回图形)限制用户登录/etc/passwd中 shell 改为/sbin/nologin限制登录失败次数/etc/security/limits.conf设置maxlogins 3系统日志路径/var/log/messagesVMware Tools 安装VM → Install VMware Tools → 挂载光驱 → 执行.pl文件