2015年11月

linux常用命令记录

有时需要用到的命令,记录下

更新时间

ntpdate cn.pool.ntp.org

查找目录下的所有文件中是否含有某个字符串

find .|xargs grep -ri "IBM" 

查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名

find .|xargs grep -ri "IBM" -l 

找到netstat的程序的名称

今天用netstat看系统的端口监听,看见一个占用25端口的,程序名字叫master
于是用这种办法找到程序
找到程序执行文件

locate  master | grep '/master$'
/usr/libexec/postfix/master

找到程序名称

rpm -qf $(locate  master | grep '/master$')
postfix-2.6.6-6.el6_5.x86_64

然后再用chkconfig关闭自启动就ok

参考http://blog.sina.com.cn/s/blog_8d75b4400100t5ku.html

centos6.x服务解释

服务名称 功能 默认 建议 备注说明
NetworkManager 用于自动连接网络,常用在Laptop上 开启 关闭 对服务器无用
abrt-ccpp 开启 自定 对服务器无用
abrt-oops 开启 自定 |对服务器无用
abrtd 开启 自定 对服务器无用
acpid 电源的开关等检测管理,常用在Laptop上 开启 自定 对服务器无用
atd 在指定时间执行命令 开启 关闭 如果用crond,则可关闭它
auditd 审核守护进程 开启 开启 如果用selinux,需要开启它
autofs 文件系统自动加载和卸载 开启 自定 只在需要时开启它,可以关闭
avahi-daemon 本地网络服务查找 开启 关闭 对服务器无用
bluetooth 蓝牙无线通讯 开启 关闭 对服务器无用
certmonger 关闭 关闭
cpuspeed 调节cpu速度用来省电,常用在Laptop上 开启 关闭 对服务器无用
crond 计划任务管理 开启 开启 常用,开启
cups 通用unix打印服务 开启 关闭 对服务器无用
dnsmasq dns cache 关闭 关闭 DNS缓存服务,无用
firstboot 系统安装后初始设定 关闭 关闭
haldaemon 硬件信息收集服务 开启 开启
ip6tables ipv6防火墙 开启 关闭 用到ipv6网络的就用,一般关闭
iptables ipv4防火墙 开启 开启 ipv4防火墙服务
irqbalance cpu负载均衡 开启 自定 多核cup需要
kdump 硬件变动检测 关闭 关闭 服务器无用
lvm2-monitor lvm监视 开启 自定 如果使用LVM逻辑卷管理就开启
matahari-broker 关闭 关闭 此服务不清楚,我关闭
matahari-host 关闭 关闭 此服务不清楚,我关闭
matahari-network 关闭 关闭 此服务不清楚,我关闭
matahari-service 关闭 关闭 此服务不清楚,我关闭
matahari-sysconfig 关闭 关闭 此服务不清楚,我关闭
mdmonitor 软raid监视 开启 自定
messagebus 负责在各个系统进程之间传递消息 开启 开启 如停用,haldaemon启动会失败
netconsole 关闭 关闭
netfs 系统启动时自动挂载网络文件系统 开启 关闭 如果使用nfs服务,就开启
network 系统启动时激活所有网络接口 开启 开启 网络基础服务,必需!
nfs 网络文件系统 关闭 关闭 nfs文件服务,用到就开启
nfslock nfs相关 开启 关闭 nfs相关服务,用到就开启
ntpd 自动对时工具 关闭 自定 网络对时服务,用到就开启
ntpdate 自动对时工具 关闭 关闭
oddjobd 与D-BUS相关 关闭 关闭
portreserve RPC 服务相关 开启 自定 可以关闭
postfix 替代sendmail的邮件服务器 开启 自定 如果无邮件服务,可关闭
psacct 负荷检测 关闭 关闭 可以关闭
qpidd 消息通信 开启 开启
quota_nld 关闭 关闭 可以关闭
rdisc 自动检测路由器 关闭 关闭
restorecond selinux相关 关闭 关闭 如果开启了selinux,就需开启
rpcbind 开启 开启 关键的基础服务,nfs服务和桌面环境都依赖此服务!相当于CentOS 5.x里面的portmap服务。
rpcgssd NFS相关 开启 关闭 NFS相关服务,可选
rpcidmapd RPC name to UID/GID mapper 开启 关闭 NFS相关服务,可选
rpcsvcgssd NFS相关 关闭 关闭 NFS相关服务,可选
rsyslog 提供系统的登录档案记录 开启 开启 系统日志关键服务,必需!
saslauthd sasl认证服务相关 关闭 关闭
smartd 硬盘自动检测守护进程 关闭 关闭
spice-vdagentd 开启 开启
sshd ssh服务端,可提供安全的shell登录 开启 开启 SSH远程登录服务,必需!
sssd 关闭 关闭
sysstat 开启 开启 一组系统监控工具的服务,常用
udev-post 设备管理系统 开启 开启
wdaemon 关闭 关闭
wpa_supplicant 无线认证相关 关闭 关闭
ypbind network information service客户端 关闭 关闭

转载自http://www.ha97.com/4815.html

nginx访问selinux权限问题

今天在服务器上面安装phpcms,安装过程中提示不可写,于是设置了权限,但是依然是不可写的状态,想了下可能是selinux的问题
设置了下

sudo chcon -R -t httpd_sys_content_t phpcmstest

ok

centos6.6安装后系统配置

1.新建用户

useradd xxx
#设置密码
passwd xxx

2.设置sudo

visudo
root    ALL=(ALL)       ALL#找到这行添加如下行
xxx     ALL=(ALL)       ALL

安装两个软件,bash-completion(命令补全),dos2unix(dos格式文件转换成unix格式)
3.修改ssh

  vi /etc/ssh/sshd_config   
  #禁用root远程登录 
  PermitRootLogin no
  PermitEmptyPasswords no #禁止空密码登录 
  #不要支持闲置会话,并配置 Idle Log Out Timeout 间隔:
  ClientAliveInterval 600 # (Set to 600 seconds = 10 minutes)
  ClientAliveCountMax 0 
  #禁用用户的 .rhosts 文件:
  IgnoreRhosts yes
  Port 22#这个先留着免得配置错误导致的错误
  Port 22155

4.设置防火墙,放开刚刚设置的ssh端口,和需要开放的端口
防火墙设置可以看http://blog.csdn.net/scchary/article/details/46482777
5.消除登陆信息,在登陆的时候会提示是什么系统之类的信息,隐藏起来

sudo cp /etc/issue /etc/issue.bak#备份下
sudo cp /etc/issue.net /etc/issue.net.bak
sudo cp /etc/redhat-release /etc/redhat-release.bak 
sudo echo "Welcome" > /etc/issue#权限不足,用root直接改应该可以,直接vi编辑算了
sudo vi /etc/issue
sudo vi /etc/issue.net
sudo vi /etc/redhat-release

6.关闭不需要的服务,就剩下这几个了,就关了几个

auditd          0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭 #与selinux有关
crond           0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭 #定时任务
iptables        0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭 #防火墙
iscsi           0:关闭    1:关闭    2:关闭    3:启用    4:启用    5:启用    6:关闭 #一种新存储技术
iscsid          0:关闭    1:关闭    2:关闭    3:启用    4:启用    5:启用    6:关闭 #一种新存储技术
mysqld          0:关闭    1:关闭    2:启用    3:启用    4:关闭    5:启用    6:关闭 
network         0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭 #网络基础服务
nginx           0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
php-fpm         0:关闭    1:关闭    2:启用    3:启用    4:关闭    5:启用    6:关闭
restorecond     0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭 #与selinux相关
rsyslog         0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭 #系统日志关键服务
sshd            0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭 
udev-post       0:关闭    1:启用    2:启用    3:启用    4:启用    5:启用    6:关闭 #设备管理

7.同步系统时间

sudo yum install ntpdate#安装更新时间软件
sudo ntpdate cn.pool.ntp.org;sudo hwclock --systohc#更新时间并写入bios
sudo crontab -e
11 11 * * * /usr/sbin/ntpdate cn.pool.ntp.org;/usr/sbin/hwclock --systohc#设置每天的11:11更新时间

8.注释不需要的用户和组

#注销用户
sudo vi /etc/passwd
#adm:x:3:4:adm:/var/adm:/sbin/nologin
#lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#sync:x:5:0:sync:/sbin:/bin/sync
#shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
#halt:x:7:0:halt:/sbin:/sbin/halt
#uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
#operator:x:11:0:operator:/root:/sbin/nologin
#games:x:12:100:games:/usr/games:/sbin/nologin
#gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
#注销用户
sudo vi /etc/group
#adm:x:4:adm,daemon
#lp:x:7:daemon
#uucp:x:14:
#games:x:20:
#dip:x:40:
#ftp:x:50:

9.调整文件描述大小

      echo "ulimit -SHn 65535" >> /etc/rc.local
      cp  /etc/profile  /etc/profilebak2
      ulimit -c unlimited
      ulimit -s unlimited
      ulimit -SHn 65535   
      source  /etc/profile    #使配置立即生效
      ulimit -a    #显示当前的各种用户进程限制
#配置完成之后普通用户登录会报错    -bash: ulimit: open files: cannot modify limit: 不允许的操作
      可以/etc/security/limits.conf在加上
        *        soft    noproc 65535
        *        hard    noproc 65535
        *        soft    nofile 65535
        *        hard    nofile 65535

10.调整记录历史命令的条数

vi /etc/profile      #在文件末尾添加以下内容
找到 HISTSIZE=1000 改为 HISTSIZE=50

11.禁止使用Ctrl+Alt+Del快捷键重启服务器

sudo vi /etc/init/control-alt-delete.conf
#注释下面两行
#start on control-alt-delete
#exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

12.禁止用户su到root,只允许wheel组用户su到root

sudo vi /etc/pam.d/su
#找到下面这句,去掉注释
auth            required        pam_wheel.so use_uid

13.系统参数优化

vi /etc/sysctl.conf    #末尾添加如下参数  (备注:内核不够熟,加上注解大家谨慎选择使用)
net.ipv4.tcp_syncookies = 1           #1是开启SYN Cookies,当出现SYN 等待队列溢出时,启用Cookies来处理,可防范少量SYN攻击,默认是0关闭  net.ipv4.tcp_tw_reuse = 1             #1是开启重用,允许将TIME_AIT sockets重新用于新的TCP连接,默认是0关闭                                                       

net.ipv4.tcp_tw_recycle = 5            #TCP失败重传次数,默认是15,减 少次数可释放内核资源                                                                               

net.ipv4.tcp_max_syn_backlog = 10240    #进入SYN包的最大请求队列,默认 是1024                                                                                             

net.core.netdev_max_backlog =  10240  #允许送到队列的数据包最大设备队 列,默认300                                                                                        

net.core.somaxconn = 2048              #listen挂起请求的最大数量,默认 128                                                                                               

net.core.wmem_default = 8388608        #发送缓存区大小的缺省值                                                                                                           

net.core.rmem_default = 8388608        #接受套接字缓冲区大小的缺省值 (以字节为单位)                                                                                    

net.core.rmem_max = 16777216           #最大接收缓冲区大小的最大值                                                                                                       

net.core.wmem_max = 16777216           #发送缓冲区大小的最大值                                                                                                           

net.ipv4.tcp_synack_retries = 2        #SYN-ACK握手状态重试次数,默认5                                                                                                   

net.ipv4.tcp_syn_retries = 2           #向外SYN握手重试次数,默认4                                                                                                       

net.ipv4.tcp_max_orphans = 3276800     #系统中最多有多少个TCP套接字不 被关联到任何一个用户文件句柄上,如果超出这个数字,孤儿连接将立即复位并打印警告信息                 

net.ipv4.tcp_mem = 94500000 915000000 927000000   

#net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力;                                                                                                                          

#net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段;                                                                                                                         

#net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。内存单位是页,可根据 物理内存大小进行调整,如果内存足够大的话,可适当往上调。上述内存单位是页,而不是字节。             

net.ipv4.ip_local_port_range = 20480  65535  #(表示用于向外连接的端口范围。缺省情况下很小:32768到61000  注意:这里不要将最低值设的太低,否则可能会占用掉正常的端口! 

14.自动注销

vi /etc/profile
#在"HISTSIZE="后面加入下面这行:
TMOUT=300 #300秒
source /etc/profile#立即生效

15.锁定系统重要的文件
主要作用:防止未经许可的删除或添加用户和分组

chattr +i /etc/passwd
chattr +i /etc/inittab
chattr +i /etc/group
chattr +i /etc/shadow
chattr +i /etc/gshadow

16.给系统服务端口列表文件加锁
主要作用:防止未经许可的删除或添加服务

chattr +i /etc/services

17.修改init目录文件执行权限

chmod -R 700 /etc/init.d/*

18.修改部分系统文件的SUID和SGID的权限:

chmod a-s /usr/bin/chage
chmod a-s /usr/bin/gpasswd
chmod g-s /usr/bin/wall
chmod a-s /usr/bin/chfn
chmod a-s /usr/bin/chsh
chmod a-s /usr/bin/newgrp
chmod g-s /usr/bin/write
chmod a-s /usr/sbin/usernetctl
chmod a-s /usr/sbin/traceroute#这个在6.6里面没有
chmod a-s /bin/mount
chmod a-s /bin/umount
chmod g-s /sbin/netreport

wall,write,netreport三个是SGID,这几个命令只用过mount和umount.....

参考:http://www.jb51.net/article/29873.htm
http://blog.csdn.net/zqtsx/article/details/9344709
http://blog.csdn.net/yunweigege/article/details/42002651
http://blog.csdn.net/knight_zhen/article/details/46444451