samba是一种可以在Linux/Unix主机上模拟windows主机的NetBIOS和CIFS/SMB实现与windows主机之间文件共享的软件。只要linux主机安装了samba,windows端借助samba可以将linux主机共享的目录文件映射为本地磁盘,linux端也可以将windows主机共享的文件挂载为本地文件系统。
 
一、linux主机共享文件让windows端访问
 
1、安装samba
 
RedHat 5.8系统默认安装有samba3.0,这里使用samba3.5,先卸载samba3.0:
 
#rpm -e samba-client samba-common
 
安装samba3.5:
 
# yum -y install samba3x samba3x-client samba3x-common
 
2、添加samba用户:
 
创建用户: 
#groupadd samba 
#useradd -g samba smbuser1 
 
 
3、创建共享目录并更改权限 
mkdir /shared/test 
设置文件系统访问权限 
#chmod 755 /shared/test
 
更改文件属组 
#chown :samba /shared/test 
 
 
如果不更改属组可以使用acl授权指定用户:
 
#setfacl -m d:u:smbuser1:rw- /shared/test
 
添加用户至samba 
#smbpasswd -a smbuser1 
根据提示输入该用户对共享的访问密码 
 
 
 
 
4、编辑samba配置文件/etc/samba/smb.conf,添加设置共享 
[tools]  #定义共享别名 
    comment = Public Stuff    #共享注释 
    path = /shared/test  #共享路径 
    write list = smbuser1,@samba  #允许写操作的用户和组 
    guest ok = Yes  #允许来宾匿名查看 
    printable = Yes  #不隐藏
 
 
 
5、启动samba服务: 
service smb start
 
 
 
6、windows端在文件管理器窗口的地址栏输入“\\172.16.15.222\tools\”,输入linux端定义的用户名和密码就可以访问linux的共享资源了。【172.16.15.222为linux主机IP,tools为linux定义的共享资源别名】
 

然后设置映射本地驱动器就可以了。



Linux与Windows共享文件夹之samba的安装与使用(Ubuntu为例)



作者:@gzdaijie 本文为作者原创,转载请注明出处:

目录

1.写在前面
2.安装方法
2.1 安装samba
2.2 创建共享目录
2.3 修改samba配置文件
2.4 设置登录密码
2.5 启动samba服务器
2.6 测试是否共享成功
3.在windows上测试
3.1 打开windows文件管理器,输入\\ip地址或主机名\share
3.2 尽情享受samba带来的便利吧

博客逐步迁移至 呆兔兔的小站



1.写在前面

    当你在Windows上安装了一台Linux的虚拟机,你想访问Linux中的文件夹,将虚拟机中的文件复制到Windows主机上,你会怎么做呢?如果这台Linux主机不是虚拟机,而是一台远程主机呢?
    有没有一种方法,打开Linux虚拟机中的文件夹就像在本地一样,输入路径就可以?你可能会想到FTP,本文介绍一个更简单的方法——samba。
    接下来详细介绍如何在Linux上安装samba(以Ubuntu14.04为例)。



2.安装方法

2.1 安装samba

sudo apt-get install samba

2.2 创建共享目录

// 创建的目录即之后能够在Windows主机上直接访问的目录。
// 例如:在用户gzd的主目录下新建share文件夹为共享目录
mkdir /home/gzd/smbshare
// 由于Windows下的文件夹需可读可写可执行,需更改权限为777
sudo chmod 777 /home/gzd/smbshare

2.3 修改samba配置文件

// 修改 /etc/samba/smb.conf
sudo vim /etc/samba/smb.conf
// 在smb.conf文件最后加上以下内容

[share]
path = /home/gzd/smbshare
public = yes
writable = yes
valid users = gzd
create mask = 0644
force create mode = 0644
directory mask = 0755
force directory mode = 0755
available = yes

windows 挂载 samba为本地硬盘_用户名

关于smb.conf的几点解释:

(1) [share]表示共享文件夹的别名,之后将直接使用这个别名

(2) force create modeforce directory mode的设置是因为Windows下与Linux下文件和文件夹的默认权限不同造成的,Windows下新建的文件是可执行的,必须强制设定其文件权限。

(3) valid users 设置为你当前的Linux用户名,例如我的是gzd,因为第一次打开共享文件夹时,需要验证权限。

2.4 设置登录密码

// 新建/etc/samba/smbpasswd文件
sudo touch /etc/samba/smbpasswd
// 根据2.3设置的valid users,设置用户密码
// gzdaijie 替换为你在2.3中设置的用户名
sudo smbpasswd -a gzd
//输入两次密码后,会提示 Added user gzd. 表示设置成功
// 若用户名非当前登录系统的用户名,可能会提示Failed

2.5 启动samba服务器

sudo /etc/init.d/samba restart

2.6 测试是否共享成功

sudo apt-get install smbclient 
smbclient -L //localhost/share
//还记得吗?share为2.3中设置的共享文件夹的别名
//如果共享成功,将要求输入之前设置的密码



3.在windows上测试

3.1 打开windows文件管理器,输入\\ip地址或主机名\share

  • Linux的ip地址可通过ifconfig查看
  • 选择记住凭据,下次输入地址后无需登录
  • 第一次打开可能需要几秒时间,耐心一点

windows 挂载 samba为本地硬盘_linux_02

3.2 尽情享受samba带来的便利吧

  • 在windows下创建文件,到Linux下看看吧!
  • 在Linux的共享目录下创建文件,在windows下看看吧!