Linux技术在线

知识博客专集

Linux服务器ZFS文件系统使用攻略


     zfs(zettabyte file system)作为一个全新的文件系统,全面抛弃传统file system volume manager storage(文件系统 卷管理 存储)的架构,所有的存储设备是通过zfs 池进行管理,只要把各种存储设备加 入同一个zfs 池,大家就可以轻松的在这个zfs 池管理配置文件系统。

  zfs 包括一系列具有分层结构的存储元素,其中既有物理存储元素,又有逻辑存储元素。所有这些元素都以有助于方便管理的方式相关联。如下图,是zfs文件系统与传统文件系统的对比。

  一、为linux服务器配置安装zfs文件系统

  (1) 为rhel 配置epel repo

  如果既想获得 rhel 的高质量、高性能、高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 fedora project 推出的 epel(extra packages for enterprise linux)正好适合你。epel(http://fedoraproject.org/wiki/epel) 是由 fedora 社区打造,为 rhel 及衍生发行版如 centos、scientific linux 等提供高质量软件包的项目。装上了 epel,就像在 fedora 上一样,可以通过 yum install package-name,随意安装软件。安装 epel 非常简单:

  rhel 6 系列使用:

  # rpm -uvh http://download.fedora.redhat.com/pub/epel/beta/6/i386/epel-release-6-1.noarch.rpm

  rhel 5 系列使用:

  #rpm -uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

  (2)安装zfs-fuse模块

  # yum install zfs-fuse

  (3)从源代码安装

  如果要源代码安装首先安装如下模块:

  su -c \”yum install -y fuse-devel libattr-devel libaio-devel libacl-devel zlib-devel fuse-devel scons openssl-devel\”

  然后下载http://zfs-fuse.net/releases/0.6.9/zfs-fuse-0.6.9.tar.bz2

  #/configure;make;make install

  加载zfs内核模块

  #modprobe zfs

Linux防火墙的IPtables设置与用法(1)


利用iptables来设置linux防火墙的方法很简单,具体的过程如下:

防火墙典型的设置是有两个网卡,一个流入,一个流出。iptables读取流入和流出的数据包的报头,然后将它们与规划集(ruleset)相比较,然后将可接受的数据包从一个网卡转发至另外一个网卡。对于被拒绝的数据包,可以被丢弃或者按照你所定义的方式来处理。

通过向防火墙提供有关对来自某个源、到某个目的地或具有特定协议类型的信息包要做些什么的指令的规则,控制信息包的过滤。通过使用iptables系统提供的特殊命令 iptables,建立这些规则,并将其添加到内核空间的特定信息包过滤表内的链中。关于添加、除去、编辑规则的命令的一般语法如下:

iptables [-t table] command [match] [target]

现实中,为了易读,我们一般都用这种语法。大部分规则都是按这种语法写的,因此,如果看到别人写的规则,你很可能会发现用的也是这种语法。

如果不想用标准的表,就要在[table]处指定表名。一般情况下没有必要指定使用的表,因为iptables 默认使用filter表来执行所有的命令。也没有必要非得在这里指定表名,实际上几乎可在规则的任何地方指定表名。当然,把表名放在开始处已经是约定俗成的标准。尽管命令总是放在开头,或者是直接放在表名后面,我们也要考虑到底放在哪儿易读。

“command”告诉程序该做什么,比如:插入一个规则,还是在链的末尾增加一个规则,还是删除一个规则。下面会仔细地介绍。

“match”细致地描述了包的某个特点,以使这个包区别于其它所有的包。在这里,我们可以指定包的来源ip 地址、网络接口、端口、协议类型,或者其他什么。下面我们将会看到许多不同的match。

最后是数据包的目标所在“target”。若数据包符合所有的match,内核就用target来处理它,或者说把包发往target。比如,我们可以让内核把包发送到当前表中的其他链(可能是我们自己建立的),或者只是丢弃这个包而不做任何处理,或者向发送者返回某个特殊的应答。下面我们来逐个讨论这些选项:

表(table)

[-t table]选项允许使用标准表之外的任何表。表是包含仅处理特定类型信息包的规则和链的信息包过滤表。有三种可用的表选项:filter、nat 和 mangle。该选项不是必需的,如果未指定,则filter用作缺省表。下面介绍各表实现的功能。

filter

filter 表用来过滤数据包,我们可以在任何时候匹配包并过滤它们。我们就是在这里根据包的内容对包做drop或accept的。当然,我们也可以预先在其他地方做些过滤,但是这个表才是设计用来过滤的。几乎所有的target都可以在这儿使用。

nat

nat表的主要用处是网络地址转换,即network address translation,缩写为nat。做过nat操作的数据包的地址就被改变了,当然这种改变是根据我们的规则进行的。属于一个流的包只会经过这个表一次。

如果第一个包被允许做nat或masqueraded,那么余下的包都会自动地被做相同的操作。也就是说,余下的包不会再通过这个表,一个一个的被nat,而是自动地完成。这就是我们为什么不应该在这个表中做任何过滤的主要原因。prerouting 链的作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。output链改变本地产生的包的目的地址。

postrouting链在包就要离开防火墙之前改变其源地址此表仅用于nat,也就是转换包的源或目标地址。注意,只有流的第一个包会被这个链匹配,其后的包会自动被做相同的处理。实际的操作分为以下几类:

◆ dnat

◆ snat

◆ masquerade

dnat操作主要用在这样一种情况,你有一个合法的ip地址,要把对防火墙的访问 重定向到其他的机子上(比如dmz)。也就是说,我们改变的是目的地址,以使包能重路由到某台主机。

snat改变包的源地址,这在极大程度上可以隐藏你的本地网络或者dmz等。一个很好的例子是我们知道防火墙的外部地址,但必须用这个地址替换本地网络地址。有了这个操作,防火墙就 能自动地对包做snat和de-snat(就是反向的snat),以使lan能连接到internet。

如果使用类似 192.168.0.0/24这样的地址,是不会从internet得到任何回应的。因为iana定义这些网络(还有其他的)为私有的,只能用于lan内部。

masquerade的作用和masquerade完全一样,只是计算机 的负荷稍微多一点。因为对每个匹配的包,masquerade都要查找可用的ip地址,而不象snat用的ip地址是配置好的。当然,这也有好处,就是我们可以使用通过ppp、 pppoe、slip等拨号得到的地址,这些地址可是由isp的dhcp随机分配的。

mangle

这个表主要用来mangle数据包。我们可以改变不同的包及包头的内容,比如 ttl,tos或mark。 注意mark并没有真正地改动数据包,它只是在内核空间为包设了一个标记。防火墙内的其他的规则或程序(如tc)可以使用这种标记对包进行过滤或高级路由。这个表有五个内建的链: prerouting,postrouting, output,input和 forward。

Linux内核裁剪的具体步骤


在menuconfig中配置:
详细介绍内核配置选项及删改情况
第一部分:全部删除
code maturity level options —> 代码成熟等级选项
[]prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.不选。
第二部分 :除以下选项,其它全部删除
general setup—〉
system v ipc (ipc:inter process communication)是组系统调用及函数库,它能让程序彼此间同步进行交换信息。某些程序以及dos模拟环境都需要它。为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选y的情况下才能运行,所以不用考虑,这里一定要选。
第三部分:除以下选项,其它全部删除
loadable module support —> 可引导模块支持 建议作为模块加入内核
[] enable loadable module support 这个选项可以让你的内核支持模块,模块是什么呢?模块是一小段代码,编译后可在系统内核运行时动态的加入内核,从而为内核增加一些特性或是对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以减少内核的体积。在运行时可以使用modprobe命令来加载它到内核中去(在不需要时还可以移除它)。一些特性是否编译为模块的原则是,不常使用的,特别是在系统启动时不需要的驱动可以将其编译为模块,如果是一些在系统启动时就要用到的驱动比如说文件系统,系统总线的支持就不要编为模块了,否在无法启动系统。
[]automatic kernel module loading 一般情况下,如果我们的内核在某些任务中要使用一些被编译为模块的驱动或特性时,我们要先使用modprobe命令来加载它,内核才能使用。不过,如果你选择了这个选项,在内核需要一些模块时它可以自动调用modprobe命令来加载需要的模块,这是个很棒的特性,当然要选y喽。
第四部分:全部删除
block layer—–〉块设备
第五部分:除以下选项,其它全部删除
processor type and features —> 处理器类型
subarchitecture type (pc-compatible) —> 这选项的主要的目的,是使linux可以支持多种pc标准,一般我们使用的pc机是遵循所谓ibm兼容结构(pc/at)。这个选项可以让你选择一些其它架构。我们一般选择pc-compatible就可以了。
processor family(386) : 它会对每种cpu做最佳化,让它跑的好又快,一般来说,你是什么型号的就选什么型号的就好。我选的是386,这样内核会省下不少空间
第六部分:除以下选项,其它全部删除
power management options (acpi, apm) —> 电源管理选项
[ ] power management debug support 电源管理的调试信息支持,如果不是要调试内核有关电源管理部份,请不要选择这项。
acpi support —〉高级电源接口配置支持,如果bios支持,建议选上这项
[]button 这个选项用于注册基于电源按钮的事件,比如power, sleep等,当你按下按钮时事件将发生,一个守护程序将读取/proc/acpi/event,并执行用户在这些事件上定义的动作比如让系统关机。可以不选择,根据自己的需求。
第七部分:除以下选项,其它全部删除
bus options (pci, pcmcia, eisa, mca, isa) —> 总线选项
[]pci support
pci access mode (any) —> pci外围设备配置,强列建议选any,系统将优先使用mmconfig,然后使用bios,最后使用direct检测pci设备。
第八部分:除以下选项,其它全部删除
executable file formats —>
kernel support for elf binaries elf是开放平台下最常用的二进制文件,它支持不同的硬件平台。一定要选。
第九部分:除以下选项,其它全部删除
networking
networking options —>
[]unix domain sockets
[]tcp/ip networking
第十部分:除以下选项,其它全部删除
device drivers —>设备驱动
block devices——-〉
[]compaq smart2 support
[] compaq smart array 5xxx support
[]loopback device support 大部分的人这一个选项都选n,因为没有必要。但是如果你要mount iso文件的话,你得选上y。这个选项的意思是说,可以将一个文件挂成一个文件系统。如果要烧光盘片的,那么您很有可能在把一个文件烧进去之前,看看这个文件是否符合is09660的文件系统的内容,是否符合您的需求。而且,可以对这个文件系统加以保护。不过,如果您想做到这点的话,您必须有最新的mount程序,版本是在2.5x版以上的。而且如果您希望对这个文件系统加上保护,则您必须有des.1.tar.gz 这个程序。注意:此处与网络无关。建议编译成模块
[] ram disk support
scsi device support —> 里面有关于usb支持的,要选择
[]scsi device support usb要用,必须选择
[]legacy /proc/scsi/ support usb要用,必须选择
[]scsi disk support usb要用,必须选择
scsi low-level drivers
[]serial ata(sata) support
[]intel piix/ich sata support  这个必须选择,否则无法产生引导文件
[]via sata support
networking device support —> 这个下面是选网卡驱动,一定要选
ethernet(1000mbit)-我的电脑是千兆网卡所以就选这个
[]broadcom tigon3support
input device support —> 这个里面要设置你的鼠标键盘什么的
[]provide legacy /dev/psaux device
graphics support —>
[]support for frame buffer devices 支持frame buffer的,一定要选择
usb support —>
[]usb device filesystem 这个好象是用u盘必须的
[]ehci hcd (usb 2.0) support 有usb2.0就选上把,编译成模块
[]ohci hcd support 必须选择,编译成模块
[]uhci hcd (most intel and via) support 必须选择,编译成模块
[]usb mass storage support 用u盘必须选择
usb human interface device (full hid) support 里面选择usb鼠标和usb键盘,如果你有一定选上这个必需选
hid input layer support 应该选择
/dev/hiddev raw hid device support如果这里有usb键盘和鼠标选项,一定要选择
第十一部分:除以下选项,其它全部删除
file systems —>文件系统
second extended fs support

ext2 extended attributes

ext2 posix access control lists

ext2 security labels
ext3 journalling file system support

ext3 extended attributes

ext3 posix access control lists

ext3 security labels 以上这些肯定是要选择的,linux的标准文件系统
kernel automounter support 内核自动挂载的,当然要选
kernel automounter version 4 support (also supports v3) 当然要选
dos/fat/nt filesystems —>
dos fat fs support
msdos fs support
vfat (windows-95) fs support
ntfs file system support
native language support语言支持,这里就支持英语和汉语就行了,不多说了
[]nls iso 8859-1 必须选择,这个是关于u盘挂载的。
cd-rom/dvd filesystems —> 这个是关于挂载iso文件的,用的话就选。
iso 9660 cdrom file system support
第十二部分: 全部删除
instrumentation support
第十三部分:全部删除
kernel hacking —>破解核心?可不是当骸客啦,不选
第十四部分:全部删除
security options —>
第十五部分:全部删除
cryptographic options —>这是核心支持加密的选项
第十六部分:全部删除
library routines —>
附:
内核配置
  内核配置的方法很多,make config、make xconfig、make menuconfig、make oldconfig等等,它们的功能都是一样的,区别应该从名字上就能看出来,只有make oldconfig是指用系统当前的设置(./.config)作为缺省值。这里用的是make menuconfig。
  需要牢记:不必要的驱动越多,内核就越大,不仅运行速度慢、占用内存多,在少数情况下、还会引发其他问题。具体步骤如下:
首先确定shell是bash。
然后
&make menuconfig
有一些默认的符号其含义如下:
y:加载
n:不加载
m:作为模块加载
可以配置的选项有以下一些:
1)code maturity level option 代码成熟度
prompt for development and/or incomplete code/drivers [n/y/?]
如果有兴趣测试一下内核中尚未最终完成的某些模块,就选y,否则选n,想知道更详细的信息选?会看到联机帮助(以下?的含义相同),n大写表示缺省值。
2)processor type and features 处理器类型及特性
processor family(386,486/cx486,586/k5/5×86/6×86,pentium/k6/tsc, ppro/6×86mx)[ppro/6x86mx]
[]内的是缺省值,我们可以根据前面介绍的uname 命令执行的结果选择。此项如果高于386,那么生成的内核在386机器上将不能启动。
math emulation(config_math_emulation)[n/y/?]
需要进行协处理器模拟吗?一般的机器都回n。如果机器已经有硬件的协处理器,那么内核仍将使用硬件,而忽略软件的math-emulation,这将使内核变大变慢。
mtrr(memory type range register)support(config_mtrr)[n/y/?]
在pentium、pro/pentium ii类的系统中可以提高图像写入速度。
symmetric multi-processing support(config_smp)[y/n/?]
如果您的机器有多个处理器,就选y。此时要选中下面的enhanced real time clock support
3)loadable model support 可加载模块支持
enable loadable module support(config_modules)[y/n/?]
最好选y,不然许多仅供动态加载的模块就不能用了。
set version information on all symbols for modules(config_modversions)[n/y/?]
选n
kernel module loader(config_kmod)[n/y/?]
4)general setup 一般设置
networking support(config_net)[y/n/?]
选y吧,现在还有几台计算机不用上网呢?
pci support (config_pci)[y/n/?]
pci 总线和设备总该有吧。
pci access mode(bios,direct,any)[any]
缺省值比较保险,但如果您对您的主板很有信心,就选bios。
pci quirks (config_pci_quirks)[y/n/?]
用于修补bios中对pci有影响的bug,同样,如果您对主板很有信心,就选n。
backward-compatible /proc/pci〉(config_pci_old_proc)[y/n/?]
以前的内核使用/proc/pci,新版内核使用/proc/bus/pci,要保持兼容性就选y。
mca support(config_mca)[n/y/?]
查看帮助吧。
sgi visual workstation support(config_visws)[n/y/?]
您的机器是sgi的吗?是就选y。
system v ipc(config_sysvipc)[y/n/?]
进程间通信函数和系统调用。linux内核的五大组成部分之一,一定要选。
bsd process accounting(config_bsd_process_acct)[n/y/?]
用于启动由内核将进程信息写入文件的用户级系统调用。就看您想不想用它了。
sysctl support(config_sysctl)[y/n/?]
在内核正在运行的时候修改内核。用8kb空间换取某种方便。别选吧,除非你真的想试试。
kernel support for a.out binaries(config_binfmt_aout)[y/m/n/?]
为了能使用以前编译的程序,选y。
kernel support for elf binaries(config_binfmt_elf)[y/m/n/?]
为了能使用现在编译的程序,选y。
kernel support for misc binaries(config_binfmt_misc)[y/m/n/?]
一般选y,用于支持java等代码的自动执行。
parallel port support(config_parport)[n/y/m/?]
并口设备,如打印机。
5)plug and play support 即插即用设备支持
plug and play support (config_pnp)[n/y/?]
选y吧。
6)block devices 块设备
normal pc floppy disk support(config_blk_dev_fd)[y/m/n/?]
一般的软驱。选y。
enhanced ide/mfm/rll disk/cdrom/tape/floppy support(config_blk_dev_ide)[y/m/n/?]
这几种接口的硬盘、光驱、磁带、软驱。选y。
include ide/atapi cdrom support(config_blk_dev_idecd)[y/m/n/?]
cdrom。选y。
7)networking options 网络选项
packet socket (config_pachet)[y/m/n/?]
按照目前网络发展的状况,选y比较好。当然也可以选其它的。
kernel/user netlink socke(config_netlink)[n/y/?]
内核与用户进程双向通信。选y。
network firewalls(config_firewall)[n/y/?]
如果真的需要用防火墙,就选y。
unix domain sockets(confgi_unix)[y/m/n/?]
socket 的用处太多了。选y。
tcp/ip networking(config_inet)[y/n/?]
选y,理由如上一条。
the ipx protocol (config_ipx)[n/y/m/?]
其实并没有那么多人真的需要使用或者学习ipx,所以一般选n。
appletalk ddp(config_atalk)[n/y/m/?]
选n,理由同上。
8)scsi support scsi支持,scsi low-level drives scsi低级驱动
根据系统中scsi设备的实际情况选择。
9)networking device support 网络设备支持
如果用lan上网,就选择网卡;
如果用modem拨号上网,就要看isp提供那种服务了,一般都是ppp。
10)amateur radio support 业余收音机支持
这是什么我不太清楚,所以选n。
11)isdn subsystem isdn子系统
好像已经有支持isdn的modem了,所以最好先看看自己的modem是不是这种,再做选择。
12)old cd-rom dfivers (not scsi, not ide) 老式光驱驱动
一般选n,因为这种设备实在很少见。
13)character devices 字符设备
virtual terminal(config_vt)[y/n/?]
linux上一般可以用alt f1/f2/f3/f4来切换不同的任务终端,即使在一台计算机上也可以充分使用linux的多任务能力,一些需要以命令行方式安装合适用的软件如果有虚拟终端的支持就会更方便,因此选y。
support for console on virtual terminal(config_vt_console)[y/n/?]
选y将支持一个虚拟终端作为控制台。一般为alt f1。
support for console on serial port(config_serial)[y/m/n/?]
除非真的需要一个串口控制台,否则选n。
extended dumb serial driver options(config_serial_extended)[n/y/?]
如果希望使用\”dumb\”的非标准特性(如hub6支持),选y,一般选n。
non-standard serial port support(config_serial_nonstandard)[n/y/?]
非标准串口。一般选n。
unix98 pty support(config_unix98_ptys)[y/n/?]
pty指伪终端,一般用户就选n。但如果想用telnet或者xterms作为终端访问主机,并且已经安装了glibc2.1,就可以选y。
maximum number of unix98 ptys in use(0-2048)(config_unix98_pty_count)[256]
缺省值就可以了。
mouse support(not serial mice)(config_mouse)[y/n/?]
ps/2等非串口鼠标选y,否则选n。
14)mice 鼠标
根据自己的鼠标类型选择。
15)video for linux linux视频
根据系统中的音/视频捕捉设备选择。
16)joystick support 操纵杆
根据系统中的游戏杆设备选择
17)ftape,the floopy tape device driver ftape设备驱动
ftape (qic-80/travan)support(config_ftape)[n/y/m/?]
如果系统中有磁带机,选y。
18)filesystems 文件系统
文件系统的选择要比较仔细,因为其中的一些给某些系统功能提供支持。而且除了proc、ext2等文件系统之外,其它的文件系统(包括下面的网络文件系统)都可以选择为m方式,从而减小内核启动时的体积。
quota support(config_quota)[n/y/?]
用于给用户划分定量的磁盘空间。如不用此功能就选n。
dos fat fs support(config_fat_fs)[n/y/m/?]
为内核提供fat支持,多数用户有可能从linux访问同一系统中的windows硬盘空间,因此最好选y。
iso 9660 cdrom filesystem support(config_iso9660_fs)[y/m/n/?]
有标准光驱的系统应该选y。
minix fs support(config_minix_fs)[n/y/m/?]
用于创建启动盘的文件系统,多数应该选y或者m。
/proc filesystem support(config_proc_fs)[y/n/?]
虚拟文件系统,必须选y。
second extended fs support(config_ext2_fs)[y/m/n/?]
linux标准文件系统,都应该选y。
19)network file systems 网络文件系统
coda filesystem support (advanced network fs)(config_coda_fs)[n/y/m/?]
先看帮助再选。
nfs filesystem support(config_nfs_fs)[y/m/n/?]
选y或n,能够访问远程nfs文件系统。
smb filesystem support(to mount wfw shares etc.)(config_smb_fs)[n/y/m/?]
要访问windows系统中的共享资源选y。
ncp filesystem support(to mout netware volumes)(config_ncp_fs)[n/y/m/?]
如果真的需要访问netware文件系统,就选y或者m。
20)partion types 分区类型
一般用不上;要用请参看帮助。
21)console drivers 控制台驱动
vga text console(config_vga_console)[y/n/?]
用vga模式下用文本方式操作linux,一般选y。
video mode selection support(config_video_select)[n/y/?]
大多数系统都不需要这项功能。
22)sound 声音
sound card support(config_sound)[n/y/m/?]
如果系统中安装了声卡,就选y(或者m),然后查看帮助。
23)kernel hacking 内核监视
kernel hacking往往会生成非常大或者非常慢(甚至又大又慢)的内核,甚至会引起内核工作不稳定。如果一定要选,那么也最好不要选其中的\”development\”、\”experimental\”、\”debugging\”项。

linux 服务器 基本安全配置手册


摘要:我们在搭建linux服务器的时候有很多事情需要注意,其中一个安全的配置表是一个服务器的搭建者和维护者最需要掌握的东西。在本文中你会看到一份完整的linux服务器安全搭建手册。

假如你想要搭建一个linux服务器,并且希望可以长期维护的话,就需要考虑安全性能与速度等众多因素。一份正确的linux基本安全配置手册就显得格外重要。在我本文中就向大家介绍在edhat/centos 4,5下的linux服务器基本安全配置手册。

安装注意

1.删除系统特殊的的用户帐号:

禁止所有默认的被操作系统本身启动的且不需要的帐号,当你第一次装上系统时就应该做此检查,linux提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,你有的帐号越多,就越容易受到攻击。

#为删除你系统上的用户,用下面的命令:
[root@c1gstudio]# userdel username
#批量删除方式#这里删除\”adm lp sync shutdown halt mail news uucp operator games gopher ftp \”账号#如果你开着ftp等服务可以把ftp账号保留下来。for i in adm lp sync shutdown halt mail news uucp operator games gopher ftp ;do userdel &i ;done2.删除系统特殊的组帐号

[root@c1gstudio]# groupdel groupname
#批量删除方式
for i in adm lp mail news uucp games dip pppusers pop
users slipusers ;do groupdel &i ;done3.用户密码设置

安装linux时默认的密码最小长度是5个字节,但这并不够,要把它设为8个字节。修改最短密码长度需要编辑login.defs文件#vi /etc/login.defs

pass_max_days   99999    ##密码设置最长有效期(默认值)
pass_min_days   0        ##密码设置最短有效期
pass_min_len    5        ##设置密码最小长度,将5改为8
pass_warn_age   7        ##提前多少天警告用户密码即将过期。
然后修改root密码
#passwd root
new unix password:
retype new unix password:
passwd: all authentication tokens updated successfully.4.修改自动注销帐号时间

自动注销帐号的登录,在linux系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,那将会带来很大的安全 隐患,应该让系统会自动注销。通过修改账户中“tmout”参数,可以实现此功能。tmout按秒计算。编辑你的profile文件(vi /etc/profile),在\”histsize=\”后面加入下面这行:

tmout=300

300,表示300秒,也就是表示5分钟。这样,如果系统中登陆的用户在5分钟内都没有动作,那么系统会自动注销这个账户。

5.限制shell命令记录大小

默认情况下,bash shell会在文件&home/.bash_history中存放多达500条命令记录(根据具体的系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。
您可以编辑/etc/profile文件,修改其中的选项如下:

histfilesize=30或histsize=30
#vi /etc/profile
histsize=306.注销时删除命令记录

编辑/etc/skel/.bash_logout文件,增加如下行:

rm -f &home/.bash_history
这样,系统中的所有用户在注销时都会删除其命令记录。
如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/&home/.bash_history文件,增加相同的一行即可。

7.用下面的命令加需要的用户组和用户帐号

[root@c1gstudio]# groupadd
例如:增加website 用户组,groupadd website
然后调用vigr命令查看已添加的用户组
用下面的命令加需要的用户帐号
[root@c1gstudio]# useradd username –g website //添加用户到website组(作为webserver的普通管理员,而非root管理员)
然后调用vipw命令查看已添加的用户
用下面的命令改变用户口令(至少输入8位字母和数字组合的密码,并将密码记录于本地机的专门文档中,以防遗忘)
[root@c1gstudio]# passwd username8.阻止任何人su作为root

如果你不想任何人能够su作为root,你能编辑/etc/pam.d/su加下面的行:

#vi /etc/pam.d/su
auth sufficient /lib/security/&isa/pam_rootok.so debug
auth required /lib/security/&isa/pam_wheel.so group=website
意味着仅仅website组的用户可以su作为root.9.修改ssh服务的root登录权限

修改ssh服务配置文件,使的ssh服务不允许直接使用root用户来登录,这样减少系统被恶意登录攻击的机会。

#vi /etc/ssh/sshd_config
permitrootlogin yes将这行前的#去掉后,修改为:

permitrootlogin no
10.修改ssh服务的sshd 端口

ssh默认会监听在22端口,你可以修改至6022端口以避过常规的扫描。
注意:修改端口错误可能会导致你下次连不到服务器,可以先同时开着22和6022两个端口,然后再关掉22端口;
重启sshd不会弹掉你当前的连接,可以另外开一个客户端来测试服务;

#vi /etc/ssh/sshd_config
#增加修改
#port 22 #关闭22端口
port 6022 #增加6022端口
#重启sshd服务
service sshd restart
检查一下sshd的监听端口对不对
netstat -lnp|grep ssh
#iptables开放sshd的6022端口
vi /etc/sysconfig/iptables
#如果使用redhat默认规则则增加
-a rh-firewall-1-input -m state –state new -m tcp -p tcp –dport 6022 -j accept
#或
iptables -a input -p tcp –dport 6022 -j accept
iptables -a output -p udp –sport 6022 -j accept重启iptables 服务

service iptables restart
#测试两个端口是否都能连上,连上后再将22端口删除详细参考:
linux操作系统下ssh默认22端口修改方法

11.关闭系统不使用的服务:  ubuntu 输入法

cd /etc/init.d #进入到系统init进程启动目录
在这里有两个方法,可以关闭init目录下的服务,

一、将init目录下的文件名mv成*.old类的文件名,即修改文件名,作用就是在系统启动的时候找不到这个服务的启动文件。

二、使用chkconfig系统命令来关闭系统启动等级的服务。

注:在使用以下任何一种方法时,请先检查需要关闭的服务是否是本服务器特别需要启动支持的服务,以防关闭正常使用的服务。

使用chkcofig命令来关闭不使用的系统服务 (level前面为2个减号)要想在修改启动脚本前了解有多少服务正在运行,输入:

ps aux | wc -l然后修改启动脚本后,重启系统,再次输入上面的命令,就可计算出减少了多少项服务。越少服务在运行,安全性就越好。另外运行以下命令可以了解还有多少服务在运行:

netstat -na –ip批量方式先停止服务

for i in acpid anacron apmd atd auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed cups dhcpd firstboot gpm haldaemon hidd ip6tables ipsec isdn kudzu lpd mcstrans messagebus microcode_ctl netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd rpcidmapd rstatd sendmai
l setroubleshoot snmpd sysstat xfs xinetd yppasswdd ypserv yum-updatesd ;do service &i stop;done

关闭启动服务

for i in acpid anacron apmd atd auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed cups dhcpd firstboot gpm haldaemon hidd ip6tables ipsec isdn kudzu lpd mcstrans messagebus microcode_ctl netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd rpcidmapd rstatd sendmai
l setroubleshoot snmpd sysstat xfs xinetd yppasswdd ypserv yum-updatesd ;do chkconfig &i off;done

以下为手动方式及解释,执行批量方式后不需再执行了

chkconfig –level 345 apmd off ##笔记本需要
chkconfig –level 345 netfs off ## nfs客户端
chkconfig –level 345 yppasswdd off ## nis服务器,此服务漏洞很多
chkconfig –level 345 ypserv off ## nis服务器,此服务漏洞很多
chkconfig –level 345 dhcpd off ## dhcp服务
chkconfig –level 345 portmap off ##运行rpc(111端口)服务必需
chkconfig –level 345 lpd off ##打印服务
chkconfig –level 345 nfs off ## nfs服务器,漏洞极多
chkconfig –level 345 sendmail off ##邮件服务, 漏洞极多
chkconfig –level 345 snmpd off ## snmp,远程用户能从中获得许多系统信息
chkconfig –level 345 rstatd off ##避免运行r服务,远程用户可以从中获取很多信息
chkconfig –level 345 atd off ##和cron很相似的定时运行程序的服务
注:以上chkcofig 命令中的3和5是系统启动的类型,以下为数字代表意思
0:开机(请不要切换到此等级)
1:单人使用者模式的文字界面
2:多人使用者模式的文字界面,不具有网络档案系统(nfs)功能
3:多人使用者模式的文字界面,具有网络档案系统(nfs)功能
4:某些发行版的linux使用此等级进入x windows system
5:某些发行版的linux使用此等级进入x windows system
6:重新启动如果不指定–level 单用on和off开关,系统默认只对运行级3,4,5有效

chkconfig cups off #打印机
chkconfig bluetooth off # 蓝牙
chkconfig hidd off # 蓝牙
chkconfig ip6tables off # ipv6
chkconfig ipsec off # vpn
chkconfig auditd off #用户空间监控程序
chkconfig autofs off #光盘软盘硬盘等自动加载服务
chkconfig avahi-daemon off #主要用于zero configuration networking ,一般没什么用建议关闭
chkconfig avahi-dnsconfd off #主要用于zero configuration networking ,同上,建议关闭
chkconfig cpuspeed off #动态调整cpu频率的进程,在服务器系统中这个进程建议关闭
chkconfig isdn off #isdn
chkconfig kudzu off #硬件自动监测服务
chkconfig nfslock off #nfs文档锁定功能。文档共享支持,无需的能够关了
chkconfig nscd off #负责密码和组的查询,在有nis服务时需要
chkconfig pcscd off #智能卡支持,,如果没有可以关了
chkconfig yum-updatesd off #yum更新
chkconfig acpid off
chkconfig autofs off
chkconfig firstboot off
chkconfig mcstrans off #selinux
chkconfig microcode_ctl off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig setroubleshoot off
chkconfig xfs off
chkconfig xinetd off
chkconfig messagebus off
chkconfig gpm off #鼠标
chkconfig restorecond off #selinux
chkconfig haldaemon off
chkconfig sysstat off
chkconfig readahead_early off
chkconfig anacron off需要保留的服务

crond , irqbalance , microcode_ctl ,network , sshd ,syslog因为有些服务已运行,所以设置完后需重启

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

补充说明:这是red hat公司遵循gpl规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。

参数:

 –add  增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
–del  删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
–level<等级代号>  指定读系统服务要在哪一个执行等级中开启或关毕
*/

12.阻止系统响应任何从外部/内部来的ping请求

既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次启动后自动运行。

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
#这个可以不做哈13.修改“/etc/host.conf”文件

“/etc/host.conf”说明了如何解析地址。编辑“/etc/host.conf”文件(vi /etc/host.conf),加入下面这行:
# lookup names via dns first then fall back to /etc/hosts.
order hosts,bind
# we have machines with multiple ip addresses.
multi on
# check for ip address spoofing.
nospoof on第一项设置首先通过dns解析ip地址,然后通过hosts文件解析。第二项设置检测是否“/etc/hosts”文件中的主机是否拥有多个ip地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。

14.不允许从不同的控制台进行root登陆

\”/etc/securetty\”文件允许你定义root用户可以从那个tty设备登陆。你可以编辑\”/etc/securetty\”文件,再不需要登陆的tty设备前添加“#”标志,来禁止从该tty设备进行root登陆。

在/etc/inittab文件中有如下一段话:

# run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6系统默认的可以使用6个控制台,即alt f1,alt f2…,这里在3,4,5,6前面加上“#”,注释该句话,这样现在只有两个控制台 可供使用,最好保留两个。然后重新启动init进程,改动即可生效!

15.禁止control-alt-delete键盘关闭命令

在\”/etc/inittab\” 文件中注释掉下面这行(使用#):ca::ctrlaltdel:/sbin/shutdown -t3 -r now改为:#ca::ctrlaltdel:/sbin/shutdown -t3 -r now为了使这项改动起作用,输入下面这个命令:# /sbin/init q16.用chattr命令给下面的文件加上不可更改属性。

[root@c1gstudio]# chattr i /etc/passwd
[root@c1gstudio]# chattr i /etc/shadow
[root@c1gstudio]# chattr i /etc/group
[root@c1gstudio]# chattr i /etc/gshadow【注:chattr是改变文件属性的命令,参数i代表不得任意更动文件或目录,此处的i为不可修改位(immutable)。查 看方法:lsattr /etc/passwd,撤销为chattr –i /etc/group】

补充说明:这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

 a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
s:即时更新文件或目录。
u:预防以外删除。参数

 -r 递归处理,将指定目录下的所有文件及子目录一并处理。
-v<版本编号> 设置文件或目录版本。
-v 显示指令执行过程。
<属性> 开启文件或目录的该项属性。
-<属性> 关闭文件或目录的该项属性。
=<属性> 指定文件或目录的该项属性。

17.给系统服务端口列表文件加锁

主要作用:防止未经许可的删除或添加服务

chattr i /etc/services
【查看方法:lsattr /etc/ services,撤销为chattr –i /etc/ services】18.系统文件权限修改

linux文件系统的安全主要是通过设置文件的权限来实现的。每一个linux的文件或目录,都有3组属性,分别定义文件或目录的所有者,用户组和 其他人的使用权限(只读、可写、可执行、允许suid、允许sgid等)。特别注意,权限为suid和sgid的可执行文件,在程序运行过程中,会给进程 赋予所有者的权限,如果被黑客发现并利用就会给系统造成危害。

(1)修改init目录文件执行权限:

chmod -r 700 /etc/init.d/* (递归处理,owner具有rwx,group无,others无)(2)修改部分系统文件的suid和sgid的权限:

chmod a-s /usr/bin/chage
chmod a-s /usr/bin/gpasswd
chmod a-s /usr/bin/wall
chmod a-s /usr/bin/chfn
chmod a-s /usr/bin/chsh
chmod a-s /usr/bin/newgrp
chmod a-s /usr/bin/write
chmod a-s /usr/sbin/usernetctl
chmod a-s /usr/sbin/traceroute
chmod a-s /bin/mount
chmod a-s /bin/umount
chmod a-s /sbin/netreport(3)修改系统引导文件

chmod 600 /etc/grub.conf
chattr i /etc/grub.conf
【查看方法:lsattr /etc/grub.conf,撤销为chattr –i /etc/grub.conf】19.增加dns

#vi /etc/resolv.conf
nameserver 8.8.8.8 #google dns
nameserver 8.8.4.420.hostname 修改

#注意需先把mysql、postfix等服务停了
1.hostname servername
2.vi /etc/sysconfig/network
service network restart
3.vi /etc/hosts21.selinux 修改

开启selinux可以增加安全性,但装软件时可能会遇到一些奇怪问题
以下是关闭方法

#vi /etc/selinux/config改成disabled

22.关闭ipv6

echo \”alias net-pf-10 off\” >> /etc/modprobe.confecho \”alias ipv6 off\” >> /etc/modprobe.conf#vi /etc/sysconfig/networknetworking_ipv6=no重启服务

service ip6tables stop
service network restart关闭自动启动

chkconfig –level 235 ip6tables off23.设置iptables

iptables 默认安全规则脚本

重启系统

以上大部分设置可以运行脚本来完成。linux安全设置快捷脚本

linux 常用命令摘要


1、rm  删除文件夹及文件
  rm -rf /tmp/foldername
  强行删除命令,不进行提示
  -r 就是向下递归,不管有多少级目录,一并删除
  -f 就是直接强行删除,不作任何提示的意思
2、yum  系统升级命令
  yum update :升级系统
  yum install package_name
  安装某个软件包。
  yum remove package_name
  删除软件包
3、mkdir 创建目录
  mkdir -p /usr/php
  -p 在需要的情况下创建父文件夹,父文件夹存在时不提示错误
4、rpm -qa|grep package_name 列出需要卸载的软件包
  安装:rpm -ivh *.rpm
  卸载:rpm -e packgename
  升级:rpm -uvh packgename
5、./configure 编译命令
  –prefix=/usr/php 安装路径
  –help 命令帮助
6、httpd 重启命令
  /etc/rc.d/init.d/httpd restart
7、mv 重命名目录、文件
  mv 原文件名 新文件名
8、mysql 重启命令
  /etc/init.d/mysqld restart
9、tar 命令
  打包 : tar cvf 打包后文件名 需打包文件夹名
  tar -zcvf lawbar_pstn_20090104.tar.gz /home/lawbar

  解包 : tar xvf 包名
  tar -xvf lawbar_pstn_20090104.tar.gz

10、chmod 755 /root/filenema.txt
  rwx也可以用数字来代替
  r ————4
  w ————2
  x ————1
  - ————0

11、 ./configure
  make
  make install

12、passwd
  passwd 修改密码
  passwd username 以root用户权限修改username用户的密码

13、useradd、userdel 添加删除用户
  useradd username  添加用户
  passwd username    修改密码
  useradd -g groupname username  添加到用户组
  useradd -d /home/filename  更改主目录
  userdel -r username 删除用户、主目录、邮件账户

14、cat /etc/passwd 、cat /etc/group 查看用户列表及组列表
  w、who 查看当前活动用户

15、vi
  vi filename 进入编辑器
  i、a、o 进入文字编辑:插入、增加、新增一行
  esc 退出编辑模式
  :w filename 写入文件保存
  :wq 写入文件保存并退出
  :q! 强制退出,放弃保存
  
16、chown root /root/filename.txt
  更改文件、目录的所有者或用户组
  chown [ -f ] [ -h ] [ -r ] owner [ :group ] { file … | directory … }
  chown -r [ -f ] [ -h | -l | -p ] owner [ :group ] { file … | directory … }

17、chcon -c -v -r -u system_u -r object_r -t textrel_shlib_t /etc/httpd/modules/libphp5.so
  security context

18、如何关闭selinux:
  /usr/sbin/setenforce 0 关闭
  /usr/sbin/setenforce 1 开启

19、which 查询应用程序的安装路径或命令路径
  which php
  /usr/bin/php

20、hwclock 或 clock
  hwclock –show #显示硬件时钟时间
  hwclock –set –date=\”02/01/2010 17:10:00\” #设置时间 月/日/年 时:分:秒

21、find whereis 查找文件
  find -name \’file_or_dir_name\’

22、xargs 构造参数列表并运行命令
  ls | xargs -n 10 rm -rf #就是将ls的输出,每10个为一组(以空格为分隔符),作为rm -rf的参数

23、grep 搜索
  grep -r -l -i \’function\’ * | grep -n -v \’return\’
  -r:循环目录,-l:文件列表(不显示匹配内容),-i:忽略大小写,*:文件列表或目录,-n:显示行号,-v:反检索(只显示不匹配的行)

基于Linux 联通沃Phone操作系统发布


  【it168 资讯】3月1日消息,中国联通于近日正式发布了沃phone及自有手机操作系统。此次发布仪式规模甚大,工信部、科技部、发改委、国资委相关负责人以及中国联通产业链合作伙伴都出席了此次会议。

  据中国联通相关人士介绍,沃phone是采用沃phone os终端的总称,其操作系统是中国联通基于开源linux内核自主研发,参与此系统产品开发的厂商有英华达、天宇、华为、中兴等,其中天宇朗通u2手机将作为首款沃phone手机发布。

  早在2009年6月,联通就提出了建立自由手机操作平台的设想,该平台具备应用商店、互联网应用、3d硬件加速、屏幕多点触控、主屏幕widget、消息整合、gps、lbs等多种功能。

  此外,记者获悉,联通沃phone开发者社区也将于几周后正式上线。

工作中的Linux防火墙心得


    一、iptables防火墙并不能阻止ddos攻击,建议在项目实施中采购硬件防火墙,置于整个系统之前,用于防ddos攻击和端口映射;如果对安全有特殊要求,可再加上应用层级的防火墙,比如天泰防火墙,其功能强大如此:①天泰web应用防火墙基于对数据报文头部和载荷完整的检测,对web应用客户端输入进行验证,从而对各类已知的及新兴的web应用威胁提供全方位的防护,如sql注入、跨站脚本、蠕虫、黑客扫描和攻击等;②天泰web应用防火墙提供对目前国内比较泛滥的ddos攻击的防护。针对web应用进行的带宽和资源耗尽型ddos攻击,都可轻松应对。尤其针对应用层的ddos攻击,提供细粒度的防护,其它优点这里不一一介绍了。
    二、在项目实施中建议关闭linux服务器的iptables防火墙或freebsd的ipfw,目的为:①更好的提高后端服务器网络性能;②方便数据流在整个业务系统内部流通,安全方面工作由硬件防火墙来承担。
    三、我目前主要将iptables用于内部作nat防火墙,它的性能和方便管理性确实强悍,经迅雷测试可发现,公司内部的10m带宽能被利用得一丝无余;武汉地区比较常用的软件路由器是海蜘蛛,这个其实也是iptables的二次开发;前二年替朋友网吧布署网吧的路由器,我强烈推荐的是让iptables作nat路由转发,事实证明效果很好。
    四、iptables的l是命令,而-v和-n只是作为选项,它们不能进行组合,如-lvn;如果要列出防火墙详细规则,可采用iptables -nv -l;
    五、如果是使用远程来调试iptables防火墙,最好是设置crontab作业是定时停止防火墙,以防自己被锁定,5分钟停止一次iptables即可,等整个脚本完全稳定后再关闭此crontab作业。
    六、如果使用默认禁止一切策略,即应立即使用回环接口lo(因为禁止一切包括了lo);附注:回环接口lo在linux系统中被用来提供本地、基于网络的服务的专用网络接口,不用把本地数据流通过网络接口驱动器发送,而是采用操作系统通过回环接口发送,采取的捷径,大大提高了性能。
    七、如果是电信或双线机房托管的服务器,在没有配置前端硬件防火墙的情况下,linux主机一定要开启iptables防火墙,windows2003主机开启它自带的系统防火墙,并禁ping。
    八、如果项格价格能承受的话,最前端的硬件防火墙应该也要作为双机冗余,防止单防火墙出问题会导致整个网站crash,防火墙跟人一样,总有顶不住压力的时候;如果有双机的话,网站出问题的机率要小许多。

Linux的常见问题解答和办理技巧


  要留意的是,用mount号令装入的是软盘、光盘,而不是软驱、光驱。有些初学者容易犯一个弊端,认为用号令后,软驱就成了/mnt/floppy,光驱就成了/mnt/cdrom。2011年2月21日至28日国产免费测,实在否则,当你要换一张光盘或软盘时,必然要先卸载,再对新盘从头装载。

  光盘中有bsd-games-2.1-3.src.rpm文件包,用rpm号令进行装置,然后到装置目次中去找游戏吧。不外这些游戏都不敷精美,若是你想玩好的,就必要进入x-window,acm是空战模仿游戏,paradise和xpilot是联网战役游戏,xdemineur是挖地雷(没想到吧),xjewel是俄罗斯方块,xboard是国际象棋,xpat2是扑克牌游戏,xboing是弹珠台游戏,另有doom——赫赫有名的第一人称射击游戏!这些游戏有的能够间接调出,有的必要用rpm号令装置。所有的rpm包都正在装置光盘中的srpms目次下,本人去看看吧。

  2.若是/boot为一个零丁分区,因为重写指导办理器时也将重写/boot下的一些文件,所以必要将/boot挂到准确的。用linux刊行版光盘启动计较机,看到装置画面后,按下alt2,转到节制台,施行以下号令:

  声卡设置好了,能够正在光驱中插入一张cd,用装载号令mount将光盘载入,然后输入cdp号令就能够播放了。正在屏幕上能够看到cd的音轨清单,小键盘的9是播放,7是遏制,6进到下一音轨,4退到前一音轨,0退出播放法式,2弹出cd,8是暂停。

  答:这是因为windows的。重装windows后,windows重写了你的mbr,笼盖掉了grub。处理方式很简略:用你的linux第一张装置盘指导进入linxrescue模式(若何进入?你留意一下体系的提醒消息就晓得了),施行下面两条号令就能够了

  答:.solinux的常见问题解答和办理技巧文件就像windows中的.dll文件一样,是库文件。一个法式的一般装置和运转必要特定的库文件的支撑。所以你必要去找到蕴含这个.so的包装上。去http:/www.rpmfind.net用你缺的阿谁…..剿枰?rpm包

  root(hdx,y)用来指定你的boot分区,若是你没有分boot分区(本例就没分boot分区),那就指向根分区就行了,hdx是linux所正在硬盘,hd0是第一块硬盘,hd1是第二块,依此类推。y是分区,从0起头,也就是等于分区号减一,好比你要指向的分区是hdx7,dnf外挂那么y就是6,若是是hdx1,那y就是0。留意root后面要有一个空格。

  答:点窜/etc/inittab文件,此中有一行id:3:initdeult,意义是说开机默认进入运转级别3(多用户的文本界面),把它改成id:5:initdeult,既开机默认进入运转级别5(多用户的图形界面)。如许就行了。

  答:这是由于你装置了中文支撑的来由。处理的方式是装置一个zhcon(一个快捷地外挂式cjk(中文/日文/韩文)的多内码平台),我把他放正在附件中供给大师下载。关于zhcon的更进一步的动静,大师能够到他的主页zhcon.gnuchina.org查看。装置和利用请参考这个毗连

  要设置好你的显卡,起首,要晓得你的显卡的型号,是什么公司出的,什么样的类型的显卡,显存有几mb,还要晓得显卡的显示芯片是什么类型的,是alg2302的,仍是sis6326的,仍是savage3d的,等;然后,正在超等用户的权限下,你能够运转界面比力敌对的xconfigurator东西,这里的x记住必然要大写的,一步一步随着指点来取舍,该当不是很难的,被取舍你的显卡的芯片的时钟时,不消取舍它,让测试法式主动查抄;最初,还要晓得你的显示器的类型,是vga的,仍是svga的,以及水安然清静垂直分辨率。你还能够运转界面不敌对的xfree86,若是你比力通晓linux的话,用xfree86号令设置装备部署的xwindows结果比xconfigurator好良多的。界面最敌对的,当属xf86setup东西,若你有装置这个东西的话,没关系就用这个东西来设置你的显卡吧。

  设施名,指的是你要装载的设施的名称。软盘正常为/dev/fd0fd1;光盘则按照你的光驱的来决定,凡是光驱装正在第二硬盘的主盘就是/dev/hdc;若是拜候的是dos的分区,则列出其设施名,如/dev/hda1是指第一硬盘的第一个分区。装载目次,就是你指定设施的载入点。

  若是你常正在x-window中利用linux,必然尝尝用xcin来处理中文输入的问题。xcin是xwindowchineseinput的缩写,是一个正在x-window模式下运转的中文输入体系,装置它后,x-window的所有终端都将供给中文办事。

  大师会发觉装了linux之后正在windows下用的好好的显示器有时进到linux的xwindows里后就歪掉了,调解好之后回到windows后windows的桌面也外调了,来回启动体系每次都要调解很贫苦的,这里引见一个法子一劳永逸

  通过利用装载号令mount,咱们可以或许正在linux中轻松地查阅、利用windows的文件。俗话说有来有往嘛,咱们当然也但愿正在windows中能看到linux的文件。但是windows可不像linux那么敌对,并未备有与linux沟通的东西,怎样办呢?别急,收集上有个小东西叫linuxdos,不到500k,运转正在windows下冒险岛外挂,公用于查看linux的文件。运转之后,你能够取舍驱动器,然后它就像资本办理器一样列出linux的文件体系。

  你所要做的点窜就是,把/dev/hda1改成你要挂载的t32分区正在linux中的设施号,把/mnt/c改成响应的挂载点即可。留意,挂载点就是一个目次,这个目主要事先成立。举一个例子,我有三个t32分区,正在windows中是c,d,e盘,正在linux中的设施号别离为/dev/hda1,/dev/hda5,/dev/hda6。那么我就要先成立3个挂载点,如/mnt/c,/mnt/d,/mnt/e,然后正在/etc/fstab中加上这么几行:

  起首,总得让linux能显示中文吧!chdrv是正在号令行下的中文模仿终端,也就是说,只需你装上了它,你就能够正在linux的号令行形态下显示和输入汉字了。chdrv启动后正在tty7(用ctrlaltf7)成立一个虚拟终端,用户正在tty7上登录后就能够利用它供给的中文支撑。tty1到tty6不会遭到它的影响。

  答:先说一点布景学问。linux支撑良多种文件体系,包罗windows的t32和ntfs。对t32的支撑曾经很好,能够间接利用,而对ntfs的支撑还不是太好,只能读,而写是极的,而且对ntfs的支撑不是默认的,也就是说你想要利用ntfs的话,必要从头编译内核。鉴于重编内查对付新手的庞大性,这里只利用t32分区的方式下面给出上述问题的两种处理方案:1.正在装置体系(linux),进行到分区取舍挂载点时,你能够成立几个挂载点,如/mnt/c,/mnt/d等,然后取舍你的windowst32分区,把它们别离挂载到前面成立的挂载点即可。(留意,正如前面所说,正在这里你不克不迭把一个ntfs分区挂载到一个挂载点,应为ntfs不是默认支撑的。)如许你装好体系后就能间接利用你的windowst32分区了。比方,你把windows的c盘(linux中的/dev/hda1)挂载到/mnt/c,那么你就能正在/mnt/c目次中找到你的c盘中的全数数据。2.若是你正在装置体系时没有像方案1所说的那样挂载上你的t32分区,不妨,依然可以或许很便利的处理这个问题。起首,用一个文本编纂器(如vi)翻开/etc/fstab,正在文件的最初插手雷同如下的几行

  提示大师一句,别不断利用root用户,由于root用户正在体系中有着高高正在上的,一不小心就可能体系。好比咱们想删除/temp目次下的文件却将号令不小心输成“rm/temp(正在‘/’后多了一个空格)”,那么就极可能删去根目次下的所有文件。再者,“linux是一个真正意思上的多使命、多用户体系”,不体味一下linux的特色岂不成惜。为了便利本人和别人利用,dnf连发程序下载就正在linux体系下多建几个用户吧。

  蓝点预览版基于redhat,内含:中文内核(kernel);节制台中文显示/输入;中文xserver(cxwin0.6),x的中文显示/输入;汉化message和响应库文件,颠末中文化和当地化处置的nlsmessage和库文件。

  -tvt暗示类型是vt(windows95fat32)分区格局;/dev/hda1是被加载的分区;/mnt/c代表linux里/mnt目次下的名字为c的目次,若是不具有,则先用mkdir号令成立这个目次。若是要求对分区进行写操作,则用以下号令:

  答:间接用mount-rw加载的windows分区,所有文件对通俗用户都只要读权限而没有写权限(但root用户有写权限)。要想让通俗用户也能读写,可正在mount号令中加上umask=000参数,代码如下:

  答:这是由于rh公司怕别人告他侵权,所以正在rh8.0中去掉了xmms对mp3的支撑,8.0以前的版本都是好使的。正在8.0中要处理也很简略,装一个插件就行了。这个插件我放正在本贴的附件里,rpm格局,经winrar压缩

  比方,vi/etc/fstab暗示显示/etc/fstab文件的内容。利用键盘上的pageup和pagedown键能够上下翻页;按下insert键,能够见到窗口左下角有“insert”字样,暗示以后为插入编纂形态,这时从键盘输入的内容将插入到光标;再按下insert键,左下角将有“replace”字样,暗示以后为替代编纂形态,这时从键盘输入的内容将替代光标的内容。编纂完内容后,按下esc键,并输入“:wq”,然后回车就能够保留退出。若是不想保留而间接退出,则按下esc键后,输入“:q!”,然后回车即可。“wq”暗示write和quit,即保留退出;“q!”暗示纰漏点窜退出。

  这是linux初学者问得最多的问题。因为大师已习惯了微软的拜候方式,总想用雷同的思来找到软盘和光盘。但正在linux下,却因循了unix将设施看成文件来处置的方式。所以要拜候软盘和光盘,就必需先将它们装载到linux体系的/mnt目次中来。

  电话外挂是什么答:xmms默认利用的字体是iso-8859编码,不克不迭处置双字节字体。以xmms1.2.7为例,要准确显示中文,能够进行以下操作:运转xmms,正在主窗口点击右键;正在弹出的选单里取舍“选项”-“功效设定”-“fonts”;选中“usefontssets”和“usexfont”选项;然后点击“浏览”按钮,正在弹出的“字形取舍”窗口当取舍一种中文字体(如ngsongti);点击“使用”即可见到结果。

  输入“addusernewuser”,回车,屏幕对号令没有一点儿反映,错啦?不,现实上,体系已接管了新用户。你该当接着输入号令“passwdnewuser”,屏幕将提醒输入口令,再次输入确认,一个新的用户就添加顺利,真简略。顿时登录试一试吧。

  fvwm95就像是linux英文win95,中国的linux用户不断期冀有一天能正在中文的窗口下利用linux。这一希望现正在终究成为事实。中国科学院高能物理钻研所计较核心的于明俭先生将fvwm95作了汉化,咱们终究能够将fvwm95上那些厌恶的英文换成汉字了!

  答:用mount号令加载windows分区后,中文常显示为“?”号。这是由于刊行版自带的内核默认用iso-8859编码来处置加载上的windows分区文件(目次)名,只能处置单字节的英文字体而无奈显示双字节的中文字体。要准确显示,能够用下面的代码加载windows分区:

  linux里的x-windows以其奇特的面孔和壮大的功效吸引了良多原先对linux不感乐趣的人,出格是kde和gnome,功效壮大不说,并且自带了良多很棒的软件,界面很是敌对,很适合于初学者。下面告诉大师一个同时启动6个x的小技巧:

linux date 日期之设置


首先讲述一下date指令的格式:

使用权限 : 所有使用者  ubuntu 输入法
使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [ format] [mmddhhmm[[cc]yy][.ss]]
说明 : date 能用来显示或设定系统的日期和时间,在显示方面,使用者能设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :
时间方面 :
% : 印出
% %n : 下一行
%t : 跳格
%h : 小时(00..23)
%i : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%m : 分钟(00..59)
%p : 显示本地 am 或 pm
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [ap]m)
%s : 从 1970 年 1 月 1 日 00:00:00 utc 到目前为止的秒数 %s : 秒(00..61)
%t : 直接显示时间 (24 小时制)
%x : 相当于 %h:%m:%s
%z : 显示时区
日期方面 :

%a : 星期几 (sun..sat)
%a : 星期几 (sunday..saturday)
%b : 月份 (jan..dec)
%b : 月份 (january..december)
%c : 直接显示日期和时间
%d : 日 (01..31)
%d : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%u : 一年中的第几周 (00..53) (以 sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%w : 一年中的第几周 (00..53) (以 monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%y : 完整年份 (0000..9999)
若是不以加号作为开头,则表示要设定时间,而时间格式为 mmddhhmm[[cc]yy][.ss],
其中 mm 为月份,
dd 为日,
hh 为小时,
mm 为分钟,
cc 为年份前两位数字,
yy 为年份后两位数字,
ss 为秒数

显示时间后跳行,再显示目前日期 : date %t%n%d --% n是换行
显示月份和日数 : date %b %d
显示日期和设定时间(12:34:56) : date –date 12:34:56
设置系统当前时间(12:34:56):date –s 12:34:56
注意 : 当你不希望出现无意义的 0 时(比如说 1999/03/07),则能在标记中插入 – 符号,比如说 date %-h:%-m:%-s 会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04 会变为 8:9:4。另外,只有取得权限者(比如说 root)才能设定系统时间。 当你以 root 身分更改了系统时间之后,请记得以 clock -w 来将系统时间写入 cmos 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。
ntp时间同步
linux系统下默认安装了ntp服务,手动进行ntp同步如下
ntpdate ntp1.nl.net
这里指定ntp服务器

我们这里重点讲述一下 date 指令的-d –date后面所跟的选项 ,这些选项同样适用于-s参数中,即可以通过这些参数来设定系统时间。

d 选项还可以告诉您,相对于 当前日期若干天的究竟是哪一天,从现在开始的若干天或若干星期以后,或者以前(过去)。通过将这个相对偏移使用引号括起来,作为 -d 选项的参数,就可以完成这项任务。
例如,您需要了解两星期以后的日期。如果您处于 shell 提示符处,那么可以迅速地得到答案:
& date -d ’2 weeks’
关于使用该命令,还有其他一些重要的方法。使用 next/last指令,您可以得到以后的星期几是哪一天:
& date -d ’next monday’ (下周一的日期)

& date -d next-day %y%m%d(明天的日期)或者:date -d tomorrow %y%m%d
& date -d last-day %y%m%d(昨天的日期) 或者:date -d yesterday %y%m%d
& date -d last-month %y%m(上个月是几月)
& date -d next-month %y%m(下个月是几月)

使用 ago 指令,您可以得到过去的日期
& date -d ’30 days ago’ (30天前的日期)
您可以使用负数以得到相反的日期:
& date -d ’dec 14 -2 weeks’ (相对:dec 14这个日期的两周前的日期)
& date -d ’-100 days’ (100天以前的日期)
& date -d ’50 days’(50天后的日期)
这个技巧非常有用,它可以根据将来的日期为自己设置提醒,可能是在脚本或 shell 启动文件中,如下所示:
day=`date -d ’2 weeks’ \”%b %d\”`
if test \”`echo &day`\” = \”aug 16\”; then echo ’product launch is now two weeks away!’; fi

  其实上述有还有一种简单的数学算术表示法:在这里,时间的单位有:seconds,minutes,hours,days,weeks,months ,years。当我们要在现在的时间上进行加减运行时,就可以使用上面的单位,前面加上数值。

如 date -s \’2 days\’ 表示将系统时间设成2天后的此时。

      date -s \’-2 days\’ (又等于 date -s \’2 days ago\’) 表示将系统时间设成2天前的此时。

 

ps:在aix中,是不可以这样来进行设置的了,date指令没有上述参数,在aix中的 date指令中提供了参数 -a ,可以针对系统时间进行相应的微调,基于秒级的.如 date -a \’ 70.00\’ 表示在一段时间内将系统时间逐步向前提70秒.相对应的 date -a \’-70.00\’ 则表示将时间向后退70秒.

详细介绍Ubuntu编译Linux-xen方法


在过去的一年里,linux系统越来越受到电脑用户的欢迎,导致很多人开始学习linux,学习时,你可能会遇到ubuntu编译linux-xen问题,这里将介绍ubuntu编译linux-xen问题的解决方法,在这里拿出来和大家分享一下。

在ubuntu下编译linux-xen时碰到arch/i386/kernel/head-xen.o无法找到的问题,而该目录下有head-xen.s这个文件,说明make之前的的工作并没有把这个.s文件编译成.o。而同样的代码,在archlinux和fedora上svn checkout后编译没有任何问题。

最后发现问题在于ubuntu默认会把/bin/sh指向/bin/dash,在scripts/makefile.build里面加上一行shell=/bin/bash指定&(shell)使用bash即可。后来还搜了一下为什么ubuntu使用dash而不是bash,其理由是dash的执行效率更高,但不可否认的是这个改动也导致了一些项目无法成功编译,虽然无法成功编译的原因可能是makefile里使用了一些bash的特性而非posix shell所提供的那些。

另外在debug过程中在网上找到了一些debug makefile的技巧:

make -n 可以仅仅打印出将要被执行的命令,而不去实际执行

make -np 可以打印出更多的信息(使用的规则和变量),并执行每一条命令

remake也是个不错的选择:“remake is a patched and modernized version of gnu make utility that adds improved error reporting, the ability to trace execution in a comprehensible way, and a debugger.”

在检查shell命令的时候,可以使用set -x使得所有shell命令在执行前都能被输出。

以上就是ubuntu编译linux-xen的解决方法。



Powered By wordpress Copyright Linux技术在线 © 2009-2012 版权所有