31.2. 配置 Samba

移动到新的 Samba 目录,并移动到其source子目录。

  1. 编辑smbsh.in文件,vismbwrapper/smbsh.in并更改行
              SMBW_LIBDIR=${SMBW_LIBDIR-@builddir@/smbwrapper}
            
    修改为
              SMBW_LIBDIR=${SMBW_LIBDIR-/usr/bin}
            
    此更改将重新定位libSamba 的目录到/usr/bin目录下。

  2. 编辑Makefile.in文件,viMakefile.in并更改行

    1.             SBINDIR  =  @bindir@
                
      修改为
                  SBINDIR  =  @sbindir@
                

    2.             VARDIR  =  @localstadir@
                
      修改为
                  VARDIR  =  /var/log/samba
                
      这将指定我们的sbinSamba 二进制文件目录将位于/usr/sbin目录下,以及/varSamba 日志文件目录将位于/var/log/samba子目录。

  3. 编辑convert_smbpasswd文件,viscript/convert_smbpasswd并更改行
              nawk 'BEGIN {FS=":"}
            
    修改为
              gawk 'BEGIN {FS=":"}
            
    这将指定使用 GNU Linux 版本的 awk 文本处理工具,而不是贝尔实验室研究版本的 awk 程序,用于smbpasswd文件。

  4. 编辑smbmount.c文件,viclient/smbmount.c并更改以下行
              static void close_our_files(int client_fd)
              {
              int i;
              for (i = 0; i < 256; i++) {
              if (i == client_fd) continue;
              close(i);
              }
            
    修改为
              static void close_our_files(int client_fd)
              {
              struct rlimit limits;
              int i;
    
              getrlimit(RLIMIT_NOFILE,&limits);
              for (i = 0; i < limits.rlim_max; i++) {
              if (i == client_fd) continue;
              close(i);
              }
            
    此步骤将使smbmount.c文件与 Red Hat 的 glibc 2.1 库兼容。