一、linux挂载win上samba共享

这里假设我们要共享的win磁盘为192.168.0.100/other

1、安装samba

sudo apt-get install samba

2、建立共享目录

mkdir ~/win

3、获取当前登录user的gid,uid

id ceremony

4、进行挂载

sudo mount -t cifs //192.168.0.100/other ~/win -o username=“用户名,不需要加引号”,password="直接的密码,不需要加引号",gid=1000,uid=1000,port=445

其实这里可以简化:

sudo mount -t cifs //192.168.0.100/other ~/win -o username=“用户名,不需要加引号”,password="直接的密码,不需要加引号"

sudo mount -t cifs //192.168.0.100/other ~/win -o username=“用户名,不需要加引号”,password="直接的密码,不需要加引号",如果在挂载的时候不加uid和gid的话,在进行挂载的时候,挂载之后的用户权限是root身份,因此,建议在就那些挂载的时候还是进行uid和gid的指定,使其挂载成普通用户,这样后面的一些操作将会方便很多。

出现问题:

samba 共享文件 linux 挂载后 无法编辑 linux挂载samba共享为本地硬盘_用户名


在挂载时,可能会出现如上问题,这时我们需要核对自己的用户名以及密码:如果确定没有问题,还是不行,我们可以试着将用户名后面的“”去掉,然后从新进行尝试,可以看到此时已经成功了。

samba 共享文件 linux 挂载后 无法编辑 linux挂载samba共享为本地硬盘_用户名_02

5、查看挂载

df -h

可以看到已经挂载成功了!

samba 共享文件 linux 挂载后 无法编辑 linux挂载samba共享为本地硬盘_samba_03

6、卸载挂载

sudo umount  ~/win  #这里可以直接取消挂载的挂载点,也可以直接取消挂载的文件系统。

二、linux开启sama并在win上访问

1、安装samba服务器

sudo apt-get install samba samba-common

2、为samba用户添加密码

sudo smbpasswd -a ceremony

3、创建共享目录

创建共享目录,并修改权限为777

4、配置samba

打开:sudo vi /etc/samba/smb.conf
在最后面添加如下:

[sam_share]
        path = /home/ceremony/sam_share
        create mask = 0700
        directory mask = 0700
        available = yes
        #vailable用来指定该共享资源是否可用
        browsable = yes
        #browseable用来指定该共享是否可以浏览
        public    = yes
        #public用来指定该共享是否允许guest账户访问
        writable  = yes
        #writable用来指定该共享路径是否可写
        valid users = ceremony
        #设置为只允许ceremony用户访问
        force user = ceremony
        #设置权限ceremony可修改

5、重启samba

sudo service smbd restart

6、连接测试

在win上输入\ip地址,然后输入用户名和密码即可进入共享文件夹

samba 共享文件 linux 挂载后 无法编辑 linux挂载samba共享为本地硬盘_samba_04

7、常见错误

错误1:

samba 共享文件 linux 挂载后 无法编辑 linux挂载samba共享为本地硬盘_ci_05

原因分析:之前用该用户登录过,但是系统没有释放连接

解决方法:

1、打开cmd命令窗口:

  net use * /del /y 断开所有连接.

2、重新登录 即可。


错误2

samba 共享文件 linux 挂载后 无法编辑 linux挂载samba共享为本地硬盘_用户名_06

这个问题纠结了很久,最后发现是自己共享路径写错了,晕死:

samba 共享文件 linux 挂载后 无法编辑 linux挂载samba共享为本地硬盘_用户名_07


这里配置的时候,路径一定要写正确。

8、查看samba服务器中已拥有哪些用户:

pdbedit -L

9、linux挂载samba

一、安装cifs-utifs

sudo apt-get install cifs-utils

二、列举指定IP地址所提供的共享文件夹列表

smbclient -L ${ip_addr} -U ${username}%${password}

三、挂载共享文件夹

mount -t cifs ${remount_share_folder}  ${local_mount_folder} -o username=${username},password=${password}
eg. mount -t cifs //192.168.1.1/share /mnt/share -o username=root,password=123456