Archive for the ‘ Server ’ Category

如何将服务器上“查无此人”的邮件改由特定的用户接收

这是一个蛮实用的技巧,当外面的用户将信件寄到服务器时,如果写错了收件者,或收信的用户不存在,该信件就会被退回,寄件者会收到一封“查无此人”的信件。

以下这个技巧,就是为了把服务器上“查无此人”的信件,改由特定的“用户”或其它的“电子信箱”接收,修改步骤:

1. 编辑 /etc/mail/sendmail.mc,搜寻有关“LUSER_RELAY”的设定 (如果没有搜寻到,也可以新增下面的设定),改成:

define(`LUSER_RELAY',`local:nodoby')dnl

(表示将“查无此人”的信件由本机上的“nobody”用户接收)

或者改成:

define(`LUSER_RELAY',`smtp:[email protected]')dnl

(表示将“查无此人”的信件转寄给“[email protected]”这个电子信箱)

2. 重新制作 /etc/sendmail.cf,并重新启动 sendmail:

m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

这样就完成了。

各 ISP 的寄件服务器(SMTP)

各 ISP 的寄件服务器(SMTP)

  • 中华电信(Hinet): msa.hinet.net 168.95.4.211
  • 数位联合(SeedNet): tpts5.seed.net.tw 139.175.54.240
  • 和信超媒体(Giga): smtp.giga.net.tw 203.133.1.121
  • 台湾索尼(So-net): so-net.net.tw 61.64.127.16
  • 速博: mail.sparqnet.net 211.78.130.150
  • 台湾固网: smtp.anet.net.tw 61.31.233.92
  • 亚太线上: mail.apol.com.tw 203.79.224.61
  • 东森宽带: ethome.net.tw 210.58.94.72
  • 悉达资讯: smtp.seeder.net 202.43.64.73
  • 网域名称的相关网页

    网域名称注册

    1. RegisterMore
      RegisterMore 是 Enome 的经销商,经营者是台湾人,也是台湾域名俱乐部的站长。
    2. GoDaddy
      全球最大的注册商,网域名称注册费用便宜,经常有 Coupon 可使用。
    3. HiNet 网域注册
      台湾的网域名称注册。

    网域名称讨论区

    1. 台湾域名俱乐部

    WhoIs 查询

    1. AjaxDNS
      以 Ajax 技术查询 DNS, IP, WhoIs, RBL, Http, Ping…等资讯,推荐使用
    2. Domain Utilities
      非常快速的 WhoIs 查询系统
    3. DomainTools
    4. HiNet 网域注册
    5. Mintac.com WHOIS Lookup Utility
    6. AjaxDomainSearch以 Ajax 技术即时判别网域名称否可以注册,可惜只支援 .com, .net, .org

    管理机构

    1. InterNIC
      有登录的注册商列表
    2. Generic Top-Level Domains
      已经开放的gTLD与注册局列表
    3. Root-Zone Whois Information
      所有ccTLD的主管单位列表

    其它

    1. 统计各国网域名称的注册量
    2. country code Top Level Domain world map
    3. IP-address.com - locate and show my IP address
      从你网络的 IP 找出你的地理位置
    4. Domain Log Book
      追踪或管理你的网域名称
    5. Xinu
      只要输入网址,它就可以探索出网站的所有资讯

    [转载]Linux 的搜寻技巧

    转载自: Sam Tang @ Blog


    在档案内搜寻指定文字,search_key 是搜寻字串,/path/to/filename 是档案名称:

    grep search_key /path/to/filename

    功能同上,但不分大小写:

    grep -i search_key /path/to/filename

    搜寻档案:在指定目录中搜寻档案,以下是在 /var/www/ 目录下搜寻 upload.php 的档案:

    find /var/www/ -name upload.php

    功能同上,但目标不是档案,而是目录:

    find /var/www/ -name uploads -type d

    还有更多有用的功能,以上只列出较常用的用法。

    安装 JSP 环境 - tomcat *

    tomcat 可让 Linux 支援 JSP 的环境,系统必须先安装 Sun 的 J2SDK 之后,再安装 tomcat。而 tomcat 已是一个可独立执行的网页服务器,也可以跟 apache 相结合。

    Read more

    tar 指令的常用语法

    常用参数

    • -c 打包档案
    • -x 解开压缩档
    • -t 检视压缩档的内容
    • -z 使用 gzip 压缩
    • -v 显示执行过程
    • -P 使用绝对路径
    • -f 指定压缩档的档案名称。此参数的后面要接档案名称,因此要注意参数的顺序 (通常是把 f 参数写在最后一个,或是与其它参数分开使用)

    常用语法

    • 建立压缩档:
      tar -czvf 压缩档名称.tgz 来源档案

      来源档案 压缩后,打包成一个名称为 压缩档名称.tgz 的档案,来源档案 可以是多个档案或目录。
      如果有多个 来源档案 时,以空白字符分隔不同档案名称:

      tar -czvf 档案名称.tgz 来源档案1 来源档案2 ... 来源档案n
    • 检视压缩档的内容:
      tar -tzvf 压缩档名称.tgz
    • 解开压缩档到目前的目录:
      tar -xzvf 压缩档名称.tgz
    • 复制目录:
      tar -cvf - 来源目录 | tar -xvf -

      来源目录 下的所有档案及子目录复制到目前的目录,这样做的好处是可以保留原来的档案属性

    ProFTP 的时区设定

    我的服务器的时区设为“Asia/Taipei”(/etc/sysconfig/clock),但我用 ftp 登入服务器时,里面所显示的时间,却慢了 8 个小时,今天找了一下原因,原来是 ProFTP 的问题。ProFTP 默认使用 GMT 时间,把这个设定关掉即可。

    请编辑“/etc/proftpd.conf”,加入

    TimesGMT off

    再重新启动 ProFTP 即可。

    dig、host 与 nslookup 指令的查询语法

    在 Linux 下执行 nslookup 指令都会出现下列讯息:

    Note: nslookup is deprecated and may be removed from future releases.
    Consider using the `dig' or `host' programs instead. Run nslookup with
    the `-sil[ent]' option to prevent this message from appearing.

    告诉你使用 dig 或 host 指令来取代 nslookup,但可惜在 Windows 系统并没有 dig 与 host 指令。

    Read more

    将 Samba 升级成 3.0.13

    为什么要将 Samba 升级成 3.0.13 呢? 唉…还不是为了 Unicode。原本的 2.2.7 版本,我再怎么设定,都无法显示 Unicode 字符。所以本来在 Windows 里显示得好好的 Unicode 档名,放到 Samba 里就破功了! 我想,这个问题应该是很难让人接受的吧?!

    而最后结论就是,升级成 3.0.13 就搞定了。

    Read more

    安装 Samba 服务器 *

    Samba 这个套件的功用,可以让你把 Linux 服务器变成 Windows 里的“网络上的芳邻”中的一台电脑,提供档案服务器的服务,即使在没有网域管理(Domain)的局域网路环境中,也可以提供比 Windows 网络上的芳邻更多的权限控管。

    本教学只介绍两种常用的配置方式:

  • 开放式的设定
  • 需要身份验证的设定
  • 安装好 Samba 套件之后,就可以开始进行设定了。

    安装 Samba

  • 使用 Apt 安装 Samba 套件:
  • apt-get install samba
  • 启用 Samba 服务:
  • service smb start
    尔后如果有修改 Samba 的设定,只要输入下列指令重新加载即可:
    service smb reload

    开放式的设定

    开放式的意思,就是不用任何身份验证,就可以存取提供 Samba 服务的服务器。以下的范例,是设定局域网路里的任何用户都可存取服务器,并分享 [/tmp] 里的档案:

  • 编辑 /etc/samba/smb.conf,设定如下:
  • [global]
    #欲加入的群组名称
    workgroup = WORKGROUP
    #在“网络上的芳邻”显示的电脑名称,如果不设定,就会以目前的 HostName 去掉网域名称显示。
    netbios name = FileServer
    #服务器的注解
    server string = Samba 档案服务器
    #设定哪些电脑可以存取服务器(以空白隔开)
    hosts allow = 192.168.1.0/255.255.255.0 127.0.0.1
    #显示繁体中文
    client code page = 950
    #身份验证的方式
    security = share
    
    #分享 [/tmp]
    [tmp]
      path = /tmp
      comment = 档案暂存区
      public = yes
      writable = yes
      create mode = 0666
      directory mode = 0777
  • 重新启动 Samba 服务:
  • service smb restart

    需要身份验证的设定

    如果你希望用户要连到服务器时,必须先输入帐号、密码才可以进入,并且可以存取自己的家目录及 [/tmp],请依照下列设定:

  • 编辑 /etc/samba/smb.conf,设定如下:
  • [global]
    #欲加入的群组名称
    workgroup = WORKGROUP
    #在“网络上的芳邻”显示的电脑名称,如果不设定,就会以目前的 HostName 去掉网域名称显示。
    netbios name = FileServer
    #服务器的注解
    server string = Samba 档案服务器
    #设定哪些电脑可以存取服务器(以空白隔开)
    hosts allow = 192.168.1.0/255.255.255.0 127.0.0.1
    #显示繁体中文
    client code page = 950
    #身份验证的方式
    security = user
    #将密码加密传输
    encrypt passwords = yes
    #指定密码档位置
    smb passwd file = /etc/samba/smbpasswd
    
    #让用户可以存取自己的家目录
    [homes]
      comment = 个人资料夹
      public = no
      browseable = no
      valid users = %S
      writable = yes
      create mode = 0600
      directory mode = 0700
    
    #分享 [/tmp]
    [tmp]
      path = /tmp
      comment = 档案暂存区
      public = no
      writable = yes
      create mode = 0666
      directory mode = 0777
  • 建立 Samba 的密码档,并转换用户到这个密码档:
  • cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
    chmod 600 /etc/samba/smbpasswd
    chown root.root /etc/samba/smbpasswd
  • 重新启动 Samba 服务:
  • service smb restart
  • 你必须要再设定用户的密码才可以存取:
  • smbpasswd UserName

    其它有用的参数

    以下介绍其它有用的参数,这些参数必须放在宣告的分享资源的区段下:

  • public = yes|no
  • 设定针对 Guest 是否“显示”该分享项目。
  • browseable = yes|no
  • 设定是否“显示”分享项目。
  • valid users = 用户列表
  • 允许“检视”该分享项目的用户,可输入“用户名称”或“@群组名称”,如有多个项目,请用“,”分隔。
  • invalid users = 用户列表
  • 不允许“检视”该分享项目的用户,可输入“用户名称”或“@群组名称”,如有多个项目,请用“,”分隔。
  • read only = yes|no
  • 是否唯读。
  • writable = yes|no
  • 是否可以写入。
  • write list = 用户列表
  • 允许“写入”该分享项目的用户,可输入“用户名称”或“@群组名称”,如有多个项目,请用“,”分隔。
  • create mode = 权限
  • 建立档案时默认的权限。
  • directory mode = 权限
  • 建立目录时默认的权限。
  • force user = 用户名称
  • 建立档案或目录时默认的用户。
  • force group = 群组名称
  • 建立档案或目录时默认的群组。

    Samba 的变量

  • %S: 取代目前的“资源名称”,所谓的“资源名称”就是在 [ ] 里面的内容。
  • ex: valid users = %S
  • %U: 代表目前登入的使用者的使用者名称。
  • %m: 代表 Client 端的 NetBIOS 名称。
  • %g: 代表登入的使用者的群组名称。
  • %M: 代表 Client 端的 Internet 主机名称,就是 HOSTNAME。
  • %L: 代表 SAMBA 主机的 NetBIOS 名称。
  • %h: 代表目前这部 SAMBA 主机的 HOSTNAME。
  • %H: 代表使用者的家目录。
  • %I: 代表 Client 端的 IP。
  • %T: 代表目前的日期与时间。
  • 新增 Samba 用户

    关于 Samba 上的用户帐号,有一些规则要说明:

  • Samba 上的用户帐号必须是已存在于 Linux 系统的帐号。
  • Linux 系统与 Samba 用户的密码是不同的,它们有各自的密码档。
  • Samba 的密码档位于 /etc/samba/smbpasswd。
  • 因此,如果你要新增 Samba 用户,你就必须先在 Linux 系统增加一个本机用户,新增本机用户之后,再输入下列指令将用户的帐号及密码加入至 Samba 的密码档:

    smbpasswd -a UserName

    以后如果只是要变更该用户的密码,只要输入:

    smbpasswd UserName

    用户自行变更密码

    原本 Samba 有提供一个 Swat 套件,就是 Samba 的网页管理接口,不过,我觉得似乎不太够用(给管理者用还可以)。如果我希望用户可以自行变更 Linux 系统的密码,并同步变更 Samba 的密码,那就要试试 ChangePassword 套件:

  • 从本站下载 ChangePassword 套件至 [/tmp]
  • cd /tmp
    wget http://www.vixual.net/download/source/ChangePassword/changepassword-0.9.tar.gz
    tar -xzvf changepassword-0.9.tar.gz
    cd changepassword-0.9
    ./configure --enable-cgidir=/var/www/cgi-bin --enable-smbpasswd=/etc/samba/smbpasswd --disable-squidpasswd
    请注意,上面(第 5 行)的 “/var/www/cgi-bin” 请改为你的网站的 cgi-bin 路径。
  • 然后继续下列步骤:
  • make
    make install

    这样就安装完成了,以后你就可以到 “http://host.example.com/cgi-bin/changepassword.cgi” 同步变更 Linux 系统及 Samba 的密码。

    网页管理接口

    这个套件(Swat)其实不是那么必要(尤其是有了上面的 ChangePassword 套件之后),但仍然列出安装步骤给大家参考:

  • 安装 Samba-Swat 套件:
  • apt-get install samba-swat
  • 编辑 /etc/xinetd.d/swat,搜寻:
  • disable = yes
    改成:
    disable = no
    继续搜寻:
    only_from = 127.0.0.1
    改成允许连线的位址:
    only_from = 192.168.1.0/24
  • 重新启动 Xinetd:
  • service xinetd restart
  • 从浏览器输入连线位址:
  • http://host.example.com:901/

    参考网页

  • Samba: User and Group Based Controls
  • Samba Documentation
  • 鸟哥的 Linux 私房菜
  • 网管专区
  • Samba 设定
  • return top