点此下载Linux系统管理技术笔记
本文档已经不知道从何处来的了,分享ING。。。。
目录:
1man
2引导和关机
3超级用户的权利
4进程控制
5文件系统
6 useradd
8硬盘添加
9周期性进程
10备份和恢复
11log
12 软件和配置管理
13tcp.ip
14路由选择
15网络硬件
16域名系统
17 网络文件系统
18共享文件系统
基础权限第
18章 电子邮件
第19章 网络管理和调试
第20章 安全
第21章 Web主机托管和Internet服务器
第22章 X窗口系统
第23章 打印
第24章 维护与环境
第25章 性能分析
第27章 串行设备
第28章 驱动程序和内核
第29章 守护进程
第30章 管理政策与策略
1、从Windows登录到Linux
*telnet
*工具软件
2、通过Sanba和CIFS共享文件
*Linux Samba共享配置实例
Samba的全名为Server Message Block(服务信息块),samba软件整合了SMB协议及Netbios的应用程序接口协议,使其运行在TCP/IP上 。它是一套程序,支持基于UNIX的主机与基于WINDOWS主机的主机共享文件和打印。samba能提供稳定的文件和打印服务,在异构的网络中实现资源共享,
samba的核心:
samba的核心有两个守护进程,即smbd与nmbd。服务器启动到停止期间持续进行,smbd监听139 tcp端口,nmbd监听137和138udp端口.smbd与nmbd使用的全部配置信息保存在smb.conf文件中,sam.conf文件告诉smbd和nmbd两个守护进程说明输出什么、共享输出给谁及如何输出以便共享。smbd 进程的作用是处理来的smb数据包,为使该数据包的资源与linux协商;nmbd进程,使其他主机能浏览LINUX服务器。
下面是关于samba这个服务的属性
Samba的相关软件包
samba-common :包括samba服务器和客户端均需要的文件;
Samba :samba的软件包
System-config-samba :samba的图形界面软件包
Samba-swat :samba的web界面管理软件包
samba-client :samba客户端软件
Samba的守护进程
/usr/sbin/nmbd /usr/sbin/smbd
Samba的脚本
/etc/init.d/smb
Samba的端口
Nmbd:137 138 smbd: 139 445
Samba的配置文件
/etc/smb*
Samba的配置方法有三种,
1)、配置samba的配置文件 :/etc/samba.conf
2)、图形界面配置:System-config-samba
3)、web界面配置:http://localhost:901
第一步、安装samba
[root@dns ~]# rpm -qa |grep samba
samba-common-3.0.33-3.14.el5
samba-client-3.0.33-3.14.el5
[root@dns ~]# yum install samba
[root@dns ~]#
[root@dns ~]# rpm -ivh /home/cdsrc/Server/system-config-samba-1.2.41-5.el5.noarch.rpm
Preparing... ########################################### [100%]
1:system-config-samba ########################################### [100%]
[root@dns ~]# rpm -qa |grep samba
samba-common-3.0.33-3.14.el5
samba-3.0.33-3.14.el5
system-config-samba-1.2.41-5.el5
samba-client-3.0.33-3.14.el5
samba-swat-3.0.33-3.14.el5
[root@dns ~]# cd /etc/samba/
[root@dns ~]#
[root@dns samba]# ll
总计 28
-rw-r--r-- 1 root root 20 2009-05-29 lmhosts
-rw-r--r-- 1 root root 9733 2009-05-29 smb.conf
-rw-r--r-- 1 root root 97 2009-05-29 smbusers
第二步、配置smb.conf文件
samba的主配置文件是/etc/samba/smb.conf,共288行,文件被分隔成若干节,每一节都有一个被方括号括起来的标志开始如[global]、 [home]和 [printers]。global部分定义的参数用来控制samba的总特性,除该部分外,每一部分都定义了一个专门的服务,我们只需要改动一小部分就能配置一个基本的samba服务器了。
[root@dns samba]# grep -v '^#' /etc/samba/smb.conf |grep -v '^$' |grep -v '^;'
可以看到基本的默认配置;
#======================= Global Settings =================
[global]
# ------------- Network Related Options ----------------
#这是设置服务器所要加入的工作组的名称,会在windows的“网上邻居”中看到
可以在此设置所需要的工作的名称
workgroup = MYGROUP
#这是设置服务器主机的说明信息
server string = Samba Server Version %v
#设置出现在“网上邻居”中的主机名,默认情况下使用真正的主机名
; netbios name = MYSERVER
#samba网路地址接口,配置samba来使用多个网络界面
; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
#设置允许什么样的IP地址访问samba服务器,默认情况下被注释掉,表示
允许所有的IP的主机访问
; hosts allow = 127. 192.168.12. 192.168.13.
注意,关于samba服务的IP的表示方法有点特殊
127.0.0.0写成127.
192.168.12.0写成192.168.12.
只需要写出网络位,主机位省略,然后以点结尾
# ------------------- Logging Options ----------------------
# logs split per machine
#设置文件路径,这个选项要求为每一台连接的机器使用一个单独的日志文件,指定
文件位置名称,samba会自动将%m转换成连接主机的netbios名
; log file = /var/log/samba/%m.log
# max 50KB per log file, then rotate
#指定日志文件的最大容量以KB为单位
; max log size = 50
# ------------ Standalone Server Options ---------------
security = user
passdb backend = tdbsam
# ---------- Domain Members Options -------------
; security = domain
; passdb backend = tdbsam
; realm = MY_REALM
; password server = <NT-Server-Name>
# ----------------- Domain Controller Options ---------------
#Samba的安全模式
; security = user
关于samba的五种安全模式
Share 允许匿名访问
User 需要用户名和密码认证,认证信息来自于samba服务本身
Domain 认证来自于网络中另一天计算机
Server 和domain一样
Ads 使用微软的AD来认证
; passdb backend = tdbsam
#将samba服务器定义为主浏览器,此选项将允许samba在子网列表中比较浏览,如果有winNT域控则不使用此项,
; domain master = yes
; domain logons = yes
# the login script name depends on the machine name
; logon script = %m.bat
# the login script name depends on the unix user used
; logon script = %u.bat
; logon path = \\%L\Profiles\%u
# disables profiles support by specifing an empty path
; logon path =
#添加用户的命令脚本
; add user script = /usr/sbin/useradd "%u" -n -g users
; add group script = /usr/sbin/groupadd "%g"
; add machine script = /usr/sbin/useradd -n -c "Workstation (%u)" -M -d /nohome -s /bin/false "%u"
; delete user script = /usr/sbin/userdel "%u"
; delete user from group script = /usr/sbin/userdel "%u" "%g"
; delete group script = /usr/sbin/groupdel "%g"
# --------------- Browser Control Options ------------------
#浏览控制选项,如果不使用samba服务器成为局域网的主浏览服务器,将此设置为No
; local master = no
#决定该服务器在局域网内部的访问优先权
; os level = 33
#使samba启动时选择一个本地浏览器,并给它获得选择较高的机会
; preferred master = yes
#----------------------Name Resolution ----------------------
#wins设置,samba既可以做为wins服务器也可以作为wins客户机,但不能兼之
; wins support = yes
; wins server = w.x.y.z
; wins proxy = yes
#是否为客户做DNS查询
; dns proxy = yes
# ------------------ Printing Options ------------------------
#允许共享打印机,指定是否要加载打印机(使打印机共享),
load printers = yes
cups options = raw
#设置打印机配置文件路径,这是指定打印机配置文件的位置,打印守护进程读取
printcap文件中的配置信息,监视打印机的工作情况;
; printcap name = /etc/printcap
#obtain list of printers automatically on SystemV
; printcap name = lpstat
#设置打印机系统类型,只有在打印机系统不是标准的情况下,必须指定,否则不必指定;指定打印机的类型将影响到smb.conf文件中与打印机相关的命令
; printing = cups
# --------------------- Filesystem Options ----------------------
; map archive = no
; map hidden = no
; map read only = no
; map system = no
; store dos attributes = yes
Samba里面的默认共享
#===================== Share Definitions ======================
#所有使用者的home目录
[homes]
#针对共享资源所作的说明
comment = Home Directories
#设置用户是否可以看到共享资源,默认的是不能,但拥有权限的用户仍可用绝对路径访问
browseable = no
#设置共享资源可否写入,如果是打印机则不需要设置
writable = yes
; valid users = %S
; valid users = MYDOMAIN\%S
#打印机共享设置
[printers]
#配置打印机共享,所有用户都可以共享打印机;
comment = All Printers
#设置打印机队列位置,用户必须自行创建该目录,存放打印临时文件
path = /var/spool/samba
#设置是否允许浏览共享打印机
browseable = no
guest ok = no
writable = no
printable = yes
#是否允许用户更改打印机队列的文件;
# Un-comment the following and create the netlogon directory for Domain Logons
#netlogon共享管理工具,主要是用类似补丁杀毒程序更新客户端,netlogon是存放脚本你想推给客户机组的事情都可以通过netlogon来做
; [netlogon]
; comment = Network Logon Service
; path = /var/lib/samba/netlogon
; guest ok = yes
; writable = no
; share modes = no
#用户profile文件部分,用来存放每个登录用的设置文件,以便用户以后可以从服务器#读取以前的桌面设置,
; [Profiles]
; path = /var/lib/samba/profiles
; browseable = no
; guest ok = yes
关于samba服务参数的解释
; [public]
共享目录共享出去的名字
; comment = Public Stuff
共享目录的绝对路径
; path = /home/samba
允许匿名用户访问共享目录
; public = yes
默认情况下,所有用户对该共享目录都有写的权限。
; writable = yes
默认不允许用户更改打印机队列的文件
; printable = no
只允许客户机对该目录有写入的权限的列表
; write list = +staff
实验一、
要求
1、使用share方式
2、 共享系统中/home/repodate目录,共享名为yumbacak。
=============================================================
[root@dns ~]# chkconfig --list smb
smb 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
[root@dns ~]# chkconfig --level 345 smb on
[root@dns ~]# service smb start
启动 SMB 服务: [确定]
启动 NMB 服务: [确定]
[root@dns ~]# service smb status
smbd (pid 3494) 正在运行...
nmbd (pid 3497) 正在运行...
[root@dns samba]# vi smb.conf
security = share
.....
[yumback]
comment = yumback
path = /home/repodate
public = yes
writable = yes
设置完smb.conf之后,执行testparm测试smb.conf的设置语法是否正确;
[root@dns samba]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[yumback]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[root@dns ~]# service smb restart
关闭 SMB 服务: [确定]
关闭 NMB 服务: [确定]
启动 SMB 服务: [确定]
启动 NMB 服务: [确定]
测试
但是不能创建文件;为什么呢?
[root@dns home]# ll -d repodate/
drwxr-xr-x 6 root root 4096 06-22 13:21 repodate/
[root@dns home]# chmod 777 repodate/
在用IP为192.168.0.31的LINUX主机访问;
去就像一个ftp服务器,输入问号,可以查看能使用的命令,和FTP的操作差不多
smb: \> get ceshi.txt
getting file \ceshi.txt of size 6 as ceshi.txt (0.3 kb/s) (average 0.3 kb/s)
[root@mysqlndb02 ~]# ls
anaconda-ks.cfg ceshi.txt Desktop install.log install.log.syslog
[root@mysqlndb02 mnt]#mkdir smb
下面我们来挂载
mkdir /mnt/smb
注意 -t cifs 这是samba的文件系统格式
mount -t cifs //192.168.0.25/yumback /mnt/smb/
在windows的命令行模式
samba的share模式基本操作;
一、基于用户名的访问控制实例:
王乾大哥写的比较详细了,我是跟着他的教程学习的,按照他的教程走一边;
要求如下:
1、创建一个公共的交换文件夹,所有人都可以写入删除,但不能删除修改其他人的文件
2、创建一个只有销售部专用的文件夹所有人都可以访问但只有销售部的可以写入;
首先建立两个目录,一个是公共交换目录,一个是销售部的目录,公共交换目录都可以写入,所以权限要777,但是都可以写入的话,就可以删除别人的文件,所以我们要加个冒险位,限制只有root和文件所有者才能删除;
第二个目录,所有人可以访问,但是只有销售部的可以写,只需要在局部设置write list = @sale 就可以了,如果想要更安全的话,还可以设置目录权限是775,让目录属于sale。
第一步:建立两个目录,一个是ownpublic,一个是sale,都建立在/usr/下:
[root@dns usr]# mkdir ownpublic
[root@dns usr]# mkdir sale
[root@dns usr]# chmod 1777 ownpublic/
[root@dns usr]# chmod 775 sale/
第二步:改变xianlin这个用户所属的组并加入sale组
[root@dns usr]# groupadd sale
[root@dns usr]# id xianlin
uid=504(xianlin) gid=505(xianlin) groups=505(xianlin)
[root@dns usr]# usermod -G sale xianlin
[root@dns usr]# id xianlin
uid=504(xianlin) gid=505(xianlin) groups=505(xianlin),511(sale)
[root@dns usr]# ll -d sale/
drwxrwxr-x 2 root root 4096 08-13 15:24 sale/
[root@dns usr]# chgrp sale sale/
[root@dns usr]# ll -d sale/
drwxrwxr-x 2 root sale 4096 08-13 15:24 sale/
第三步:建立一个公共的用户,提供所有用户登陆samba服务器使用 ;
[root@dns samba]# useradd smbpublic
第四步:修改smb.conf配置文件,定义共享的目录
vim /etc/samba/smb.conf
[ownpublic]
comment= public file
path = /usr/ownpublic
public = yes
writable = yes
[sale]
comment = sale's file
path = /usr/sale
public = yes
write list = @sale
保存退出配置文件
第五步:建立samba用户并重启smb服务;
建立samba用户的前提是,/etc/passwd文件里要有这个用户名,我们才可以建立成samba用户
我们刚才建立了smbpublic和xianlin两个用户
现在我们把他们建立成samba用户
建立用户的时候要使用 -a 参数,如果改samba用户的密码,就不用加-a参数了
[root@dns sale]# smbpasswd -a smbpublic
New SMB password:
Retype new SMB password:
Added user smbpublic.
You have new mail in /var/spool/mail/root
[root@dns sale]# smbpasswd -a xianlin
New SMB password:
Retype new SMB password:
Added user xianlin.
[root@dns sale]# service smb restart
关闭 SMB 服务: [确定]
关闭 NMB 服务: [确定]
启动 SMB 服务: [确定]
启动 NMB 服务: [确定]
[root@dns sale]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[yumback]"
Unknown parameter encountered: "printables"
Ignoring unknown parameter "printables"
Processing section "[ownpublic]"
Processing section "[sale]"
Loaded services file OK.
第六步:测试效果
1)、 测试xianlin这个用户在ownpublic、sale目录中都能写;
2)、测试smbpublic用户,在ownpublic目录中可以写入,但是在sale目录中不能做写入操作;
3)、sampublic用户只能删除自己或修改自己所建立的文件,而不能修改或删除别人的文件提示写保护信息;
二、设置samba密码文件
当设置了user的安全等级后,将由本地系统对访问samba共享资源的用户进行认证,要进行认证,需要一个samba的口令文件,该文件由smb passwd file 参数指定,默认为/etc/samba/smbpasswd,初始情况这个文件是不存在的。
注意:
1)、使用smbpasswd命令修改用户口令时,被修改的samba账户的本地系统帐号必须事先存在;
2)、使用带-a 参数的smbpasswd命令添加单个的samba帐号并设置口令,且要求被添加的samba账户的本地系统用户帐号必须已经事先存在。
3)、若被添加的samba账户的本地系统账户不存在,应该使用useradd命令进行添加;
三、使用smbclient
samba提供一个类似ftp客户程序samba客户程序smbclient,用以访问windows共享或Linux提供的samba共享。
格式:
1)、smbclient -L netbios名或Ip地址 //用于列表显示指定主机提供的共享。
[root@dns ~]# smbclient -L 192.168.0.25
Password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 3.0.33-3.14.el5)
sale Disk sale's file
ownpublic Disk public file
yumback Disk yumback
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]
Server Comment
--------- -------
DNS Samba Server Version 3.0.33-3.14.el5
Workgroup Master
--------- -------
MYGROUP DNS
WORKGROUP SERVER
2)、smbclient //netbios名或IP地址/共享名 -U 用户名 //用指定的账户访问指定主机的共享资源;
[root@dns ~]# smbclient //192.168.0.25/yumback -U xianlin
Password:
Domain=[DNS] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]
smb: \> ls
. D 0 Fri Aug 13 14:36:48 2010
.. D 0 Fri Aug 13 15:43:02 2010
ClusterStorage D 0 Tue Jun 22 13:22:45 2010
Server D 0 Tue Jun 22 13:21:34 2010
VT D 0 Tue Jun 22 13:21:52 2010
Cluster D 0 Tue Jun 22 13:22:25 2010
加载WIN2003的共享
[root@mysqlndb02 ~]# smbclient //192.168.0.33/sucaipan -U administrator
Password:
Domain=[SERVER] OS=[Windows Server 2003 R2 3790 Service Pack 2] Server=[Windows Server 2003 R2 5.2]
smb: \> ls
001-1.合成篇 D 0 Thu Apr 26 11:54:46 2007
003-1.合成篇 D 0 Thu Apr 26 11:34:48 2007
005-1.合成篇 D 0 Thu Apr 26 12:07:49 2007
006-1.合成篇 D 0 Thu Apr 26 12:00:18 2007
007-1.合成篇 D 0 Sat Apr 28 08:45:26 2007
008-1.合成篇 D 0 Sat Apr 28 09:15:00 2007
009-1.合成篇 D 0 Sat Apr 28 09:00:48 2007
*AIX系统通过CIFS(SMBFS)挂载windows共享实施过程