韩版中长羽绒服:一步一学Linux与Windows 共享文件Samba (v0.2b) | LinuxSi...

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 06:17:30

作者:北南南北,正在增加中... ... 需要您的参与;
来自:LinuxSir.Org
简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的参加 ... ... 谢谢;

目录

    0、架设Samba 服务器的前提;

     

      0.1 查看文件内容和编辑文件的工具;
      0.2 关于文件和目录相关;
      03 用户和用户组相关;
      04 进程管理;
    1 Samba 简介
    2 Samba 功能和应用范围
    3 Samba 两个服务器相关启动程序、客户端及服务器配置文件等;

     

      3.1 Samba 有两个服务器,一个是smbd,另一个是nmbd;
      3.2 查看Samba 服务器的端口及防火墙;
      3.3 查看Samba 服务器的配置文件;
      3.4 Samba 在Linux 中的一些工具(服务器端和客户端);
      3.5 在Linux 中的常用工具,Windows查看Linux共享的方法 ;

       

        3.5.1 在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件;
        3.5.2 在Windows中访问Linux Samba服务器共享文件的办法;
        3.5.3 smbfs文件系统的挂载;

    4 由最简单的一个例子说起,匿名用户可读可写的实现;

      第一步: 更改smb.conf
      第二步:建立相应目录并授权;
      第三步:启动smbd和nmbd服务器;
      第四步:查看smbd进程,确认Samba 服务器是否运行起来了;
      第五步:访问Samba 服务器的共享;

    5、复杂一点的用户共享模型(适合10人左右的小型企业);

      5.1 共享权限设计实现的功能;
      5.2 在服务器上创建相应的目录;
      5.3 添加用户用户组,设置相应目录家目录的权限;

       

        5.3.1 添加用户组;
        5.3.2 添加用户;
        5.3.3 添加samba用户,并设置密码;
        5.3.4 配置相关目录的权限和归属;

      5.4 修改Samba配置文件;
      5.5 关于客户端访问;
      5.5.1 Windows客户端访问;




++++++++++++++++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++++++++++++++++


0、架设Samba 服务器的前提;

Linux是一个多用户的操作系统,对任何服务器的架设与都用户、用户组及权限相关,这是操作的基础。Samba服务器也不例外,对这些知识的掌握也是极为重要的。在Windows系统上虽然也能架共享文件服务器,但它的权限控制实在令人不敢恭维。如果我们用Windows系统来架网络共享文件系统,就是点鼠标也能把我们点迷糊了。但在Linux中,我们可以轻松的改一改配置文件,不到几分钟就能建好自己的Samba服务器。哪个更容易,只有你知道;

对于Samba服务器的架设,有的弟兄简单的认为,只要把改一下配置文件,创建好相应的目录就行了。其实并不是这样的,还要深入的工作,比如目录的权限和归属,也就是说能让哪个用户和用户组有读写权。只有把配置文件和共享目录的权限结合起来,才能架好Samba服务器;

下面是常用的基础知识,我们在本文中所涉及的内容都可以在下面的列表中找到相应的解释;


0.1 查看文件内容和编辑文件的工具;

《Linux 文件内容查看工具介绍》
《文件编辑器 vi》


0.2 关于文件和目录相关;

《Linux 文件类型 及文件的扩展名》
《Linux 文件和目录管理之列出、删除、复制、移动及改名》
《Linux 文件和目录的属性》
《简述Linux文件搜索》


03 用户和用户组相关;

《Linux 用户(user)和用户组(group)管理概述》
《用户(User)和用户组(Group)配置文件详解》
《Linux 用户管理工具介绍》
《Linux 用户(User)查询篇》


04 进程管理;

《Linux 进程管理》

1 Samba 简介

Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;

大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器;

我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。

Samba 用的netbios协议,如果您用Samba 不成功,

Linux与Windows 、Linux 和 Linux

2 Samba 功能和应用范围

Samba 应该范围主要是Windows和Linux 系统共存的网络中使用;如果一个网络环境都是Linux或Unix类的系统,没有必要用Samba,应该用NFS更好一点;

那Samba 能为我们提供点什么服务呢?主要是共享文件和共享打印机;

3 Samba 两个服务器相关启动程序、客户端及服务器配置文件等;

3.1 Samba 有两个服务器,一个是smb,另一个是nmb;

smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,比如在Windows的IE浏览器上打入下面的一条来访问;


\\192.168.1.5\共享目录
\\192.168.1.5\opt



而nmb是解析用的,解析了什么呢?就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来;

 

一般的情况下,在RPM包的系统,如果是用RPM包安装的Samba ,一般可以通过如下的方式来启动Samba服务器;


[root@localhost ~]# /etc/init.d/smb start
启动 SMB 服务:                                            [  确定  ]
启动 NMB 服务:                                            [  确定  ]



如果停止呢?就在smb后面加stop ;重启就是restart


[root@localhost ~]# /etc/init.d/smb stop
[root@localhost ~]# /etc/init.d/smb restart


 

对于所有系统来说,通用的办法就是直接运行smb 和nmb;当然您要知道smb和nmb所在的目录才行;如果是自己编译的Samba ,您应该知道您把Samba放在哪里了;


[root@localhost ~]# /usr/sbin/smbd
[root@localhost ~]# /usr/sbin/nmbd



查看服务器是否运行起来了,则用下面的命令;

 

[root@localhost ~]# pgrep smbd
[root@localhost ~]# pgrep nmbd


 

关掉Samba服务器,也可以用下面的办法,大多是通用的;要root权限来执行;


[root@localhost ~]# pkill smbd
[root@localhost ~]# pkill nmbd


 

3.2 查看Samba 服务器的端口及防火墙;

查看这个有何用呢?有时你的防火墙可能会把smbd服务器的端口封掉,所以我们应该smbd服务器所占用的端口;下面查看中,我们知道smbd所占用的端口是139和445 ;

[root@localhost ~]# netstat -tlnp |grep smb
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      10639/smbd
tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN      10639/smbd

 

如果您有防火墙,一定要把这两个端口打开。如果不知道怎么打开。可能你和我一样是新手,还是把防火墙规则清掉也行;

[root@localhost ~]# iptables -F

[root@localhost ~]# /sbin/iptables -F

 

3.3、查看Samba 服务器的配置文件;

如果我们是用Linux发行版自带的Samba软件包,一般情况下Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是smb.conf;也有有户配置文件 smbpasswd、smbusers和lmhosts等(最好您查看一下这些文件的内容);还有一个文件是secrets.tdb,这个文件是Samba 服务器启动手自动生成的;我们慢慢根据教程的进度来适当地增加这些文件的说明吧;一下子都说出来,感觉内容太多;所以只能一点一点的来了;

3.4、Samba 在Linux 中的一些工具(服务器端和客户端);

smbcacls    smbcontrol  smbencrypt  smbmount    smbprint    smbstatus   smbtree
smbclient   smbcquotas  smbmnt      smbpasswd   smbspool    smbtar      smbumount
smbd nmbd    mount



其中服务器端的是smbd、nmbd、smbpasswd ;其它的大多是客户端;这些并不是都需要一定要精通的,但至少得会用几个;比如smbmount(也就是mount 加参数的用法),还用smbclient等;

 

3.5 在Linux 中的常用工具mount(smbmount)和smbclient;Windows查看Linux共享的方法 ;

3.5.1 在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件;

一般的情况下,我们要用到smbclient;常用的用法也无非是下面的;


[root@localhost ~]# smbclient  -L  //ip地址或计算机名

 

smbclient 是Samba 的Linux 客户端,在Linux机器上用来查看服务器上的共享资源,也可以象FTP一样,用户可以登录Samba服务器,也可以上传put和下载get文件,遗憾的是对中文支持并不友好;

查看服务器上的资源;

smbclient -L //IP  [-U 用户名]

 

如果您的Samba服务器配置为user模式,就要加 “-U 用户名“,如果是share模式,省略也可;

比如:

[root@localhost ~]# smbclient -L   //192.168.1.3  -U sir01
Password: 请输入用户sir01的密码

 

如果您是用share模式,就可以不必理会用户和密码,直接用;

[root@localhost ~]# smbclient -L  //192.168.1.3
Password: 直接按回车

 

登录用户身份Samba服务器共享

以用户身份登录共享后,能象FTP用户一样,下传和下载文件;用put表示上传,用get表示下载;

smbclient  //IP地址/共享文件夹    -U 用户

 

说明:IP地址大家都知道,你不知道自己的IP地址,可以用/sbin/ifconfig 来查看; 共享文件夹是我们在smb.conf中定义的[共享文件夹],比如[sir01]。-U 用户名表示Samba 的用户;

比如:

[root@localhost ~]# smbclient //192.168.1.3/sir01 -U sir01
Password:
Domain=[LINUXSIR] OS=[Unix] Server=[Samba 3.0.21b-2]
smb: \> ls

 

说明:登录到Samba服务器上,就可以用smbclient的一些指令,可以象用FTP指令一样上传和下载文件;

smbclient 命令说明

命令说明                            ?或help [command]提供关于帮助或某个命令的帮助                            ![shell command]执行所用的SHELL命令,或让用户进入 SHELL提示符                            cd [目录]切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录                            lcd [目录]切换到客户端指定的目录;                            dir 或ls  列出当前目录下的文件;                            exit 或quit 退出smbclient                            get file1  file2  从服务器上下载file1,并以文件名file2存在本地机上;如果不想改名,可以把file2省略                            mget file1 file2 file3  filen 从服务器上下载多个文件;                            md或mkdir 目录在服务器上创建目录                            rd或rmdir目录删除服务器上的目录                            put file1 [file2]向服务器上传一个文件file1,传到服务器上改名为file2;                            mput file1 file2 filen  向服务器上传多个文件                            

3.5.2 在Windows中访问Linux Samba服务器共享文件的办法;

这个简单吧,在网上领居,查看工作组就能看得到,或者在浏览器上输入如下的


\\ip地址或计算机名

 

这样就能看到这个机器上有什么共享的了,点鼠标操作完成;如果访问不了,不要忘记把Linux的防火墙规划清掉,或让相应的端口通过;

3.5.3 在Linux中smbfs文件系统的挂载;

mount 的用法,加载网络中的共享文件夹到本地机;mount就是用于挂载文件系统的,SMB做为网络文件系统的一种,也能用mount挂载;smbmount说到底也是用mount的一个变种;

mount 挂载smbfs的用法;

mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l   //ip地址/共享文件夹名   挂载点

mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l   //计算机名/共享文件夹名   挂载点

mount -t smbfs  -o codepage=cp936  //ip地址或计算机名/共享文件夹名   挂载点



smbmount的用法:
smbmount -o username=用户名,password=密码 , -l   //ip地址或计算机名/共享文件夹名   挂载点
smbmount  //ip地址或计算机名/共享文件夹名    挂载点



说明:

 

如果您的服务器是以share共享的,则无需用户名和密码就能挂载,如果出现要密码的提示,直接回车就行;您也可以用smbmount 来挂载,这样就无需用mount -t smbfs来指定文件系统的类型了;

对于挂载点,我们要自己建立一个文件夹,比如我们可以建在/opt/smbhd,这由您说的算吧;

在mount的命令中,我们发现有这样的一个参数codepage=cp936,这是服务器端文件系统的编码的指定,cp936 就是简体中文,当然您可以用utf8等,尝试一下吧。

如果您挂载了远程的smbfs文件系统出现的是简体中文乱码,就要考虑挂载时要指定编码了;

4、由最简单的一个例子说起,匿名用户可读可写的实现;

第一步: 更改smb.conf

我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹;我们要改动一下smb.conf ;首先您要备份一下smb.conf文件;

[root@localhost ~]# cd /etc/samba
[root@localhost samba]# mv smb.conf smb.confBAK

 

然后我们来重新创建一个smb.conf文件;


[root@localhost samba]#touch smb.conf

 

然后我们把下面这段写入smb.conf中;

[global]
workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server TestServer
security = share

[linuxsir]
        path = /opt/linuxsir
        writeable = yes
        browseable = yes
        guest ok = yes



注解:

 

[global]这段是全局配置,是必段写的。其中有如下的几行;

workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

[linuxsir] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no

guest ok 匿名用户以guest身份是登录;

第二步:建立相应目录并授权;

[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)

[root@localhost ~]# chown -R nobody:nobody /opt/linuxsir



注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;

 

第三步:启动smbd和nmbd服务器;

[root@localhost ~]# smbd
[root@localhost ~]# nmbd

 

第四步:查看smbd进程,确认Samba 服务器是否运行起来了;



[root@localhost ~]# pgrep smbd
13564
13568



第五步:访问Samba 服务器的共享;


在Linux 中您可以用下面的命令来访问;
[root@localhost ~]# smbclient -L //LinuxSir05
Password: 注:直接按回车



在Windows中,您可以用下面的办法来访问;


\\LinuxSir05\

 


5、复杂一点的用户共享模型(适合10人左右的小型企业);

比如一个公司有五个部门,分别是linuxsir,sir01,sir02,sir03,sir04。我们想为这家公司设计一个比较安全的共享文件模型。每个用户都有自己的网络磁盘,sir01到sir04还有共用的网络硬盘;所有用户(包括匿名用户)有一个共享资料库,此库为了安全是只读的;所有的用户(包括匿名用户)要有一个临时文件终转的文件夹... ....


5.1 共享权限设计实现的功能;

1)linuxsir部门具有管理所有SMB空间的权限;
2)sir01到sir04拥有自己的空间,并且除了自身及linuxsir有权限以外,对其它用户具有绝对隐私性;
3)linuxsir01到linuxsir04拥有一个共同的读写权限的空间;
4) 所有用户(包括匿名用户)有一个有读权限的空间,用于资料库,所以不要求写入数据。
5)sir01到sir04还有一个共同的空间,对sir01到sir04的用户来说是隐私的,不能让其它用户来访问。
6) 还要有一个空间,让所有用户可以写入,能删除等功能,在权限上无限制 ,用于公司所有用户的临时文档终转等;


5.2 在服务器上创建相应的目录;

[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# cd /opt/linuxsir
[root@localhost linuxsir]# mkdir sir01 sir02 sir03 sir04 sirshare sir0104rw sirallrw
[root@localhost linuxsir]# ls

sir01  sir0104rw  sir02  sir03  sir04  sirallrw  sirshare

 

注:功用如下:

/opt/linuxsir  这是管理员目录,负责管理其下所有目录;
/opt/linuxsir/sir01  是sir01的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
/opt/linuxsir/sir02  是sir02的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
/opt/linuxsir/sir03  是sir03的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
/opt/linuxsir/sir04  是sir04的家目录,用于私用,除了用户本身和linuxsir以外其它用户都是不可读不可写;
/opt/linuxsir/sirshare 所用用户(除了linuxsir有权限写入外)只读目录
/opt/linuxsir/sir0104rw 是用于sir01到sir04用户可读可写共用目录,但匿名用户不能读写;
/opt/linuxsir/sirallrw 用于所有用户(包括匿名用户)的可读可写;

 


5.3 添加用户用户组,设置相应目录家目录的权限;


5.3.1 添加用户组;

[root@localhost ~]# /usr/sbin/groupadd linuxsir
[root@localhost ~]# /usr/sbin/groupadd sir01
[root@localhost ~]# /usr/sbin/groupadd sir02
[root@localhost ~]# /usr/sbin/groupadd sir03
[root@localhost ~]# /usr/sbin/groupadd sir04
[root@localhost ~]# /usr/sbin/groupadd sir0104

 


5.3.2 添加用户;

[root@cuc03 ~]# adduser -g sir01 -G sir0104  -d /opt/linuxsir/sir01 -s  /sbin/nologin sir01
[root@cuc03 ~]# adduser -g sir02 -G sir0104  -d /opt/linuxsir/sir02 -s  /sbin/nologin sir02
[root@cuc03 ~]# adduser -g sir03 -G sir0104  -d /opt/linuxsir/sir03 -s  /sbin/nologin sir03
[root@cuc03 ~]# adduser -g sir04 -G sir0104  -d /opt/linuxsir/sir04 -s  /sbin/nologin sir04
[root@cuc03 ~]# adduser -g linuxsir -d /opt/linuxsir -G linuxsir,sir01,sir02,sir03,sir04,sir0104 -d /opt/linuxsir -s  /sbin/nologin linuxsir

 

为什么这样添加用户?请参考:

《Linux 文件和目录的属性》
《Linux 用户管理工具介绍》

当然我们还得学会查看用户信息的工具用法,比如 用finger和id来查看用户信息,主要是看用户是否添加正确;比如;请参考《Linux 用户(User)查询篇》

[root@localhost ~]# id linuxsir
[root@localhost ~]# finger linuxsir

 


5.3.3 添加samba用户,并设置密码;

我们用的方法是先添加用户,但添加的这些用户都是虚拟用户,因为这些用户是不能通过SHELL登录系统的;另外值得注意的是系统用户密码和Samba用户的密码是不同的。如果您设置了系统用户能登入SHELL,可以设置用户的Samba密码和系统用户通过SHELL登录的密码不同。

我们通过smbpasswd 来添加Samba用户,并设置密码。原理是通过读取/etc/passwd文件中存在的用户名。

[root@localhost sir01]# smbpasswd -a linuxsir
New SMB password: 注:在这里添加Samba用户linuxsir的密码;
Retype new SMB password: 注:再输入一次;

 

用同样的方法来添加 sir01、sir02、sir03、sir04的密码;


5.3.4 配置相关目录的权限和归属;

[root@cuc03 ~]# chmod 755 /opt/linux
[root@cuc03 ~]# chown  linuxsir:linuxsir /opt/linuxsir

[root@cuc03 ~]# cd /opt/linuxsir
[root@cuc03 ~]# chmod 2770 sir0*

[root@cuc03 ~]# chown sir01.linuxsir sir01

[root@cuc03 ~]# chown sir02.linuxsir sir02

[root@cuc03 ~]# chown sir03.linuxsir sir03

[root@cuc03 ~]# chown sir04.linuxsir sir04

[root@cuc03 ~]# chown linuxsir.sir0104 sir0104rw

[root@cuc03 ~]# chown linuxsir.linuxsir sirshare
[root@cuc03 ~]# chmod 755 sirshare

[root@cuc03 ~]# chown linuxsir:linuxsir sirallrw
[root@cuc03 ~]# chmod 3777 sirallrw

 


5.4 修改Samba配置文件 smb.conf;

配置文件如下,修改/etc/samba/smb.conf后,不要忘记重启smbd和nmbd服务器;

[global]
workgroup = LINUXSIR
netbios name = LinuxSir
server string = Linux Samba   Test Server
security = share


[linuxsir]
        comment = linuxsiradmin
        path = /opt/linuxsir/
        create mask =  0664
#create mask是用户创建文件时的权限掩码;对用户来可读可写,对用户组可读可写,对其它用户可读;
        directory mask = 0775
#directory mask 是用来设置用户创建目录时的权限掩码,意思是对于用户和用户组可读可写,对其它用户可读可执行;
        writeable = yes
        valid users = linuxsir
        browseable = yes

[sirshare]
        path = /opt/linuxsir/sirshare
        writeable = yes
        browseable = yes
        guest ok = yes

[sirallrw]
        path = /opt/linuxsir/sirallrw
        writeable = yes
        browseable = yes
        guest ok = yes

[sir0104rw]
        comment = sir0104rw
        path = /opt/linuxsir/sir0104rw
        create mask =  0664
        directory mask = 0775
        writeable = yes
        valid users = linuxsir,@sir0104
#@sir0104是用户组;
        browseable = yes

[sir01]
        comment = sir01
        path = /opt/linuxsir/sir01
        create mask =  0664
        directory mask = 0775
        writeable = yes
        valid users = sir01,@linuxsir
        browseable = yes


[sir02]
        comment = sir02
        path = /opt/linuxsir/sir02
        create mask =  0664
        directory mask = 0775
        writeable = yes
        valid users = sir02,@linuxsir
        browseable = yes

[sir03]
        comment = sir03
        path = /opt/linuxsir/sir03
        create mask =  0664
        directory mask = 0775
        writeable = yes
        valid users = sir03,@linuxsir
        browseable = yes

[sir04]
        comment = sir04
        path = /opt/linuxsir/sir04
        create mask =  0664
        directory mask = 0775
        writeable = yes
        valid users = sir04,@linuxsir
        browseable = yes

 


5.5 关于客户端访问;


5.5.1 Windows 访问;

我们打开Windows的IE浏览器,用IP地址的访问方式就能访问了,格式为 \\192.168.1.3 类似的。当然也可以把共享文件夹挂在本地使用。比如我们把sir01文件夹挂在本地中,应该以sir01用户来挂载,挂载流程图如下;


6、更新日志;

2006/01/23 v0.1b
2006/01/24 v0.2b

7、参考文档;

《Samba-HOWTO》

7、相关文档;

《Samba 文件服务器用户复杂权限模型设计和实现 》

  • 由 北南南北 在 2006/05/27 - 20:54 发表
  • Linux
  • 文件服务器
  • 要发表评论,请先登录 或 注册

如何记录用户在samba服务器上读取和存放了那些文件?

匿名samba服务器上的日志能否记录下来每个IP的用户都读取了那些文件和保存了那些文件吗?

  • 由 cherio2002@msn.com 在 2008/11/19 - 13:01 发表
  • 要发表评论,请先登录 或 注册

如何换用户访问

我刚开始访问Samba服务器时,成功,再次访问时,直接用原来用户登陆了,怎么样换其它用户?

  • 由 LinuxSir 在 2007/08/24 - 15:44 发表
  • 要发表评论,请先登录 或 注册

似乎还要加上自动启动SAMBA!

似乎还要加上自动启动SAMBA!
同时非常敬佩北南南北大哥的无私,以及您的这种精神!
谢谢!
不好意思,不弟我刚学习LINUX,只是看到有人这样做!

  • 由 Anonymous (未验证) 在 2007/01/03 - 17:27 发表
  • 要发表评论,请先登录 或 注册

文章非常好,就是

文章非常好,就是 writeable 应该是writable

  • 由 LinuxSir 在 2006/12/22 - 14:06 发表
  • 要发表评论,请先登录 或 注册

有个重要的问题,在windows里面进入的时候,

有个重要的问题,在windows里面进入的时候,根本不用输入用名称,只有输入正确的密码就可以了.用户名是灰色的,不能输入,而且里面显示的是guest,这样一来,所有的文件加,只要密码正确都可以进去.好像和设置的不符合啊.?
who can help me to slove/answer the problem?

  • 由 Anonymous (未验证) 在 2006/08/07 - 18:27 发表
  • 要发表评论,请先登录 或 注册

你应该用的是XP,再控制面板里执行网络安装向导

你应该用的是XP,再控制面板里执行网络安装向导

就能输入用户名了,你说的输入密码可以进入,应该是你把共享的文件夹权限设置为guest ok了

  • 由 Anonymous (未验证) 在 2006/11/15 - 11:44 发表
  • 要发表评论,请先登录 或 注册

共享

我也是同样的现象,用户名是灰色的,输入密码没有反应,而且我用netstat,显示结果为,请求高手指点netstat -tlnp |grep smb
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 10639/smbd
没有显示出445端口,

  • 由 LinuxSir 在 2006/08/16 - 20:30 发表
  • 要发表评论,请先登录 或 注册

拜读后,sgid得设置不明白

我刚拜读完您的文档以下两句,看了《Linux 文件和目录的属性》后还是不明白,还请赐叫
chmod 2770 sir0*
chmod 3777 sirallrw

  • 由 LinuxSir 在 2006/07/20 - 13:50 发表
  • 要发表评论,请先登录 或 注册

setuid,setgid,stickybit的三个权限的详细说明

一个文件都有一个所有者, 表示该文件是谁创建的. 同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组.

  如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置.

  setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.

  setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.

  sticky bit: 该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件.

  下面说一下如何操作这些标志:

  操作这些标志与操作文件权限的命令是一样的, 都是 chmod. 有两种方法来操作,

用户可以用chmod指令来为文件设置强制位和冒险位
setuid: chmod u+s 文件名 (setuid 只对文件有效)
setgid: chmod g+s 文件名 (setgid 只对目录有效)
sticky: chmod o+t 文件名 (sticky只对文件有效)

也可以通过数字加和,放在读写执行的三位数字前来指定:
4(setuid) 2(setgid) 1(sticky)
命令 结果
chmod 4755 -rwsr-xr-x
chmod 6711 -rws--s--x
chmod 4611 -rws--x--x

  那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)

  • 由 ylw_1 在 2008/11/21 - 22:16 发表
  • 要发表评论,请先登录 或 注册

老兄 帮帮忙 为什么我的windows能找到linux工作组

老兄 帮帮忙 为什么我的windows能找到linux工作组,却找不到主机呢?我认为是 netbios问题,可是解决不了!

另外,dns和域怎么设?

  • 由 Anonymous (未验证) 在 2006/06/29 - 10:52 发表
  • 要发表评论,请先登录 或 注册

1你添加一個NET客戶端就可以了1

你添加一個NET客戶端就可以了

  • 由 Anonymous (未验证) 在 2007/02/13 - 11:07 发表
  • 要发表评论,请先登录 或 注册

通过添加网络映射能行吗?

可能存在两方面的原因。一是主机名有相同的。这会造成冲突。
是不是把NMB服务器启动了呢???

另外防火墙,是不是关了呢?

  • 由 北南南北 在 2006/06/29 - 23:30 发表
  • 要发表评论,请先登录 或 注册

老兄 帮帮忙 为什么我的windows能找到linux工作组

老兄 帮帮忙 为什么我的windows能找到linux工作组,却找不到主机呢?我认为是 netbios问题,可是解决不了!

另外,dns和域怎么设?

  • 由 Anonymous (未验证) 在 2006/06/29 - 10:52 发表
  • 要发表评论,请先登录 或 注册

Samba 用的netbios协议,如果您用Samba 不成功

Samba 用的netbios协议,如果您用Samba 不成功,

Linux与Windows 、Linux 和 Linux

请问文章第1节里面的以上两句是什么意思?
好像没说完啊?

  • 由 Anonymous (未验证) 在 2006/06/14 - 14:33 发表
  • 要发表评论,请先登录 或 注册

北南南北,辛苦了,大家感谢你!

看了北南兄写的这一系列文章,感慨万千,这些文章实用价值很高,
对我们的帮助很大,希望继续坚持,也希望大家都能够支持!谢了!

  • 由 LinuxSir 在 2006/05/29 - 13:54 发表
  • 要发表评论,请先登录 或 注册

北南南北,辛苦了,大家感谢你!

看了北南兄写的这一系列文章,感慨万千,这些文章实用价值很高,
对我们的帮助很大,希望继续坚持,也希望大家都能够支持!谢了!

  • 由 LinuxSir 在 2006/05/29 - 13:53 发表
  • 要发表评论,请先登录 或 注册

文件的2次共享问题

有一关于samba共享的问题请教;
网中有A(Windows),B(Linux FC3),C3(Windows XP)台主机,A-B间可以互访,B-C间可以互访;
目的:通过B的共享实现A-C间的文件共享,即C可以读写A共享的文件夹share

方法:

1.将A的share挂载到B的/mnt/share目录,此时测试,可以对/mnt/share进行读写,并创建新文件(夹)操作(证明A对B的共享设置没有问题)

2.将B的/mnt/share目录通过samba设置为share2共享,在C中访问B的共享share2,

说明:若不进行操作1,直接进行操作2,则C机可以对B的共享share2进行读写,并创建新文件(夹)操作(证明B对C的共享设置没有问题)
若进行了操作1,然后再进行操作2,则C机可以对B的共享share2进行读写修改,但并不能再创建新文件(夹)操作
问题:为什么依次经过1,2操作后,共享的的权限削弱了,即C不能在A共享的文件夹中创建新文件(夹)?该如何避免此种问题?

  • 由 bingel 在 2006/04/22 - 14:45 发表
  • 要发表评论,请先登录 或 注册

很好

能不能把共享文件 挂载到 本地?

  • 由 LinuxSir 在 2006/05/23 - 10:54 发表
  • 要发表评论,请先登录 或 注册

FC5 中似乎 smbfs 被 cifs 取代了

rpm -ql samba-client 只有 cifs 了。

mount -t smbfs 会返回 "不支持的文件系统",必须改为 mount -t cifs。

  • 由 LinuxSir 在 2006/04/01 - 18:26 发表
  • 要发表评论,请先登录 或 注册

请问,samba可不可以单独设置某个目录为匿名用

请问,samba可不可以单独设置某个目录为匿名用户访问,其他的目录为用户级访问?

  • 由 Anonymous (未验证) 在 2006/03/27 - 11:21 发表
  • 要发表评论,请先登录 或 注册

可以,在论坛中的网络版中有关于这访问的

可以,在论坛中的网络版中有关于这访问的,在置顶帖中。。

  • 由 北南南北 在 2006/03/29 - 23:07 发表
  • 要发表评论,请先登录 或 注册

大侠帮我看看是什么原因?谢谢了

1.我按这种方式启动的时候SMB启动失败
[root@localhost ~]# /etc/init.d/smb start
启动 SMB 服务: [ 失败 ]
启动 NMB 服务: [ 确定 ]
2.我按以下的方式启动的时候,没任何反映,而且硬盘狂转,这是什么原因啊
[root@localhost ~]# smbd
[root@localhost ~]# nmbd

第四步:查看smbd进程,确认Samba 服务器是否运行起来了;
[root@localhost ~]# pgrep smbd------->此处没任何显示

  • 由 mycol 在 2006/03/26 - 13:33 发表
  • 要发表评论,请先登录 或 注册

我也一样,我查了一下/var/log/samba下的smbd.log文件

[2006/08/16 18:23:35, 0] smbd/server.c:main(847)
smbd version 3.0.23a-1.fc5.1 started.
Copyright Andrew Tridgell and the Samba Team 1992-2006
smbd: symbol lookup error: smbd: undefined symbol: cupsLangDefault

  • 由 ewile 在 2006/08/16 - 18:39 发表
  • 要发表评论,请先登录 或 注册

To solve the issue:yum

To solve the issue:yum update cups
http://groups.google.com.tw/group/redhat-linux-fedora/browse_thread/thread/fc38a525a7bba165/4fabd3d3a4027fa9?hl=zh-TW

  • 由 LinuxSir 在 2006/09/12 - 06:51 发表
  • 要发表评论,请先登录 或 注册

应该是配置文件中有非法选项!

应该是配置文件中有非法选项!

  • 由 Anonymous (未验证) 在 2006/12/07 - 16:35 发表
  • 要发表评论,请先登录 或 注册

感谢楼主为我这些菜鸟提笔!!!!!!!

感谢,支持,期望

  • 由 LinuxSir 在 2006/03/26 - 10:00 发表
  • 要发表评论,请先登录 或 注册

不知道对windows的域支持的怎么样啊?

不知道对windows的域支持的怎么样啊?

  • 由 Anonymous (未验证) 在 2006/03/17 - 13:47 发表
  • 要发表评论,请先登录 或 注册

非常感谢,找了很多资料,这里说得比较明白。

非常感谢,找了很多资料,这里说得比较明白。

  • 由 Anonymous (未验证) 在 2006/03/17 - 01:32 发表
  • 要发表评论,请先登录 或 注册

请教北南兄!

小弟已按照你的做法一步步做了,但有一处不同的是:
# pgrep smbd
20274
20275
这是什么问题啊?到最后,我在局域网中其它机子访问Linux共享时,机子可以进入,但要打开共享文件夹时提示“无法访问...找不到网络名。”这是什么原因呢?
补充:
# smbclient -L //...
是可以见到我的共享的。
请北南兄赐教!~

  • 由 LinuxSir 在 2006/03/14 - 17:00 发表
  • 要发表评论,请先登录 或 注册

谢谢!

我昨天才安装了 red hat linux 9.03 没找到现成的安装教程,就参照咱们站找到的其它教程装啦!以前根本没接触过,看了几个站,觉得还是这好,通俗比较易懂(哈!偶英文太差啦)以后多发点这样的贴子!偶支持!帮助别人快乐自己!

  • 由 LinuxSir 在 2006/03/11 - 15:09 发表
  • 要发表评论,请先登录 或 注册

nice!

清晰、明了

  • 由 LinuxSir 在 2006/02/17 - 04:16 发表
  • 要发表评论,请先登录 或 注册

增加两个选项

呵呵,不知道大家知道不知道这个
dos charset = gbk
unix charset = gbk

可以是utf-8,gbk,gb2312,gb18030
dos charset 用来设置linux访问windows 共享时的字符集
unix charset 用来设置windows客户机访问samb服务器的字符集
samba 共享码码问题一直存在,上面两个选项能解决大多数问题,不过除非你全部用utf-8编码,否则不是100%都行的。

另外还可以在编译内核的时候可以设置
CONFIG_SMB_NLS_REMOTE="cp936" 来定义远程主机使用的字符集

  • 由 LinuxSir 在 2006/01/24 - 17:04 发表
  • 要发表评论,请先登录 或 注册

给你一个好建议

北南兄,你的做法令人钦佩.
不过,建议你下次再写,一定先去网上看看有没有人做过同样的工作.
关于samba的设置,有一位鸟兄写得不错.此人写了一系列的文章.
关于samba的文章也非常详细.不知道你是否看过?
http://linux.vbird.org/linux_server/0370samba.php

  • 由 LinuxSir 在 2006/01/21 - 12:47 发表
  • 要发表评论,请先登录 或 注册

文章多了,但对初学者来说有好坏之分

看了一位仁兄的回复,想说两句
>给你一个好建议
>北南兄,你的做法令人钦佩.
>不过,建议你下次再写,一定先去网上看看有没有人做过同样的工作.
>关于samba的设置,有一位鸟兄写得不错.此人写了一系列的文章.
>关于samba的文章也非常详细.不知道你是否看过?
>http://linux.vbird.org/linux_server/0370samba.php

北南这篇感觉对我这种新手来说就非常易于理解,而且都在一个页面里面可以看完。
你发那个首先是台湾网站,繁体字看起来就比较费劲,而且还有很多的页面跳转,其实一样是简单的指导性的文档,但是看这篇你不觉得会比你说的那个网站,可以更省时间么?
做同样的事情,我觉得怎么样能用最短的时间,达到同样的目的是最重要的。所以有人在这里为大家提供这样好的学习资料,我觉得大家应该多多支持!!

不是人家做了你没有做的事情,还要被说风凉话~~~

大家能把自己的学习经验,自己的知识拿出来与大家共享,我觉得是非常好的事情,而且对技术的发展也会起到很大的推进作用。

按北南的配置说明,刚刚试验了一下,的确是很方便。不过139端口和445端口在Windows上常常是被攻击的目标,象以前一些冲击波之类的病毒,好象就是借助这些端口,不知道在Linux下,会不会也有同样的安全隐患?

  • 由 fangh 在 2006/09/21 - 11:29 发表
  • 要发表评论,请先登录 或 注册

谢谢台兄建议;

我没有看过;

网上的SMB文档一大堆;我看smb的说明文档及为全面。只要对英文稍有认识的就可以完全读懂。就是读不懂,按上面的给的配置代码来操作也能行;

本不想写这样的教程。但基于我以前写了一些基础文档,我想我不会少这一篇两篇的。记得ROSE兄说过,别人写是别人的风格,你写是你的风格。

本来也想从网上抄几篇过来。。但这并不符合我的作事风格,当然也不符合SIR的风格。如果一个站整天抄来抄去的。中文所有的站都转这几篇文档。我不知道这是悲哀还是什么的。如果能写的人都不写了。我看大家到时去哪转??

我写SMB的意义,并不是别人说做过了,我还要去做,也就是大家常说的“本来都有轮子了,你还要再去发明轮子有必要吗?”。

现在我声明一下,对于开源文档,重新“发明轮子”,这是极有必要的。特别是中文的DOC。是极有必要重新发明“轮子”。我的目的是引导大家参与写文档。而非中文Linux DOC真的少我北南这一篇SMB文档。


可能有的弟兄已经看到了在文档提要部份中的“作者:北南南北,正在增加中... ... 需要您的参与;
来自:LinuxSir.Org
简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的参加 ... ... 谢谢;

我真正的意图并非要SMB文档,而是让会SMB的弟兄参与进来,让大家有这种”人人为我,我为人人“的心胸。中文项目为什么总是失败?问题出在几乎很少人参与。所以这就有lumaqq 、fcitx ...... 总是一个开发者在挺着的原因。

我想把SIR的首页做成引导大家理解”互助共享“这一理念的实验室;这也是我一直在写文档的真正原因。。。。。。。

谢谢建议。。。。

北南 呈上

  • 由 北南南北 在 2006/01/21 - 15:17 发表
  • 要发表评论,请先登录 或 注册

如果一个站整天抄来抄去的。。。。

如果一个站整天抄来抄去的。中文所有的站都转这几篇文档。我不知道这是悲哀还是什么的。如果能写的人都不写了。我看大家到时去哪转??

强烈支持南北大侠的观点,LINUX之福,菜鸟之福。祝南北大虾新年快乐,也祝SIR里的各位兄弟姐妹们新年快乐

  • 由 LinuxSir 在 2006/01/22 - 15:54 发表
  • 要发表评论,请先登录 或 注册

光GUEST用户没什么用啊

光GUEST用户没什么用啊,要像WIN系统那样能自由控制目录等权限才好啊

  • 由 Anonymous (未验证) 在 2006/01/19 - 17:43 发表
  • 要发表评论,请先登录 或 注册

呵。兄弟,这不是从最简单的开始写起吗?

smb在我认为他的功能太强大了,并不是我一下就能说的清楚的。。

所以只能从最简单的功能写起。主要是给初学者在学习时,用这个最小的例子来获得一点信心。。

我看兄弟有能力写SMB DOC,为何不出出手呢???我是表示欢迎的。。

任何一个文档都是从最简单的开始写起。。主要是把一些基础的东西给初学者。并不是我不想写USER验证模式。主要是为了让新手一步一步的学会基本的操作。。。

授之与鱼不如授之与渔。。。。所以我才写SMB。。。。想把最基本的操作告诉新手。。

欢迎大家补充。。。。因为我在标题和提要上写着,欢迎参与。。。

  • 由 北南南北 在 2006/01/19 - 20:14 发表
  • 要发表评论,请先登录 或 注册

写文档,越深入,需要科普的知识越多

SP。写文档,越深入,需要科普的知识越多。

所以只能 暂时按照用户接收程度分类总结;P

这个权且当做初级篇;P,期望中级应用+高级配置篇的早日归纳完成。辛苦您了

  • 由 Anonymous (未验证) 在 2006/01/20 - 00:02 发表
  • 要发表评论,请先登录 或 注册

很不幸,我smbclient 没有成功

很不幸,我smbclient -L //redhat 后得到消息说
Connection redhat failed.

我的配置同第四部分,只是workgroup = mygroup
netbios name = redhat
id nobody显示 groups也是nobody

  • 由 LinuxSir 在 2006/02/25 - 22:05 发表
  • 要发表评论,请先登录 或 注册

楼主,请留E-mail地址

楼主,请留一个E-mail地址,有点东西要发给你!

  • 由 LinuxSir 在 2006/03/09 - 14:14 发表
  • 要发表评论,请先登录 或 注册

谢谢楼主,发一份给我行吗。。我也在学

xuexuejiang88@163.com

  • 由 LinuxSir 在 2006/03/12 - 16:04 发表
  • 要发表评论,请先登录 或 注册

楼主能不能发一份给我呢。。我也在学SAMBA

楼主能不能发一份给我呢。。我也在学SAMBA

  • 由 LinuxSir 在 2006/03/12 - 16:02 发表
  • 要发表评论,请先登录 或 注册

看了后有一点不明白。

create mask = 775
#create mask是用户创建文件时的权限掩码;
---到底是什么权限?这是个mask是umask吗?
解释一下,小弟确实不太明白,如果是umask的话,
用户创建文件的权限应该是 666-775,总感觉别扭。

  • 由 LinuxSir 在 2006/05/30 - 17:06 发表
  • 要发表评论,请先登录 或 注册

就是mask,不是umask;

是我大意了,我在最近再更新一下文档。我们可以设置文件的权限代码是664,目录的权限是775。

此文档的第二个例子,我的本意是让大家明白权限继承,比如sgid 的设置。这样用户创建目录时,就继承父目录的用户组。

还有一点没有说明,就是用户家目录的其它用户的权限是关掉的。所在在用户的家目录下设置多大的权限,也没有关系。因为其它用户是进不来的。家目录都被设置为770,也就是drwxrwx---。。相对来说还是比较安全的。。不过如果再向将一个用户添加到linuxsir用户组,这种安全性就不敢说了。因为凡是linuxsir用户组的用户都有管理权限。

谢谢。。。有些地方我还在学习中,可能在近期把SMB的文档,关于公共部份和特殊部份的定义会说一下。

在这个例子中,我主要的目的是让大家从一个小小的例子体验SMB的易用性。用最少的几个参数就能完成WINDOWS中比较难完成的权限级别。。。。。。

  • 由 北南南北 在 2006/05/30 - 23:24 发表
  • 要发表评论,请先登录 或 注册

慢慢学习和整理中……

跟南北兄的感触一样,网上的东西老是抄来抄去,难免误传滥传。最近我也在整理linux学习笔记,从卸载老版本程序,安装新版本过程以及过程中遇到的问题和解决办法都记录下来了。我发现很多文章只写安装和配置,却很少提到卸载--卸载时候也会遇到n多问题如,mysql与perl之间的bt依赖关系。安装php5需要的前提等很多问题在官方文档有时候更本就没有提到。由于本人英文水平(对专业术语理解不透等)和深入程度,写出来的东西可能有很多理解上等诸多错误,欢迎大家来指正。本人的linux学习笔记整理的只有那么几篇,还有很多在慢慢学习和整理中…………欢迎有兴趣的朋友一起交流。

本人目前整理请查看:(blog上记录的都跟linux有关)
http://xiutuo.vxv.cn/blog/

  • 由 LinuxSir 在 2006/05/31 - 10:12 发表
  • 要发表评论,请先登录 或 注册

zenyang gaibian shuru fa a wo zai tongku zhong

zenmo gaibian ziti a

  • 由 LinuxSir 在 2007/08/28 - 09:00 发表
  • 要发表评论,请先登录 或 注册

基础知识

  • 安装配置
  • 基础入门
  • 硬件解决
  • 软件管理
  • 重要资源

软件应用

  • 网络工具
  • 图形图像
  • 音乐视频
  • 字体中文
  • 软件其它

网络服务器

  • 文件服务器
  • Web服务器
  • 邮件服务器
  • 数据库应用
  • 服务器其它

最新评论

  • linux有迅雷吗?
    2 年 36 周 前
  • 我下载32位的DVD,迅雷
    2 年 36 周 前
  • 幸会幸会
    2 年 38 周 前
  • 恭喜恭喜………… 天
    2 年 38 周 前
  • 恭喜~
    2 年 39 周 前
  • 非常不错的一本书,
    2 年 39 周 前
  • 配置后所有字体都没
    2 年 39 周 前
  • 看不了啊!
    2 年 41 周 前
  • setuid,setgid,stickybit的三个权限的详细说明
    2 年 42 周 前
  • 如何记录用户在samba服务器上读取和存放了那些文件?
    2 年 42 周 前