Linux安装配置samba

yum  -y  -q update
yum install -y -q samba samba-client samba-common cifs-utils

smb.conf的配置例子如下

 cat>/etc/samba/smb.conf<<EOF
 [global]
 workgroup = WORKGROUP
 server string = x200
 dns proxy = no
# interfaces = eth0
 syslog = 0
 browsable = yes
 map to guest = bad user
 nt pipe support = no
 encrypt passwords = true
 passdb backend = tdbsam
 obey pam restrictions = yes
 unix password sync = no
 netbios name = MY_SHARE_SERVER

#== Share Definitions ===
[share]  
path = /opt/share_folder
valid users=share_user
directory mask = 0755
create mask = 0664
writable = yes
guest ok = no
read only = no
public = no
EOF

配置好smb.conf后需要创建目录和设置用户密码

useradd share_user #创建Linux用户
mkdir /opt/share_folder #创建目录
chown -R share_user:share_user  /opt/share_folder #设置文件夹归属权限
chmod 755 /opt/share_folder    #设置文件夹读写权限
smbpasswd -a share_user #设置密码

最后启动smb后测试。


建立一个无home目录最低权限隶属于www组的用户myshare (一些面板或者脚本已有www, www-data之类的可以跳过)

useradd  -M myshare  -g www -s /sbin/nologin

使用tdbsam管理samba帐号

pdbedit -a username    #新建Samba账户
pdbedit -x username    #删除Samba账户
pdbedit -v username    #显示账户详细信息
pdbedit -L             #列出Samba用户列表,读取passdb.tdb数据库文件
pdbedit -Lv            #列出Samba用户列表详细信息


Linux挂载Samba

默认情况直接个mount -t cifs进行挂载,如使用mount.cifs的需要先安装cifs-utils

yum install cifs-utils -y
mount -t cifs -o username="Username",password="Password" //IP/share /mnt/
umount /mnt/

使用mount.cifs挂载

mount.cifs -o username="Username",password="Password" //IP/share /mnt/
umount.cifs /mnt/

加入fstab开机自动挂载需要将账号密码等参数写入一个文件

#cat /opt/pass.txt
username=YOURusername
password=YOURpassword  

然后写入fstab的格式大致如下的最后一行

cat /etc/fstab
/dev/sda1/                       ext4    defaults        1 1
/dev/sda2               swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
//IP/share    /mnt        cifs    credenials=/opt/pass.txt    0 0

  匿名登陆也是需要带username参数的,否则会报错。


Nginx location的匹配规则


   ~      波浪线表示执行一个正则匹配,区分大小写
   ~*    表示执行一个正则匹配,不区分大小写
   ^~    ^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
   =      进行普通字符精确匹配
   @    #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files

location 匹配优先级

   = 精确匹配会第一个被处理。如果发现精确匹配,nginx停止搜索其他匹配。
   普通字符匹配,正则表达式规则和长的块规则将被优先和查询匹配,也就是说如果该项匹配还需去看有没有正则表达式匹配和更长的匹配。
   ^~ 则只匹配该规则,nginx停止搜索其他匹配,否则nginx会继续处理其他location指令。
   最后匹配理带有"~"和"~*"的指令,如果找到相应的匹配,则nginx停止搜索其他匹配;当没有正则表达式或者没有正则表达式被匹配的情况下,那么匹配程度最高的逐字匹配指令会被使用。

示例

location  = / {
 # 只匹配"/".
 [ configuration A ]
}
location  / {
 # 匹配任何请求,因为所有请求都是以"/"开始
 # 但是更长字符匹配或者正则表达式匹配会优先匹配
 [ configuration B ]
}
location ^~ /images/ {
 # 匹配任何以 /images/ 开始的请求,并停止匹配 其它location
 [ configuration C ]
}
location ~* \.(gif|jpg|jpeg)$ {
 # 匹配以 gif, jpg, or jpeg结尾的请求.
 # 但是所有 /images/ 目录的请求将由 [Configuration C]处理.  
 [ configuration D ]
}


URL 重写
仅是URL重写,不需要用location匹配,直接在server里写rewrite即可。

Linux下chkconfig命令详解

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接,在rhel7系后采用systemctl进行来管理。

使用语法:
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

chkconfig在没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。

参数用法:
 

阅读剩余部分...

ssh跳板登录服务器

该篇内容仅适用于*nix环境,不适用windows。

有时候一些后端服务器或者设备没有开放直接对外登录的服务。
往往需要使用到代理或者从堡垒机转二次登录。
在使用过程中遇上需要直接拷贝传输文件会觉得非常蛋疼,这时候ProxyCommand就派上用场了

前景约定:  10.0.0.1 是我们的堡垒机  10.10.10.1是没有对外开放网络的后端服务器,登录凭证则最好是禁用密码使用rsa进行登录
普通情况,先在终端下运行 ssh 用户@10.0.0.1 登录成功后再次运行 ssh 用户@10.10.10.1 进行管理。
使用ProxyCommand的设置方法后登录则 ssh 用户@10.10.10.1 直接进入后端。

本地环境设置的内容大致如下:

cat ~/.ssh/config
Host 10.10.10.1
ProxyCommand ssh -p 22 用户@10.0.0.1 -W %h:%p 2>/dev/null

Host 10.10.10.2
ProxyCommand ssh -p 22 用户@10.0.0.1 -W %h:%p 2>/dev/null

centos编译nginx

以下是自用的nginx编译归纳

yum安装常用包

yum -y update
yum -y install epel-release -y
yum install lua-devel luajit git -y
yum -y --skip-broken install gcc  vim-enhanced gcc-c++ libtool-libs libtool autoconf subversion zip unzip  wget crontabs iptables file bison patch mlocate flex diffutils automake imake make cmake kernel-devel cpp zlib-devel

编译安装pcre

cd /tmp
wget -c http://sourceforge.net/projects/pcre/files/pcre/8.21/pcre-8.21.tar.gz/download -O -|tar xz
cd pcre-8.21
./configure
make && make install
if [ `uname -i` == x86_64 ]; then ln -s /usr/lib64/{libpcre.*,libjpeg.so,libpng.so,libXpm.so,libc-client.so,libkrb5.so,libexpat.so,libevent.so} /usr/lib/;fi

编译安装sregex

阅读剩余部分...

Centos编译安装Libressl

Libressl是openbsd发起的一个代替openssl的项目。

yum install  automake autoconf git libtool perl pod2man -y
git clone https://github.com/libressl-portable/portable libressl
cd  libressl
./autogen.sh
./configure
make check
make install

英文日期写法

元月 January (Jan.)
二月 February(Feb.)
三月 March(Mar.)
四月 April(Apr.)
五月 May
六月 June
七月 July
八月 August(Aug.)
九月 September(Sept.)
十月 October(Oct.)
十一月 November(Nov.)
十二月 December(Dec.)

英文日期分英式和美式,举例如下:
1) 8th March,2004 或8 March,2004(英式)
2) March 8th,2004 或March 8,2004 (美式)

日期写法宜遵从下列规则:
1)年份必须完全写明,不可用"04代替2004;
2)月份必须用英文拼出或采用公认的简写,即 January (Jan.),February(Feb.),March(Mar.),April(Apr.),May,June,July,August(Aug.),September
(Sept.),October(Oct.),November(Nov.),December(Dec.);
3)日期可用序数词,如:1st,2nd,3rd,4th,...;也可用基数词,如:1,2,3,4,...。但美式大多采用后者;
4)在年份和月日之间必须用逗号隔开;

阅读剩余部分...

RHEL/CentOS安装Observium

原文地址http://docs.observium.org/install_rhel7/

官方写的文档很清楚,纯粹为了抄过来做个记录。

Observiun整体就是php mysql libvirt fping这几个基础。

阅读剩余部分...

Centos yum安装powerdns全家桶

CentOS 6

The following repositories are available:

PowerDNS Authoritative Server - version 4.0.X

Execute the following command
yum install epel-release yum-plugin-priorities
curl -o /etc/yum.repos.d/powerdns-auth-40.repo https://repo.powerdns.com/repo-files/centos-auth-40.repo
yum install pdns
 

阅读剩余部分...

juniper EX系列交换机tcpdump命令

SUMMARY:

阅读剩余部分...

Centos安装PF_RING和ntopng

Centos6 安装

wget http://packages.ntop.org/centos/ntop.repo -O /etc/yum.repos.d/ntop.repo
wget https://copr.fedoraproject.org/coprs/saltstack/zeromq4/repo/epel-6/saltstack-zeromq4-epel-6.repo
rpm -ivh http://packages.ntop.org/rpm6/extra/hiredis-0.10.1-3.el6.x86_64.rpm  http://packages.ntop.org/rpm6/extra/hiredis-devel-0.10.1-3.el6.x86_64.rpm
yum install -y epel-release
yum erase zeromq3     #(Do this once to make sure zeromq3 is not installed)
yum clean all
yum update
yum install pfring n2disk nprobe ntopng ntopng-data cento

Centos7 安装

yum install -y wget epel-release
wget http://packages.ntop.org/centos/ntop.repo -O /etc/yum.repos.d/ntop.repo        
yum erase zeromq3     #(Do this once to make sure zeromq3 is not installed)
yum clean all
yum update
yum install pfring n2disk nprobe ntopng ntopng-data cento

git获取源码安装pf_ring

git clone https://github.com/ntop/PF_RING.git
cd PF_RING/kernel
make
sudo insmod ./pf_ring.ko
cd ../userland
make
modprobe pf_ring

git获取源码安装nDPI

git clone https://github.com/ntop/nDPI.git
cd nDPI
./configure –with-pic
make


以上内容引用自:http://packages.ntop.org/centos/

Centos7 磁盘分区表 MBR 和 GPT

MBR(Master Boot Record)

最大只支持 2 TB 的盘,最多只支持 4 个主分区
信息只存储在一个区域

GPT(GUID partition table)
是 MBR 的替代,属于 UEFI,磁盘的每一个分区都有唯一的识别号,支持更大的盘和更多的分区
信息存储在多个区域,当一部分受损后可修复

当 GPT 分区的盘在老的只支持 mbr 的工具下查看时,也会读到分区信息,只不过看到的是只有一个分区,这是为了防止用户误认为盘是空盘。

当大于 2TB 盘安装安装 CentOS 7 时报错

Your BIOS-based system needs a special partition to boot from a GPT disk label. To continue, please create a 1MiB 'biosboot' type partition

对于这个问题,解决办法是在 kickstart 文件中添加

part biosboot --fstype=biosboot --size=1

转载自:http://jpuyy.com/2015/08/mbr-and-gpt.html

kexec快速切换内核

kexec是一个用于在当前系统下快速切换到另一个内核的一种办法,它采用了一定的机制略过了硬件的初始化,所以切换速度会很快。

自2.6.13以后,Linux内核就已经自置了kexec,而Debian采用的内核已经是2.6.26,而且默认就支持kexec,所以在Debian下我们只要安装kexec-tools就行了。

$ yum install kexec-tools
$ sudo apt-get install kexec-tools

安装好以后,就可以开始加载其他的内核了。
先看看我有哪些内核可以用:

阅读剩余部分...

LSI CacheCade 介绍及简单配置

LSI CacheCade 技术能将经常访问的"热点"数据缓存在固态驱动器 (SSD) 中,从而大幅提升采用硬盘驱动器的系统存储的 I/O 性能。采用 Dell PERC H700 和 H800 的系统通过配置 CacheCade 技术可实现性能的显著提升,同时不会损失现有的驱动器存储空间,而且只需对 SSD 技术稍加投资即可。

  LSI CacheCade 技术使 SSD 能作为硬盘前面的高性能控制器二级缓存,用以加速应用和工作负载性能。由于该技术可将超大容量的数据集存储在高速缓存中,因此有助于实现例如文件和 Web 服务器、数据挖掘、OLTP 和数据库服务器等事务处理应用性能的最大化。而且该技术可实现高度的可扩展性,通过在硬盘驱动器配置中添加单部支持CacheCade 的 SSD 虚拟驱动器,用户即可将数据库性能提升多达 55%。如果再添加一部支持 CacheCade 的 SSD 虚拟驱动器,数据库性能则能进一步提升达 76%。

CacheCade 解决方案的安装和使用都非常方便。用户只需将支持热插拔的 SSD 插入服务器驱动器插槽即可,并可通过配置工具来创建 CacheCade 虚拟驱动器。CacheCade 技术能自动确定并将"热点"数据移到虚拟驱动器上,对日志和其它写入密集型区域不会产生任何性能影响,同时也不会给主机 CPU、主机 DDR 和主机 OS带来任何负担。

下面是LSI配置SSD Cache的简单流程

阅读剩余部分...