[修改回复]
删除回复
插入表情:
宋体
楷体
幼圆
黑体
隶书
华文行楷
方正舒体
Arial
Arial Black
Arial Narrow
Century Gothic
Comic Sans MS
#0000FF
#8A2BE2
#DEB887
#5F9EA0
#7FFF00
#000000
#D2691E
#FF7F50
#FF0000
#DC143C
#99ccff
字体颜色
#FFF8DC
#00FFFF
#EE82EE
#F5DEB3
#FFFFFF
#F5F5F5
#FFFF00
#9ACD32
使用帮助
Linux 网管 123 --- 第6章. 一般系统管理问题 -3.变更使用者密码 当要代表使用者变更密码时,首先登入或“su”到“root”帐号。然後键入, ``passwd user'' (user 是要变更密码的使用者姓名)。系统会提示您键入使用者密码。当键入时密码不会回应在萤幕上。 您也可以变更自己的密码, 键入 ``passwd'' (不要指定使用者姓名)。您会被提示键入确认密码, 然後键入新密码。 Linux 网管 123 --- 第6章. 一般系统管理问题 -4.关闭删除使用者帐号 关闭使用者帐号 要关闭使用者帐号时,以 root 身分编辑 ``/etc/shadow'' 档 (假设您使用 shadow password; 如果不是的话,改由编辑 ``/etc/passwd'' 档),使用一个``*'' 星号取代密码 (以加密格式储存) 。 所有 Unix 密码, 无论长短(最大8位元),以13字元长的加密字串格式储存在密码档。 因此,将密码以单一 ``*'' 号取代,使用者就无法签入。 注意:使用这种方法後,当您再次启用帐号时需要分配新的密码给使用者,因为加密过的密码栏已被取代。系统管理者常用来解决的一个方法是只加入 ``*'' 星号字首於加密过的密码前以停止该帐号,然後只要移去该符号就可以再次启用。 关於 ``/etc/passwd'' 及 ``/etc/shadow'' 档的进一步资讯,查阅下面 Linux 密码及 Shadow 档案格式 一节 。 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 删除使用者帐号 偶尔,您可能想从伺服器上完全删除一个使用者帐号。 如果您是 Red Hat 使用者, 删除不必要的使用者帐号的最简单方法是使用 ``userdel'' 指令, 必须使用 ``root''身分。 举例如下: /usr/sbin/userdel baduser 上述的指令会从``/etc/passwd'' 档中删除符合 ``baduser ''的使用者名称, 并且如果您使用 Shadow password 格式(您应该是 ; 查看 Linux 密码及 Shadow 档案格式 一节 有关详情), 就是``/etc/shadow''. 注意: ``/etc/group'' 并未变更,以避免删除群组中其他使用者帐号。这没什麽大不了, 但若影响使用,您可以编辑群组档案并且手动删除该项目。 如果您希望同时删除使用者的 home 目录,可以加上 ``-r'' 选项於 ``userdel'' 指令, 例如 : /usr/sbin/userdel -r baduser 我建议先不要马上删除使用者帐号,只要先关闭它,特别是当您在一部有很多使用者的企业伺服器上工作时。究竟,先前的使用者可能有一天会需要再度使用他们的帐号,或者需要他们 home 目录下的一两个档案。 或者可能一个新使用者 (像是接替的员工 ) 可能需要存取先前使用者的档案。 在任何情况, 确定您已经备分好先前使用者的 home 目录“以防万一”。查看 关闭使用者帐号 一节有关如何关闭帐号的进一步资料, 以及 第八章 有关进行备份的细节。 Linux 网管 123 --- 第6章. 一般系统管理问题 -5.Linux 密码及 Shadow 档案格式 传统的 Unix 系统保留使用者帐号资料,包括单向加密的密码,存放在一个称做``/etc/passwd'' 的文字档。 既然这个档案会被很多工具 (像是 ``ls'') 用做显示档案的拥有者等,为了用来比对 user id # 和使用者名称, 这个档案必须是可读的。 结果, 这造成安全上的风险。 另一个存放帐号的方法,我常使用的一个,是 shadow 密码格式。和传统方法一样,这个方法以相容的方式存放 帐号资料於 /etc/passwd 档案中。 然而,密码的部分是一个“x” 符号 (换言之. 并非真正放在档案中)。 另一个档案,称作 ``/etc/shadow'',存放加密过的密码以及其他资料像是帐号及密码的期限值等。 /etc/shadow 这个档案只能由 root 读取因此减少了风险。 有时一些 Linux 发行版本会强迫安装 Shadow 密码套件 以便使用 shadow 格式, Red Hat 让它变得很简单。 要在两者之间切换, 键入(以 root 身分): /usr/sbin/pwconv 转换到 shadow 格式 /usr/sbin/pwunconv 转换回传统格式 使用 shadow 密码时, ``/etc/passwd'' 档内含帐号资料,看起来像这个样子: smithj:x:561:561:Joe Smith:/home/smithj:/bin/bash 每一项目栏位都由“:”冒号所分隔,意义如下: 使用者名称,最多 8 个符号,可以用大小写,通常都是小写 一个“x”在密码栏。密码存放在 ``/etc/shadow'' 档中。 user id 数值。由``adduser'' script 所分配。 Unix 使用这个栏位,以及後面的群组栏以辨别档案属於 哪个使用者。 group id 数值。 Red Hat 使用 group id 作为很独特的强化档案安全的方法。通常 group id 会和 user id 相同。 使用者全名。我不大确定这个栏位的最大长度,但是尽量保持合理 (30个字元以下). 使用者的 home 目录。 通常是 /home/username (例如. /home/smithj). 所有使用者个人档案,网页,回覆信 件等。会放在这里。 使用者的“shell 帐号”。常被设为``/bin/bash'' 提供取用 bash shell (我个人最喜欢的 shell)。 也许您不想提供给使用者 shell 帐号。您可以建立一个名为 ``/bin/sorrysh''的 script档。例如显示错误讯 息以及把使用者 log off,然後将这个 script 视为他们的预设 shell。 注意: 如果帐号需要提供“FTP”传送更新网页等。 shell 帐号要被设定为 ``/bin/bash'' -- 使用者的 home 目录必须设定特别的权限以防 shell 登入。 查看第7章,网页伺服器及 HTTP 快取代理主机管理 一节 有关的细节。 ``/etc/shadow'' 档案内含使用者的密码及帐号期限资料 ,看起来像这个样子: smithj:Ep6mckrOLChF.:10063:0:99999:7::: 像密码档一样,shadow 档的每一个栏位也是由“:” 冒号所分开,意义如下: 使用者名称,最多 8 个符号,可以用大小写,通常都是小写。直接对应 /etc/passwd 档案中的使用者名称。 密码,加密过的 13 个字元。一个空格 (就是. : 表示登入时不需密码 (不是个好主意),一个 ``*'' 项目 (就是 :* 指出帐号已经关闭。 密码最後一次变更起所经过的日数 (从1970年一月一日起 ) 。 密码经过几天可以变更 (0 表示可以随时变更) 密码经过几天必须变更 (99999 表示使用者可以保留他们的密码很多很多年不变) 密码过期之前几天要警告使用者 (7 为一) 密码过期几天後帐号会被取消 从1970年一月一日起,帐号经过几天会被取消 Linux 网管 123 --- 第6章. 一般系统管理问题 -6.关闭系统及重新启动 要在终端模式下关闭您的系统,先登入或是“su” 到“root”帐号。然後键入 ``/sbin/shutdown -r now''。 这可能会花一点时间终止所有的程序, Linux 然後会关闭系统,电脑会自行重新开机。如果您就在电脑前, 一个较快的选择是按下 -- 关机。请耐心等候,Linux 可能会花几分钟才终止。 您也可以选择关闭系统後悬置它(就是. 它不会关闭系统後再重新启动)。系统在电源重开或按下-- 重新启动之前是无法使用的。当您需要关闭电源後将系统搬移到其他地点时这是很有用处。先签入或“su”到“root” 帐号,键入 ``/sbin/shutdown -h now''。Linux 将会自行关闭且显示“System halted”这样的讯息,这时您可以将 电源关掉。 只有当您在电脑前的时候才将系统关闭可能是一个好主意,虽然您可以经由一个 shell session关闭系统,但若有任 何差错发生而系统无法正常重新启动时,在对主机进行处理之前系统将无法使用。(虽然我自己从未遇过这种问题) 系统重开後,Linux 会自行启动,并且载入必要的所有服务包括网路的支援,及 Internet 服务。 小技巧: 如果您想提供给所有线上使用者一些警告的话 (线上指的是已登入的 shell 帐号),您可以将 “now” 这个关键字用时间取代,您也可以设置关机警告讯息. 例如, ``/sbin/shutdown -r +5 Hardware upgrade'' 将 会通知使用者因为该原因系统即将关闭。他们在这时间来临之前会循环地收到警告讯息,通知他们应该关闭档案及 离线。 Linux 网管 123 --- 第7章. 自订的组态及管理内容 -1.HTTP 对於个人及工作上的使用,我可以从 Red Hat Linux 发行版的标准安装後立刻提供服务,只要对预设的组 态设定做一点变动,甚至不必变动。 然而,要提供所有的 Internet 档案及列印服务仍需要一些小改变及额外的服务,而且其他的服务被用在我 工作的地方。本地的管理员应该要有以下的认知: ``/etc/rc.d/rc.local'' 这个档案在系统启动後就开始执行,并且包含任何在 bootup 时应加入伺服器的 额外服务。 在 /etc 寻找任何需要做的修改,他们可能包括: ``/etc/inetd.conf'' (您应该确定不需要的服务已经 disable ,像是 echo、 chargen ; 并且加入或改变 所需的任何服务) ``/etc/exports'' (包含允许挂载 NFS 卷册的主机列表; 查看网路档案系统 (NFS) 服务 一节有关细节) ``/etc/organization'', ``/etc/nntpserver'', ``/etc/NNTP_INEWS_DOMAIN'' (适当地设定) ``/etc/lilo.conf'' (包含了 LILO boot loader 所需的资料 -- 在 bootup上载入 Linux 核心的程序: 查看 第4章,从 LILO 启动 一节 有关细节) ``/etc/sudoers'' (应给予特权的使用者目录,接着是允许他们使用的指令 ) ``/etc/named.boot'' (给 DNS 使用; 查看网域名称伺服器 (DNS) 组态及管理 一节 有关细节) 任何位於 ``/usr/local/'' (及子目录下) 的东西是额外的套件或是安装後的所做的修改,如果您已经安装 像是 tarball 的东西而并非 RPM(或至少您在这里已经安装好他们了) 。这些档案,特别是位於 /usr/local/src/, 应保持更新。 查看 第10章 有关细节。 网页伺服器及 HTTP 快取代理主机的管理 (警告: 不要理会这个部分 !) 依一般状况建立一个 Internet 使用者。“shell”帐号应该是 ``/bin/bash'' (按正常 shell 的 FTP 要求). ``cd /home ; chown root.root theuser'' 这使得“theuser”的目录属於 root,因为安全理由。 ``cd /home/theuser ; mkdir www ; chown theuser.theuser'' 这建立他们的“www”目录,并且设定拥有者以 便读写他们。 ``echo "exit" > .profile'' 建立一个 ``.profile'' 档,里面只有一行 ``exit'' 。 如果使用者打算透过 telnet 登入,他们会立即被切断。 进行 ``ls -l'' 并且确保目录中只有两个档案 (不包括 ``..'' 和 ``.''): .profile (由 root.root 拥有) www (由 theuser.theuser 拥有) 其他档案可以删掉 (就是. ``rm .less ; rm .lessrc'') 如果使用者需要可以转送 e-mail ,您可以建立一个 .forward 档,里面只有一行恰当的 e-mail 。 这样使用者就可以用 FTP 更新网页。 Linux 网管 123 --- 第7章. 自订的组态及管理内容 -2.DNS 网域名称伺服器 (DNS) 组态及管理 在我工作的很多地方,我们使用 Linux 作为 DNS 伺服器。它表现的非常好。这一节将会指出使用 Red Hat 发行版内含的标准 BIND 8.x 套件所提供这些服务的 DNS table 组态 注意: Red Hat 5.1 及更早的版本使用 BIND 4.x 套件,它的组态档格式有一点点不同。 BIND 8.x 比 BIND 4.x 提供更多的功能,而且 4.x 已经不再发展了, 您可能需要考虑升级到最新版的 BIND 套件。 先安装 BIND RPM 套件 (查看 第10章,使用 Red Hat 套件管理程式 (RPM) 一节 有关使用 RPM 公用程式 的细节),然後转换您的组态成新的格式。 幸运地,转换原有的 BIND 4.x 组态档以符合 BIND 8.x 很简单 ! 就像是 BIND 位於文件档的目录下的一部份 (例如, ``/usr/doc/bind-8.1.2/'' 相对於 BIND version 8.1.2),有一个档叫做 ``named-bootconf.pl'' , 这是一个可执行的 Perl 程式。 假设您已经在系统上安装好 Perl,您可以利用这个程式转换您的组态档。键入 下列指令完成它 (以 root 身分): cd /usr/doc/bind-8.1.2 ./named-bootconf.pl /etc/named.conf mv /etc/named.boot /etc/named.boot-obsolete 您现在应该会得到一个可以在 BIND 8.x 下使用的档案 ``/etc/named.conf'' 。 原有的 DNS table 在新版的 BIND 下也可以使用, 因为 table 的格式还是一样。 在 Linux 下组态 DNS 服务与下列步骤有关: 要起始 DNS 服务, ``/etc/host.conf''这个档案看起来应该像下面着个样子: # Lookup names via /etc/hosts first, then by DNS query order hosts, bind # We don't have machines with multiple addresses multi on # Check for IP address spoofing nospoof on # Warn us if someone attempts to spoof alert on 加大的 spoof 侦测可以增加一点 DNS 搜寻的命中率(管可以忽略),所以如果您不担心这个的话可以 disable “nospool”及“alert” 项目。 依需要编辑 ``/etc/hosts'' 档。一般在这里不必改太多, 但为了增加效率可以增加您最常存取的主机 (像是本地伺服器) 以避免过度使用 DNS 搜寻在他们身上。 ``/etc/named.conf'' 档应该根据下面例组态指出 DNS table (注意:下面的 IP 位址只是例,必须根据您自己的 class 位址更改!): options { // DNS tables are located in the /var/named directory directory "/var/named"; // Forward any unresolved requests to our ISP's name server // (this is an example IP address only -- do not use!) forwarders { 123.12.40.17; }; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // Enable caching and load root server info zone "named; // All our DNS information is stored in /var/named/mydomain_name.db // (eg. if mydomain.name = foobar.com then use foobar_com.db) zone "mydomain; }; // Reverse lookups for 123.12.41.*, .42.*, .43.*, .44.* class C's // (these are example Class C's only -- do not use!) zone "12; }; // Reverse lookups for 126.27.18.*, .19.*, .20.* class C's // (these are example Class C's only -- do not use!) zone "27; }; 小技巧: 注意上面的 allow-transfer 选项,它限制 DNS对於特定 IP 位址的 zone transfer。 举例来说, 我们允许位於123.12.41.40 的主机(可能是我们网域上的一个次要 DNS伺服器)请求 zone transfer。如果您 漏了这个选项,位於 Internet 的任何人都可以请求这个转换。因为这些资讯常被存心不良的人运用,我强 烈建议您除了到次要 DNS伺服器以外都限制 zone transfer,或使用 loopback address, ``127.0.0.1''作为替代。 现在您可以像在第三步骤组态``/etc/named.conf''档一样,设定位於 ``var/named/'' 目录的 DNS table 。 第一次组态 DNS 资料库档是个大工程,并且超出本文讨论围。有一些线上及印刷品型式的指南应该参考。然而下 面有提供 一些例。 位於 ``/var/named/mydomain_name.db'' 正向查询档的例列: ; This is the Start of Authority (SOA) record. Contains contact ; & other information about the name server. The serial number ; must be changed whenever the file is updated (to inform secondary ; servers that zone information has changed). @ IN SOA mydomain.name. postmaster.mydomain.name. ( 19990811 ; Serial number 3600 ; 1 hour refresh 300 ; 5 minutes retry 172800 ; 2 days expiry 43200 ) ; 12 hours minimum ; List the name servers in use. Unresolved (entries in other zones) ; will go to our ISP's name server isp.domain.name.com IN NS mydomain.name. IN NS isp.domain.name.com. ; This is the mail-exchanger. You can list more than one (if ; applicable), with the integer field indicating priority (lowest ; being a higher priority) IN MX mail.mydomain.name. ; Provides optional information on the machine type & operating system ; used for the server IN HINFO Pentium/350 LINUX ; A list of machine names & addresses spock.mydomain.name. IN A 123.12.41.40 ; OpenVMS Alpha mail.mydomain.name. IN A 123.12.41.41 ; Linux (main server) kirk.mydomain.name. IN A 123.12.41.42 ; Windows NT (blech!) ; Including any in our other class C's twixel.mydomain.name. IN A 126.27.18.161 ; Linux test machine foxone.mydomain.name. IN A 126.27.18.162 ; Linux devel. kernel ; Alias (canonical) names gopher IN CNAME mail.mydomain.name. ftp IN CNAME mail.mydomain.name. www IN CNAME mail.mydomain.name. 位於 ``/var/named/123_12.rev'' 反向查询档的例列: ; This is the Start of Authority record. Same as in forward lookup table. @ IN SOA mydomain.name. postmaster.mydomain.name. ( 19990811 ; Serial number 3600 ; 1 hour refresh 300 ; 5 minutes retry 172800 ; 2 days expiry 43200 ) ; 12 hours minimum ; Name servers listed as in forward lookup table IN NS mail.mydomain.name. IN NS isp.domain.name.com. ; A list of machine names & addresses, in reverse. We are mapping ; more than one class C here, so we need to list the class B portion ; as well. 40.41 IN PTR spock.mydomain.name. 41.41 IN PTR mail.mydomain.name. 42.41 IN PTR kirk.mydomain.name. ; As you can see, we can map our other class C's as long as they are ; under the 123.12.* class B addresses 24.42 IN PTR tsingtao.mydomain.name. 250.42 IN PTR redstripe.mydomain.name. 24.43 IN PTR kirin.mydomain.name. 66.44 IN PTR sapporo.mydomain.name. ; No alias (canonical) names should be listed in the reverse lookup ; file (for obvious reasons). 任何其他的 reverse 搜寻档需要 map 位址,在不同的 class B (像是 126.27.*) 会被建立,并且会和上面 的反向查询档更相似。 确定 named daemon 正在执行。这个 daemon 通常在系统开机时由``/etc/rc.d/init.d/named'' 这个档案启动。 您也可以手动地启动及停止这个 daemon ; 分别是键入 ``named start'' 及 ``named stop''。 无论对 DNS table 做了什麽改变,应该键入 ``/etc/rc.d/init.d/named restart''重新启动 DNS 伺服器。 您可以使用像是“nslookup”的工具去询问机器以测试您所做的变更。更多有关如何组态 DNS 服务的资料可以 在位於 http://metalab.unc.edu/Linux/HOWTO/DNS-HOWTO-5.html的 ``DNS-HOWTO'' 指南上找到。 Linux 网管 123 --- 第7章. 自订的组态及管理内容 -3.使用 TACACS 使用 TACACS 进行 Internet 用户认 在我工作的地方,为了拨接的 Internet 用户TACACS 认 (连接到我们的数据机埠,轮流接到几部 Cisco 25 0x 存取伺服器),我们使用 Vikas 版的 “xtacacsd”。 在编译及安装好 Vikas 套件後 (最新的版本在 ftp://ftp.navya.com/pub/vikas; 我不相信该套件有 RPM 格式),您应该加入下面几行到``/etc/inetd.conf'' 这个档案,如此一来无论何时收到该TACACS请求 时该 daemon 会由 inetd daemon 载入。 # TACACS is a user authentication protocol used for Cisco Router products. tacacs dgram udp wait root /etc/xtacacsd xtacacsd -c /etc/xtacacsd-conf 下一步您应该编辑 ``/etc/xtacacsd-conf'' 档并依您的系统需要订它 (然而您可以使用原来预设的设定). 注意: 如果您使用 shadow password (查看 Linux 密码及 Shadow 档案格式 有关细节), 您用这套件 会有问题。不幸地,Red Hat用来作用户认的 PAM (Pluggable Authentication Module)并不支援这个 套件。我用来解决这问题的方法是在 ``/usr/local/xtacacs/etc/'' 下保留一个另外的``passwd''档, 它和位於 /etc/ 下的相符合但并未 shadow。 这麽做有一点麻烦,而且如果您选择这麽做,必须确定其 他的密码档已经设定成只有 root 才能读取 : chmod a-wr,u+r /usr/local/xtacacs/etc/passwd 如果您真的需要 shadow, 几乎可以确定您必需编辑 ``/etc/xtacacsd-conf'' 档,并且要指定未 shadow 密码档的位置 (假设您使用上面我提的方法的话). 下一步是组态您的存取伺服器,以认由 TACACS 登入的设备 (像是拨接数据机)。这里是如何完成的示: mail:/tftpboot# telnet xyzrouter Escape character is '^]'. User Access Verification Password: **** xyzrouter> enable Password: **** xyzrouter# config terminal Enter configuration commands, one per line. End with CNTL/Z. xyzrouter(config)# tacacs-server attempts 3 xyzrouter(config)# tacacs-server authenticate connections xyzrouter(config)# tacacs-server extended xyzrouter(config)# tacacs-server host 123.12.41.41 xyzrouter(config)# tacacs-server notify connections xyzrouter(config)# tacacs-server notify enable xyzrouter(config)# tacacs-server notify logouts xyzrouter(config)# tacacs-server notify slip xyzrouter(config)# line 2 10 xyzrouter(config-line)# login tacacs xyzrouter(config-line)# exit xyzrouter(config)# exit xyzrouter# write Building configuration... [OK] xyzrouter# exit Connection closed by foreign host. 所有 TACACS 运作的 log 讯息将会记录在 ``/var/log/messages'' 档中。 Linux 网管 123 --- 第7章. 自订的组态及管理内容 -4.使用 Samba 使用 Samba 进行 Windows型态的档案及列印服务 Linux可以使用 Samba 套件提供 SMB 服务 (例如. WfW, Win95,及 NT型态的网路档案及列印分享)。 这一节会描述如何组态分享,以及如何从客户端存取这些服务。 Samba 套件包含在 Red Hat 发行版中,您可以检查是否安装以及其版本,键入: rpm -q samba 如果尚未安装,您需要使用 RPM 公用程式安装它。 查看 第10章,使用 Red Hat 套件管理程式 (RPM) 一节 有关如何做的细节。 这些 Samba 档中您应该关心的最重要部分是: /etc/smb.conf Samba 组态档是分享及其他组态参数的设定 (查看下面) /var/log/samba/ 放 Samba log 档的地方 /home/samba/ 建议应该设定的档案分享位置。 然而, 您应该选择一个符合足够您存放档案空间的地方。个人来说, 我常设定一个大的 partition 挂载在 /archive/ 下并且放我的分享档案。 ``/etc/smb.conf'' 档包含了档案及列印分享的组态资讯。档案的开头几行包含了整体的组态方针,所 有的分享都相同 (除非他们超越了每一个独立分享的基础),其馀的是分享部分。 Samba 安装包括了一个预设的 smb.conf 档,可以满足您大多数的需求,且只需作稍微的修改。 这是这个档的 一些例 (我会大幅地自订它给您看看更多重要及有趣的部分): # Items common to all shares (unless over-ridden on a per-share basis) [global] # Number of minutes of inactivity before client is disconnected # to avoid consuming resources. Most clients will automatically # reconnect so this is a good idea to enable. dead time = 10 # Don't let users connect as “root”, just-in-case. invalid users = root # Specify the account for guest shares (shares that don't require # a password to connect to. This username must be a valid user # in the /etc/passwd file. guest account = guest # Specify where log files should be written to. The “%m” suffix # means that log files will be created in the format # log.machine-name (eg. “log.twixel”) log file = /usr/local/samba/logs/log.%m # Maximum size of log file, in Kilobytes. max log size = 1000 # Password level 3 means that case is not an issue when entering # passwords. A little less secure than level 1 or 2 would be, # but seems to be a fair compromise for user convenience. password level = 3 # Specify that all shares should appear in the browse list # (override any you don't want on a per-share basis). browseable = yes # If this is enabled, you can see active connections using the # “smbstatus” command. status = yes # The level of debugging information that is recorded in the log # files. Higher values generate more information (which is # probably not very useful, most of the time). debug level = 2 # This will send any Windows-style “POPUP” messages received on # the server to the postmaster by e-mail. Not very useful, but # an interesting demonstration of what can be accomplished. message command = /bin/mail -s 'Message from %f on %m' postmaster < %s; rm %s & # This is a form of caching that, when enabled, may improve # performance when reading files. read prediction = true # A list of services that should be added automatically to the # browse-list. auto services = cdrom # The location of your “printcap” file, a text file containing # definitions for your printers. printcap name = /etc/printcap # If enabled all printers in the /etc/printcap file will be # loaded into the browse-list. load printers = yes # The print command by which data is spooled to a printer under Linux. print command = lpr -r -P%p %s # The print command by which job queue information (printer status) # can be obtained. lpq command = lpq -P%p # The print command by which unwanted print jobs can be deleted # from the queue. lprm command = lprm -P%p %j # The level at which Samba advertises itself for browse elections. # Currently set to a high value to give it an even “foot-hold” with # any swarmy NT servers on the network. os level = 34 # These are user's personal shares. If the client's username matches on the # server, they can access their home directory (provided they enter the # correct password). [homes] # The comments appear in the browse list. comment = Home Directories # This matches the username of the client to that of the share. # If they do not match, no share will be displayed in the browse # list, or available to connect to. user = %S # The path to the share. For example, “smithj” would map to # “/home/smithj” path = /home/%S # If enabled, allow read/write access to the shares. writeable = yes # Just an inverted synonym for “writeable”. We don't *really* need # to use both. read only = no # Keep this disabled so that a password is required to access these # shares. public = no # We don't want this share (after all, it is private) to appear in # the browse-list of other users. browseable = no # This is a publicly available print share, called “hp_laser”. It appears # on the browse lists and can be accessed without a password by any client. [hp_laser] # The comment that appears in the browse-list. comment = Main office printer (HP Laserjet 400) # The username that this share is accessed as (guest means all users). user = guest # All generated print files will first be created in the /tmp # directory. path = /tmp # Do not allow file creation except through print spooling. writeable = no # Set permissions accordingly -- root access to print jobs only. create mode = 0700 # If this is enabled a password is not required to access the share. public = yes # This should be enabled to indicate that this is a printer share. printable = yes # Here is a service providing access to the CD-ROM device. [cdrom] comment = Shared CD-ROM drive on Linux user = guest path = /cdrom writeable = no read only = true browseable = yes public = yes guest ok = yes 小技巧: 最近的 Samba 版本, 从 2.0 以後,提供了一个非常灵活以网页为基础的组态公用程式叫做``swat'', 可以使得组态过程更为友善。这个公用程式倾听伺服器上的 TCP port 901 ,所以要使用的话必须将您的浏览器 指向下面的位址: mydomain.name:901 (当然如果要使用 SWAT 的话您需要让网页伺服器执行,像是 Apache。 查看 第7章,网页伺服器及 HTTP 快取代理 主机管理 一节 有关细节。) 最新版的 Samba 和 2.0 版之前的相比增加了很多功能。 升级到这个版本是值得的。 客户端必须有 TCP/IP network stack 以连接分享。更进一步,为了浏览工作,TCP/IP 协定必须 bound 到 NETBEUI。在 Windows 95 可以由控制台中的``网路''进行组态。 假设客端已经正常地组态好, 您应该可以看到伺服端的分享出现在“网路上的芳邻” (或如果您不是使用 Windows 95/NT的相等的方案)。您可以从网路上的芳邻对映到网路磁碟,或键入到分享的绝对路径 (例如. “\\mail\cdrom”)。 如果分享服务需要键入密码,您会被提示。 更多有关 Samba的资料可以在 Samba Home Page http://samba.anu.edu.au/samba/中找到。 Linux 网管 123 --- 第7章. 自订的组态及管理内容 -5.使用 Netatalk 使用 Netatalk 进行 Macintosh 型态的档案及列印服务 Linux 也可以使用 Netatalk 套件提供 Appleshare 服务 (就是. Macintosh-型态的网路档案及列印分享) 。 这一节会描述如何组态分享,以及如何从客户端机器存取他们。 为了使用 Netatalk,必需在您的 Linux 核心中有支援 Appletalk 网路。来自 Red Hat 的原始核心通常已经以 模组型态提供这个支援,或者您也可可编译组态有这个支援的自己核心。 注意: 确定 Appletalk 的支援是以模组的形式编译而并非包括在核心的一部份 (查看 第10章,Linux 核心 的升级 有关如何升级或订 Linux 核心的细节)。否则您在停止然後重新启动 Netatalk daemon时会遇到 困难。 一但您确定您的核心有支援 Appletalk , 您需要安装 Netatalk 套件。因为 Netatalk 并未包含在 Red Hat 发行版之内,您需要先下载再安装。Netatalk 套件可以在 Red Hat的网页上找到,位於 ftp://ftp.redhat.com/contrib/libc6/i386/. 在 Netatalk 安装好後, 您需要更改位於 ``/etc/atalk/''的组态档。这些档案大都有组态的例,所以至少有 一些自我说明。这些档案是: config 这一个档案包含有关调整您 Netatalk daemon 的组态资讯。这些资讯以环境变数所指定,这个档案是服务开始之 前 Netatalk启动 script 的“来源” (就是. 读取) 。您可以指定同时连接的数量,是否接受 guest 登入等等。 无疑地您会根据需要修改它。 atalk.conf 这个档案包含网路介面所使用的资料,以及您的 Appletalk 路由,名称登录,及其他相关资讯。您会需要修改这 个档 ; 当您第一次启动 Netatalk 伺服器时,所需的网路资讯会被侦测且自动加入这个档中。然而,您可能希望 加入伺服器名称。 注意: 键入 ``man atalkd'' 可以得到关於这个档案的更多资讯 afpd.conf 这个档案让您指定用在 Netatalk 的命令列选项的额外的参数。您可以指定 Netatalk 伺服器的 IP 位址及 port, 加入登入讯息让用户登入时可以看到,及其他相关选项。您可能需要修改这个档。 注意: 键入 ``man afpd'' 可以得到关於这个档案的更多资讯 papd.conf 这一个档案包含使麦金塔的用户指向网路分享印表机的资料。 我还没试过这个,所以很不幸我无法给您任何建议。 注意: 键入 ``man papd'' 可以得到关於这个档案的更多资讯 AppleVolumes.default 这个档案包含麦金塔用户登入後可以看见的档案分享列表。要 enable 一个分享时,键入档案目录的路径,後面跟 着文字叙述。例如: ~ "Home" /archive/busdept "Business Department Common Files" (上面会提供连接的麦金塔用户两个分享: 他们的 home 目录,以及它们工作部门的分享区域。) 小技巧: 在这里有一个技巧是在 Samba 下对相同的档案路径设立两个分享, 这样可以让您的 Mac 以及 Windows 用户系统平台有各自独立的档案分享。 查看 使用 Samba 进行 Windows 型态的档案及列印服务 有关 Samba 的细节。 AppleVolumes.system 这个档案列出也像 ``AppleVolumes.default'' 所做的分享档案,不同的是这些分享是指定给所有使用者,不论他 们登入了没有。这个档案同时包含了档案型态对应表。除非您想加入通用的分享给所有人,否则不用修改它 ; 对大 部分人这是坏主意。 一但所有组态资料都设定正确, 您可以键入下面这行以手动启动 Netatalk 服务: /etc/rc.d/init.d/atalk start (这个服务当系统开机时应该会自动启动). 更多有关 Netatalk 的资料可以在 Netatalk 网页 http://www.umich.edu/~rsug/netatalk/上找到。此外, 很有 用的组态资料也可以在 Linux Netatalk HOWTO 上找到,位在 http://thehamptons.com/anders/netatalk/. Linux 网管 123 --- 第7章. 自订的组态及管理内容 -6.NFS 网路档案系统 (NFS) 服务 Linux 可以在使用网路档案系统(NFS)协定的档案系统分享中扮演伺服端及用户端,事实上在 Unix 系统 中它是提供档案系统挂载的标准。 注意: 请了解在您的系统中提供 NFS 服务可能会是安全上的风险。就个人来说,我不建议使用它。 要使用 NFS,您必须确定 NFS 的支援已经包含在您的核心或核心模组中。 查看 第10章,Linux 核心的升级 有关如何更新或个人化 Linux 核心的细节。 NFS 组态是由修改 ``/etc/exports'' 这个档案而组态。 这是一些例项目,列出一些可用的选项 : /archive spock.mydomain.name(ro) /archive2 spock.mydomain.name(ro) /mnt/cdrom other.domain(ro) /archive2 10.23.14.8(ro,insecure) 前面两行允许主机 ``spock.mydomain.name'' 经由 NFS 存取 ``/archive'' 以及 ``/archive2'' 目录。 这些分享是利用 ``(ro)'' 选项而形成唯读。因为安全的因素,可能的话将您的所有的 NFS 分享都这样做。 第三行允许位於 ``domain.name'' 网域名称区域的主机存取 CD-ROM。当然,必需先将 CD-ROM 设备挂载到 ``/mnt/cdrom'' 。 注意: 利用 ``(ro))'' 选项将这个装置标定成唯读看来有点多馀,然而这样做可以避免万一 CD-ROM 没有 挂载上的话,被无聊的人写到了真正的档案系统。 在您改好了 ``/etc/exports'' 档之後, 您需要重新启动 NFS daemon。要这麽做时键入: /etc/rc.d/init.d/nfs restart 您也可以使用包含在 ``Linuxconf'' 公用程式的``Network Configurator'' 这个工具组态 NFS 挂载点。 有 关 Linuxconf 公用程式的进一步资讯, 查看使用 Linuxconf 进行所有的组态 更多有关 NFS 的资讯可以在位於 http://metalab.unc.edu/LDP/HOWTO/NFS-HOWTO.html``NFS-HOWTO'' 指南, 以及在 ``nfsd'' 及 ``exports'' 的 man page中找到。 Linux 网管 123 --- 第7章. 自订的组态及管理内容 -7.使用 Linuxconf 使用 Linuxconf 进行所有的组态 有一个相当好的工具叫做 ``linuxconf'' ,可以使得很多组态工作容易进行。Linuxconf 可以根据可供利用的显示方式而执行 -- 可以从主控台中执行,透过一个 telnet session, 或者在 X 下作为以 GUI-为基础的工具,且会以合适的方法自动启动。 如果您需要调整系统时间,变更网路设定,设定档案系统,进行使用者管理,以及进行很多其 他的组态及管理工作,您应该试试这个软体。我应该给您的唯一警告是,在写这篇文章的时候, 以GUI-为基础的工具仍有一点问题并且有时会对滑鼠的点选没有反应。然而,这个工具的发展很 有前途,且在未来的修正後会变得更稳定。
不能为空
不能含有 ` 字符,字数8000以内
(CTRL+ENTER提交)
关闭窗口