您的位置:首页 > 运维架构 > Linux

Linux点点滴滴之Samba安装与配置

2015-10-26 15:05 435 查看
(一) 从Windows访问Linux 

一、安装Samba服务 

1、检测本地是否安装Samba服务,从图中可以看出本机已经安装了samba服务。

 rpm –qa | grep samba 

 

2、如果没有安装,请放入第二张光盘,然后进行安装 

mount /media/cdrom/ 

cd /media/cdrom/RedHat/RPMS/ ls samb* 

rpm –ivh samba*.rpm 

二、配置共享型Samba服务器 

所谓共享型Samba服务器就是无需身份验证,类似匿名的FTP。 

1、备份samba配置文件,养成一个好习惯,配置任何服务的时候最好将原配置文件做一下备份 

cd  /etc/samba/ 

tar –cvf smb.tar *.* smb.conf ls 

 

2、创建共享目录及修改访问权限 

mkdir  -p  /home/share 

chmod 777 /home/share

 

3、编辑配置文件 vi /etc/samba/smb.conf,在文件底部复制[myshare]内容,然后修改如下

[myshare]

Comment = Linux share

Path = /home/share

Public = yes

Writable = yes

Printable = no

Create mask = 0765

[global]

security = share

   

4、启动samba服务 

  service smb start

5、查看本机Linux的IP地址 

ifconfig

6、打开Windows客户端搜索Linux 的 Ip地址
假如不能访问的话输入如下命令:

setsebool -P samba_enable_home_dirs on 

chcon -t samba_share_t /home/share

7、测试写入权限,新建一个写入成功啦!!!!!.txt 

三、配置用户型samba服务器 

所谓用户型samba服务器,就是用户登陆时提供身份验证,未经允许的用户是不能进行访问的。

1、还原smb配置文件,停止smb服务 

service smb stop

2、编辑smb.conf,设置安全级别为user级别 

  security = use

3、启用samba验证密码 

  encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

4、设置一个只允许user1访问的共享 

  [myshare]

Comment = Linux share

Path = /home/share

Valid users = user1

Public = no

Writable = yes

Printable = no

Create mask = 0765

5、添加系统用户 

  [root@localhost ~]# Useradd user1 

[root@localhost ~]# Useradd user2

6、添加samba用户 

  [root@localhost ~]# Smbpasswd -a user1

New SMB password:

Retype new SMB password:

Mismatch - password unchanged.

Unable to get new password.

[root@localhost ~]# Smbpasswd -a user2

New SMB password:

Retype new SMB password:

Mismatch - password unchanged.

Unable to get new password.

7、启动samba服务器 

  Service smb start

8、客户端搜索samba服务器,以user1身份登陆 

 

9、可以看到user1目录与myshare目录,并可以访问myshare目录 

 

10、删除刚才默认的链接(在Windows命令窗口) 

 

先使用命令net use 查看共享信息 

然后使用命令net use * /delete  (删除原来的共享信息)  

11、以user2身份登陆,无法访问myshare共享

(二) 从Linux访问Windows  

1、Windows共享ABC目录,并开启guest用户,如下图: 

 

开启guest用户是为了测试命令:

smbclient -L 192.168.1.10 (列出该服务器的所有共享目录) 

 

  

2、列出Windows服务器里的所有共享目录 

[root@localhost ~]# smbclient -L 192.168.1.10             //匿名查看该服务器的共享目录 Password: 

Domain=[CONCORD-E2I0W1S] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2] 

        Sharename       Type      Comment         ---------       ----      ------- 

 

3、查看Windows服务器的ABC目录里的文件 

[root@localhost ~]# smbclient //192.168.1.10/ABC -U administrator                 

 

//使用管理员的帐号访问Windows服务器共享文件 Password: 

Domain=[CONCORD-E2I0W1S] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2] 

smb: \> dir            

//查看ABC目录下的文件 

   .                           D        0  Sat Aug  6 15:33:13 2011 

   ..                     D        0  Sat Aug  6 15:33:13 2011 

 

 4、将Windows服务器的ABC共享目录挂载到\mnt目录下 

 [root@localhost ~]# mount -o username=administrator //192.168.1.10/ABC /mnt             //挂载共享目录ABC到/mnt Password: 

[root@localhost ~]# ls /mnt abc.txt  Windows Server.txt 

[root@localhost ~]# cd /mnt 

[root@localhost mnt]# mkdir Linux              

//现在已经可以直接对共享目录ABC进行直接操作   

 

 

其它备注: 

 

[global]代码: 

workgroup = WORKGROUP 

display charset = UTF-8 

unix charset = UTF-8 

dos charset = cp936 

 

后面的三行是为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成 cp936。  

 

用mount挂载windows的共享目录到本地磁盘 

首先要在Linux系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind 同样在保证网络连接正常,且windows中有共享目录的前提下,进行一下操作 

 

 

以windows的ip为192.168.0.1,共享文件夹为share为例 命令如下: 

mount -t smbfs –o username=XXXX,password=XXXX //192.168.0.1/share /mnt/wind 

有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题 

 

mount -t smbfs -o   iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=XXXX,password=XXXX //192.168.0.1/share /mnt/wind 

注解:usename和password都为smb的用户和密码,如果要详细了解mount命令,使用man mount在终端查看详细用法 

提示:要访问windows中有特殊密码的文件夹,可以在samba中新建一个与windows登录相同名相同密码的用户,然后mount即可

例: useradd administrator //不要让其有登录Linux的权限 smbpasswd -a administrator 

然后提示输入密码:输入windows访问的密码即可  

 

使用smbclient 命令 命令如下: 

smbclient //192.168.0.1/share -U XXXX 

password:输入smb用户XXXX的密码 

回车就可以用,用命令get下载文件,用put上传文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux samba