Category Archives: Linux

Linux网络配置点滴

1.在网络接口配置文件中(ifcfg-ethN),最多可以配置三个DNS选项(DNS1, DNS2, DNS3)
2.ifconfig – configure a network interface
(1). 显示所有网卡的配置信息
ifconfig
#or
ifconfig -a
(if a single -a argument is given, it displays the status of all interfaces)
(2). 显示eth0的配置信息
ifconfig eth0
(3). 配置网卡的地址
ifconfig eth0 192.168.1.23 netmask 255.255.255.0 up
(4). 打开/关闭网卡
ifconfig eth0 down && ifconfig eth0 up

ifdown eth0 && ifup eth0
(5). 设置MTU
ipconfig eth0 mtu 2000

echo “1499” > /sys/class/net/echo/mtu
(6). 为网卡添加另一个IP地址
ifconfig eth0:2 192.168.3.1 netmask 255.255.255.0 up
Continue reading

Posted in Linux.

DHCPD服务配置

DHCP(Dynamic Host Configuration protocol, DHCP) 是一个局域网的网络协议,使用UDP进行数据传输(服务器UDP端口67,客户端UDP端口 68)。主要功能是将内部网络或ISP的IP资源分配给用户。DHCP通常配置在网关路由器或者三成交换机上,也可以配置在服务器上。
DHCP运行分为四个步骤:
(1). 请求IP租约(discover)
客户端采用广播的形式去寻找DHCP服务器。如果这个网段内有多个DHCP服务器,那么最先响应的DHCP服务器将先进行DHCP服务。
(2). 提供IP租约(offer)
DHCP在地址池中挑选一个未被使
用的IP地址给客户端使用。
(3). 选择IP租约(request)
当客户端收到一个IP租约提供时,它必须广播来所有DHCP服务器它已经接受了一个租约offer。因此,该客户会发送一个DHCPREQUEST消息,其中包含提供租约的服务器的IP。当其他DHCP服务器收到了该消息后,它们会收回该的租约。并将IP地址重新放回到可用地址池中。
(4). 确认IP租约(ack)
当DHCP服务器收到来自客户端的DHCPREQUEST消息后,它就开始了配置过程的最后阶段。这个响应阶段包括发送一个DHCPACK包给客户。这个包包含租期和客户可能请求的其他所有配置信息(如DNS服务器等)
Continue reading

Posted in Linux, Ops, Tools.

配置iSCSI target和initiator

1. 概念

iSCSI是在IP网络上传输的SCSI协议的存储技术,iSCSI的存储叫做 IP-SAN。
一个重要的概念是iqn(iSCSI Qualified Name)。iqn 格式:iqn..:extra-name,例如iqn.2012-06.com.example:disk0;
iSCSI target端是iscsi存储服务器.target端一般为盘阵主机或者共享磁盘的主机,默认提供服务的端口是3260;
iSCSI initiator端是挂接 iscsi 的节点
Continue reading

Posted in Linux.

逻辑卷的扩展和收缩

LVM(logical volume)的一个重要的功能就是可以随意扩展和收缩分区的大小。下面简单模拟这两种情形。
Continue reading

Posted in Linux.

Linux时区和NTP服务配置

首先设置时区:
将对应时区文件拷贝一个副本为/etc/localtime

Continue reading

Posted in Linux.

RHEL6 Server Security Hardening

# For RHEL 6/OEL 6/CentOS 6.

1. disabling services

2. ntp client

3. global env varaiables

4. use PAM

5. password policy

6. create user without creating home

7. /etc/ssh/sshd_config

8. lock accounts
需要锁定的账号:adm、lp、sync、shutdown、halt、mail、news、uucp、operator、games、gopher、ftp、mailnull、
nfsnobody、nobody、pegasus、http
参考配置
(1)删除用户:#userdel username;
(2)锁定用户:#passwd -l username
(3)解锁用户:#passwd -u username
(4)禁止用户交互登录:修改/etc/passwd文件,用户shell修改为/sbin/nologin
补充说明

9. banner

10. disable Control-Alt-Delete
修改/etc/init/control-alt-delete.conf文件,注释如下内容:

11. syslog

Posted in Linux.

【APUE】UNIX下的文件操作

1. 内核文件数据结构

内核使用三种数据结构表示打开的文件,它们之间的关系决定了在文件共享方面一个进程对另一个进程的影响。
(1). 每个进程在进程表中都一个记录项(task_struct),包含一个打开文件描述符表(存放在用户空间)。每个文件描述符为表中一项,包括文件描述符标识和指向一个文件表项的指针。
(2). 内核为所有打开文件维持一张文件表,每个文件表项包括:
a). 文件状态标识(RD, WR, APPEND, 同步和非阻塞等)。注意,文件描述符作用域是一个进程,而文件状态标识则适用于指向文件表中该表项的所有进程的描述符。使用fcntl函数来修改这两个结构。下面第3节将会解释。
b). 当前文件偏移量
c). 指向该文件v节点表项的指针。
(3). 每个打开文件或设备都有一个v-node结构,包含文件类型和对此文件进行各种操作的函数的指针。对于大多数文件,v-node还包含了该文件的i-node节点(i-node包含文件所有者、长度、所在设备、指向文件数据库在磁盘上位置的指针等)。这些信息是打开文件时从磁盘读入内存的,所以所有关于文件的信息都是快速可以使用的。
Linux没有使用v-node,而是使用了通用的i-node节点结构。虽然两者实现有所不同,但在概念上,v-node和i-node是一样的,都指向文件系统相关的i-node结构。
Continue reading

Posted in C|C++, Linux.

Linux查看文件系统信息的命令

1. stat命令

display file or file system status
[OPTIONS]
-L, –dereference: follow links
-f, –file-system: display file system status instead of file status
for example:

Continue reading

Posted in Linux.

UNIX文件信息

1. stat, fstat和lstat

stat, fstst, lstat – get file status

stat() stats the file pointed to by path and fills in buf. lstat() is identical to stat(), except that if path is a sym‐bolic link, then the link itself is stat-ed, not the file that is refers to.
fstat() is identical to stat(), except that the file to be stated is specified by the file descriptor fd.
Continue reading

Posted in C|C++, Linux.

UNIX进程环境和动态链接

1. 环境表

每个程序都会从父进程那里接收一张环境表。和参数包一样,环境表也是一个字符指针数组,其中每个指针包含你一个null结束的C字符串地址。全局变量environ则包含该指针数组地址,称为环境指针。环境指针指向环境表,保存每个环境字符串的地址。每个环境字符串都是name=value的形式。可以用getenv和putenv来访问特定的环境标量。
extern char **environ;
环境指针—–> 环境表:
environ—–> 环境字符串地址—–> HOME=/home/luffy
环境字符串地址—–> PATH=:/bin:/usr/bin
环境字符串地址—–> SHELL=/bin/bash
环境字符串地址—–> USER=luffy
环境字符串地址—–> LOGNAME=luffy
Continue reading

Posted in C|C++, Linux.