ubuntu中Samba服务之配置

时间:2022-08-29 02:24:32
Step 1:samba软件包的安装
 $ sudo apt-get install samba
 $ sudo apt-get install smbfs
Step 2: 创建共享目录  $ sudo mkdir /home/sherry(本机用户名)/share(共享文件夹)    创建共享目录  $ sudo chmod 777 /home/sherry/share                            给共享目录设置权限 Step 3:编辑samba的配置文件,允许网络连接  $ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak          备份配置文件  $ sudo gedit /etc/samba/smb.conf                               打开配置文件进行编辑   在[global]中,找到    workgroup = WORKGROUP 把WORKGROUP改成MSHOME(有的版本说不改,我改了,但还没弄明白到底改不改有什么区别,待解决) 并在后面添加如下信息  $ display charset = UTF-8
 $ unix charset = UTF-8
 $ dos charset = cp936
后面的三行是为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成 cp936(不明白)
找到 security = user  在后面添加(若此语句前有#则去掉,在smb.conf文件中“#”和“;”都是注释)
   username map = /etc/samba/smbusers
在文件最后,添加下面的内容,其中share为共享文件夹名,         [Share]
         comment = Shared Folder with username and password 
         path = /home/sherry/share            Linux系统真实的共享目录,必须为绝对路径
         public = yes                         是否允许所有人都能够看到此目录
         writable = yes                        写权限
         valid users = sherry          create mask = 0700                   如果有可写权限,建立的文件默认的权限掩码
         directory mask = 0700                如果有可写权限,建立的目录默认的权限掩码
         force user = nobody
         force group = nogroup
         available = yes
         browseable = yes                     
读权限
 step 4:添加网络访问账户newsfan,该用户和普通用户的区别在于它只能用于samba的远程访问,不能用于登录系统 现在要添加newsfan这个网络访问帐户。如果系统中当前没有这个帐户,那么
 $ sudo useradd newsfan
要注意,上面只是增加了newsfan这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。
 $ sudo smbpasswd -a newsfan                       新增网络使用者的帐户
 $ sudo cat > /etc/samba/smbusers.conf             打开新建立的配置文件
在新建立的文件内加入下面这一行并保存
 $ newsfan = "network username"
如果将来需要更改newsfan的网络访问密码,也用这个命令更改
 $ sudo smbpasswd -a newsfan
删除网络使用者的帐号的命令把上面的 -a 改成 -x
step 5:验证配置文件的正确性
 $ sudo testparm    这句是验证配置文件是否正确
本来到这里验证不管安装正确与否都会给个反馈的结果,没想到前面顺风顺水,到这里摔了个大跟头,输入语句之后显示sudo: testparm: command not found。找了好久终于找到眉目,貌似又是少安装了个东西。于是按照网上解决办法输入语句进行安装
 sudo apt-get install samba-common-bin 也有的会显示 执行子进程“testparm”失败(没有该文件或目录)。 于是终于完成。再次验证出现成功提示 sherry@ubuntu:~$ testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[printers]"
Processing section "[print$]"
Processing section "[share]"
Loaded services file OK.
Server role: ROLE_STANDALONE
    下面显示出Ubuntu与俺的小紫成功连接  sherry@ubuntu:~$ sudo smbclient -L //localhost/share
[sudo] password for sherry:
Enter root's password:
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
 Sharename       Type      Comment
 ---------       ----      -------
 print$          Disk      Printer Drivers
 share           Disk      Shared Folder with username and password
 IPC$            IPC       IPC Service (ubuntu server (Samba, Ubuntu))
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
 Server               Comment
 ---------            -------
 SHARA-PC            
 UBUNTU               ubuntu server (Samba, Ubuntu)
 Workgroup            Master
 ---------            -------
 MSHOME               SHARA-PC
    启动Samba服务器后,可以使用ps命令查看进程:
 sudo ps -aux
可以看到Samba服务会同时启动两个服务,其中smbd主要用来管理共享出来的目录,nmbd主要用来解析NetBIOS名。在Windows系统中,主机可以被加入一个组中,这样每个主机都必须有一个名字,这个名字是用于在网上被标志的名,并非机器的主机名,将其称为NetBIOS名。其中nmbd进程是随着smbd进程启动而启动。


哇咔咔~不容易啊,在完全不懂LINUX的情况下成功安装samba!胜利!ubuntu中Samba服务之配置

 
另保存几个相关语句:   启动samba服务   sudo /etc/init.d/samba start 关闭samba服务   sudo /etc/init.d/samba stop 重启samba服务   sudo /etc/init.d/samba restart

 
另:貌似新版本10.04安装有所不同,以下是网上拷来的 ubuntu10.4中用老方法行不通,好像资源中新出了samba4,因此用命令:$sudo apt-get install samba会提示你安装samba4。
新方法是从应用程序-->ubuntu软件中心。搜索samba,选择名字叫samba的安装。
完成后执行命令:
$sudo apt-get install smbfs
$sudo apt-get install smbclient