Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1456236
  • 博文数量: 297
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3082
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 11:36
文章分类

全部博文(297)

文章存档

2011年(1)

2009年(45)

2008年(67)

2007年(184)

我的朋友

分类: LINUX

2007-07-26 15:21:28

Linux实站工程师学习笔记
(一)
用户环境
#locale    显示系统语言环境       语言环境参数保存在/etc/sysconfig/i18n文件里
LANG最主要
#locale –a       查看系统对语言的支持情况
#LANG=zh_CN.GB2312       使系统支持以中文形式显示
kudzu      用来检测硬件
services kudzu start       重新检测硬件,让系统自动识别新硬件
硬件信息保存在/etc/sysconfig/hwconf文件
由kudzu产生
 
修改系统服务启动脚本
chkconfig kudzu –list     检查某个服务状态(包括各个级别0~6的状态)
setup       配置系统服务,一个综合配置工具
chkconfig –list | more   检查系统所有服务的状态
所有服务通过init启动
有些是通过xinetd服务启动的,如rsync
启动rsync
chkconfig rsync on
当执行service xinetd restart时,其实是执行/etc/init.d/xinetd这个脚本
而这个脚本会去检查自己的配置目录/etc/xinetd.d
/etc/rc0.d~/etc//rc6.d     里面的文件连接到../init.d/具体的服务,如/etc/iit.d/kudzu
S开头为启动,K为不启动
/etc/rc0.d~/etc/rc6.d ---àrc.d/rc0.d~rc6.d
设置系统服务ntsysv命令(同setup)

(二)
系统管理常用命令
1.       useradd redhat
2.       passwd redhat
3.       su –
4.       exit
5.       df –h 分区情况
6.       du –sh  /*      统计文件或目录使用空间的大小
7.       fdisk –l  /dev/sda
8.       netconfig         配置网络参数
9.       ifconfig           显示网络配置信息
10.   service network restart
11.   route –n          查看路由信息(默认路由)
12.   ping –b 192.168.0.255    扫描整个网段(检查活动主机)
13.   ifconfig eth0 10.0.0.254 netmask 255.255.255.0   修改IP地址
14.   ifconfig eth0显示指定网卡参数
15.   修改IP信息后会删除默认路由,需手工添加
route add default gw 192.168.0.1
16.   ifconfig route 修改过的参数不会保存,重启后会消失
要用service network restart命令把参数保存到文件ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0
可以vi直接修改该文件,然后service network restart 重新启用网络服务
17.   redhat-config-network-tui是redhat独有的配置工具,当用这个命令配置网络参数后,会写入到
/etc/sysconfig/networking/profiles/目录里,并且比network-scripts/ifcfg-eth0优先,所以用过这
个工具配置就不要再使用netconfig,或者先将profiles目录清空
 
(三)

文件系统的维护
ext2/ext3通过数据块储存文件
格式化文件系统:
mkfs.ext3 –b 4096 –i 8192 –m 5 /dev/sdb4
-b    数据块大小
-i     inode节点表示的字节数(或数据块大小)
-m 5              为管理员保留的磁盘管理空间5%    
ls –lh /mnt/u
du –sh /mnt/u
df –lh
#tune2fs –l /dev/sdb1            打印文件系统属性
#df
tune2fs 调整ext2/ext3文件系统特性的工具
-l     查看文件系统信息
-m   保留块百分比
-c      设置强制自检的挂载次数
-i       设置强制自检的间隔时间
-j                   ext2转成ext3
 
tune2fs –c -1 /dev/sdb1               不管挂载多小次都不自检
tune2fs –c -1 –i 0 /dev/sdb1  让分区永远不自检
#mkfs.ext2 /dev/sdb4    格式化成ext2
#tune2fs –j /dev/sdb4     转换为ext3
#df –T                         查看分区信息
判断间ext2还是ext3:
tune2fs –l /dev/sdb1 | grep features
看Filesystem features: has_journal
是否有has_journal,有则是ext3文件系统
 
grep –i “name”       不区分大小写
df –T 分区类型
fsck        检查文件系统数据完整性的工具
用法一、fsck –t ext2 /dev/sdb1
       二、fsck.ext3 /dev/sdb1
#more /etc/fstab
如发现挂载选项有1或2,那么应该进行自检了
#fsck.ext3 –y /dev/sdb1        自动修复错误
 
(四)
管理磁盘文件系统
mount 设备名 挂载点
mount /dev/fd0 /mnt/floppy
光驱(IDE) /dev/cdrom  (à/dev/hdx)
光驱(SCSI)/dev/scdN      (N=0,1…)
硬盘(IDE) /dev/hdX        (X=a,b,c…)
硬盘(SCSI)/dev/sdX        (X=a,b,c…)
U盘               /dev/sdX        (X=a,b,c…)
 
弹出光盘#eject
收回#eject –t
因为USB设备内置USB-SCSI转换接口,所以被认为是SCSI硬盘
#mkdir /mnt/u
#mount /dev/sda1 /mnt/u
默认内核已支持SCSI和USB接口
#modprobe usb-storage         检查usb-storage模块是否已加载,否则无法自动识别USB设备
 
#mount –t vfat /dev/hda2 /mnt/c
#mount –t ntfs /dev/hda3 /mnt/d   需重新编译内核才能支持NTFS
#mount –t iso9660 /dev/cdrom /mnt/cdrom
#mount –t vfat –o iocharset=gb2312 /dev/sdb1 /mnt/u
常用字符编码有gb2312和utf8
#mount /dev/sdb2 /mmt/d –o iocharset=utf8,ro,uid=redhat,umask=0077
 
(五)
使用磁盘配额
默认系统内核已支持quota
mount –o usrquota,grpquota /dev/sdb1 /mnt/d1 或
mount –o remount,usrquota,grpquota /
#init 1     (进入单用户环境)
#quotacheck –cvuga      或 quotacheck –cvag  /dev/sdb1
#quotaon –a 激活
#edquota –u redhat        进VI编缉用户配额
编缉用户可用的字节数,软性的,硬性的,文件数,软件性的,硬性的
quota –u redhat
quota –t          配置过期时间
quotaoff /mnt/sdb1       关闭磁盘配额
quotaon /mnt/sdb1         开启
 
关于putty 0.58的简单设置
1.       修改语言环境 LANG=zh_CN.utf8
2.       修改传输数据的字符集translationàUTF8
3.       修改外观appearance字体font为新宋体
 
ls –ld       显示文件属主,详细信息

 
(六)

samba软件包使用
Fedora core/Redhat Linux提供的软件包
samba                   samba服务器软件包
samba-client          samba客户端工具
samba-common     通用工具和库
 
安装rpmdb-fedora/rpmdb-redhat软件包(一般在第三张光盘)
但在FC5已找不到这个软件包
安装了rpmdb可以解决依赖性问题
#rpm –ivh rpmdb-fedora*.rpm
#rpm –ivh --aid samba*.rpm  装了rpmdb才有效
 
1.#rpm –ivh cups-libs*.rpm   第一张光盘
2.#rpm –ivh samba*.rpm      第一张光盘(client,common)
3.#rpm –ivh samba*.rpm      第二张光盘
#rpm –qa |grep samba           查看所有软件包列表
#rpm –ql samba | more         查讯某个软件列表
 
samba客户端工具
smbtree
作用:显示局域网中的所有共享主机和目录列表(默认使用当前用户登录)
用法:smbtree [-b] [-D] [-U username%password]
-D   表示只显示工作组名,不显示主机
-b 使用广播查询列表,不用WINS服务器
-D和-U 不能共用,因为不可能用同一个用户登录域上所有主机
 
nmblookup
作用:显示一台主机的nethios主机名
nmblookup my-server    查询服务器的IP
nmblookup \*                查询所有活动的主机的IP
 
smbclient
作用:显示/登录局域网中的共享文件夹
用法:smbclient –L host
         smbclient //host/share
         smbclient –L 192.168.0.22 –U redhat%redhat  以redhat用户登录并显示共享目录
         smbclient //192.168.0.22/linux –U redhat%redhat   
登入目录,查看目录内容,通过put,get上下载文件
 
smbtar
远程备份网上邻居中的文件
smbtar –s win2000 –u redhat –p redhat –x chinalab –t itlab.tar
 
将共享目录挂载到本地目录,然后再访问
mount.cifs //192.168.0.22/linux /mnt –o username=redhat%redhat
 
tar tvf  lab.tar              显示备份包里的文件
 
samba服务器配置
1.修改配置文件/etc/samba/smb.conf
       workgroup = WORKGROUP
       security = share
[docs]
       path = /usr/share/doc
       comment = share documents  #说明共享目录
       public = yes
2.重启smb服务器
       #service smb restart
       #chkconfig smb on        让smb每次自动启动
3.测试
       #smbclient –L localhost
 
chkconfig smb –list              查看服务的启动状态
 
SMB       提供名称解释服务
NMB       提供数据传输服务
两个总是一起工作的
 
samba文件服务器
(WINS)在网上邻居看不到主机列表,可以在地址栏直接输入IP如查看共享目录
网上邻居看到的主机列表,主要有三个来源:
一、是配置文件lmhosts,主机名与IP的对应关系
二、是通过浏览服务器
三、是通过广播方式获取主机列表
 

(七)

linux访问网上邻居
1.挂载方法
       #mount –t smbfs //192.168.0.1/linux /mnt   
或   #mount.cifs //192.168.0.1/linux /mnt
2.#smbclient //192.168.0.1/linux –U redhat%123
 
访问控制
public = yes           允许所有人访问
        = no             不允许匿名访问
1.共享目录设置有效用户
[redhat]
       path = /var/redhat
       comment = redhat’s files
       valid users = <@groupname>
2.创建samba用户
       #useradd username        新建一个系统用户
       #smbpasswd –a username     将用户加入到samba中
3.用户账号映射
[global]
       username map = /etc/samba/smbusers
4.修改smbusers文件,添加虚拟用户名
       redhat = tom jack
5.需重启smb服务读取映射文件
 
HOME目录
[global]
       comment = Home Directories
       validusers = %S            %S目录属主
       browseable = no           不允许浏览home目录
       writable = yes               允许写
       valid users = 有效用户列表
       write list = 可写用户列表
       create mask = 0660              定义创建文件的默认权限
       directory mask = 0770 定义创建目录的默认权限
 
chown redhat /var/redhat 改变目录属主
ls –lh       显示目录里各个文件的详细信息
ls –ld /usr/redhat    只显示目录本身的详细信息
 
#testparm              测试配置默认文件smb.conf的正确性
#testparm /etc/samba/smb.conf my-server 192.168.0.1
测试客户机能访问服务器的哪些目录
 
[redhat]
       path = /var/redhat
       comment = redhat’s files
       public = no
       valid users = <@groupname>
       write list  = <@groupname>
       create mask = 0660
       directory mask = 0770
注意:客户端所有请求访问身份在服务器端都会映射成登录账号的身份
 
(八)

如何关闭selinux
/usr/sbin/setenforce 0    关闭
/usr/sbin/setenforce 1    开启
或在/etc/selinux/config中改
SELINUXTYPE=permissive        关闭,disabled也可以
 
samba配置文件
/etc/samba/smb.conf
[global]
       workgroup = WORKGROUP               组或域名
       server string = samba server                服务器描述
       netbios name = redhat                         指定samba服务器名
       security = share/user/server                 share不需验证用户,user要验证
       ;password server =
       需与security=server配合使用
       log file = /var/log/samba/log.%m          %m指客户机的netbios名,日志按客户机名分类
       encrypt passwords = yes                          
加密密码,windows客户机一般使用加密密码,所以为yes.如果不加密直接用明文密码,可改为no,但
windows客户机需修改注册表指定不加密
       smb passwd file = /etc/samba/smbpasswd
上面两句要一起使用!
       include = /etc/samba/smb.conf.%m      包含外部配置文件,如根据不同的客户机名称,定义
不同的共享资源
       ;interfaces = 192.168.0.0/24                samba应用在哪个接口上,默认是在所有网卡,
所有接口上
       ;name resolve order =  wins lmhosts bcaast              名称解释顺序
       ;wins support = yes                                   自己作为WINS服务器,并提供给客
户机查询
       ;wins server = w.x..y.z                       与WINS配合使用,作为WINS服务器,请求会
发送到w.x.y.z
 
lmhosts文件(保存客户机IP与名称的对应关系)
左边IP          右边名称
127.0.0.1        localhost
 
wins support,wins server             不能同时使用
wins server    说明本身作为客户机,而指定一台wins服务器的IP
 

(九)

samba的安全级别
[global]
       security =
1.share
       windows用户不需要认证就能访问共享列表
2.user
       windows客户机需输入用户才能访问共享名列表,服务器上需建立用户账号
3.server
       客户端需输入合法用户帮能访问,但认证过程在另一服务器进行,用户账号保存在认证的那台服
务器上。
share,user只对windows客户机有效,linux客户机在user级别不用密码也能访问共享名列表。security只
保护主机的共享名列表,具体到目录的访问则由目录的规则决定。
 
#hostname      查看主机名
#nmblookup    my-server       查询主机IP(与samba netbios name有关)
#man smb.conf      查看相关帮助
vi搜索技巧:
       /%m              先输入”/”再输入要查找的字符串
       /redhat    如查找”redhat”字符串
       shift+G   跳到文件尾
 
默认服务器名与机器DNS的第一部分相同
如Fedora.cyrich.com则这台samba服务器的名称就是Fedora
 
访问控制
一、全局控制
[global]
       hosts deny = ALL
       hosts allow = 192.168.0.
二、局部访问控制
[docs]
       hosts deny = 192.168.0.
       hosts allow = 192.168.0.1
[redhat]
       hosts allow = 192.168.0.
       host deny = 192.168.0.1       (失效)
允许优先!!
hosts 后面的格式语法,可以通过man 5 host.access查看帮助
1.点开头 .edu.cn
2.点结尾 192.168.0.
3.192.168.0.0/255.255.255.0
  192.168.0.0/24
4.ALL  LOCAL UNKNOWN       DNS不能解析的
5./开头   指定一个文件
6.hosts allow = 192.168.0.0 EXCEPT  192.168.0.1
允许192.168.0网段主机访问,但192.168.0.1除外
 
技巧:
#tail /etc/samba/smb.conf
显示文件最后的十行
vi中shift+D删除一行
 
(十)

应用案例
要求:
1.所有员工都能够在公司内流动办公,但不管在哪台电脑上工作,都要把自己的文件数据保存在samba文
件服务器上。
2.市场部,技术部都各有自己的目录,同一个部门的人共同拥有一个共享目录,其他部门的人都只能访问
在服务器上自己个人的home目录
3.所有用户都不允许使用服务器上的shell
分析:
1.需要samba作为文件服务器,为所有用户创建账号和目录,用户默认都 在服务器上有一个home目录,只
有认证通过才能看到。
2.需为市场部和技术部创建不同的组sales和tech,并且分配目录,把所有市场部员工加入sales组,技术
部员工加入tech组,通过samba共享sales和tect
3.建立用户账号时,不分配shell
案例实施:
1.为所有用户创建账号和目录,不分配shell,假设市场部有tom,jack,技术部有red,blue,总经理ceo,财
务finance
2.建组sales和tech,把所有市场部员工加入sales组,技术部员工加入tect组
3.创建两个目录/home/sales和/home/tech,并修改两个目录的权限,分别属于sales组和tect组
4.通过samba共享/home/sales和/home/tect
5.测试
如有错误,检查
/etc/samba/smbpasswd         确定账户
/etc/samba/smbusers            查看映射文件
tail /var/log/samba/redhat.log        查看/var/log/samba/目录下的日志
 
具体操作:
#vi /etc/samba/smb.conf              安全级别为user
#groupadd sales
#groupadd tech
#useradd –g sales –s /bin/false tom
#useradd –g sales –s /bin/false jack
#smbpasswd –a tom
#smbpasswd –a jack
#for user in red blue
>do
>    useradd –g tech –s /bin/false  $user
>     smbpasswd –a $user
>     done
 
#useradd ceo
#useradd finance
#smbpasswd –a ceo
#smbpasswd –a finance
#mkdir /home/sales /home/tech
#chgrp sales   /home/sales
#chgrp tech    /home/tech
#chmod 770 /home/sales
#chmod 770 /home/tech
#chmod g+s /home/sales              防止权限发生混乱
#chmod g+s /home/tech
#vi /etc/samba/smb.conf
[global]
       path = /home/sales
       comment = sales
       public = no
       valid users = @sales
       write list = @sales
       create mask = 0770
       directory mask = 0770
[tech]
       path = /home/tech
       comment = tech
       public = no
       valid users = @tech
       write list = @tech
       create mask = 0770
       directory mask = 0770
 
linux测试
1.smbclient –L 192.168.0.22 –U tom%tom
2.mount.cifs //192.168.0.22/ceo –o username ceo%ceo
windows客户机映射网络驱动器,再设定“我的文档”位置,就可随时随地将文件保存在samba服务器上
阅读(1653) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~