windows visit ubuntu:
Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务。Linux用户通过配置使用Samba服务器可以实现与Windows用户的资源共享。以下操作是在Ubuntu16.04 64位系统环境中进行。
1、开始需要我们做的是先在我们的ubuntu下安装好samba:
安装samba:sudo apt-get install samba
安装smbclient:sudo apt-get install smbclient
2、修改配置文件
vi /etc/samba/smb.conf 编辑smb.conf 文件
在配置文件的最末尾加上:
[share]
comment = Shared Folder require password
path = /home/share
public = yes
writable = yes
valid users = share
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup
available = yes
browseable = yes
保存后重新启动samba:
sudo service smbd restart
3、设置用户和密码
sudo smbpasswd -a share 接着俺提示输入密码。(前提是添加了此用户:useradd share)
否则系统在没有此用户的前提下按默认操作是会报如下错的:
增加samba用户提示Failed to add entry for user
root@tyc-virtual-machine:/home# smbpasswd -a share
New SMB password:
Retype new SMB password:
Failed to add entry for user share.
解决办法:
这是因为没有加相应的系统账号,所以会提示Failed to add entry for user的错误,只需增加相应的系统账号share就可以了:
root@tyc-virtual-machine:/home# groupadd share -g 6000
[root@tyc-virtual-machine:/home# useradd share -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
4、最后双击计算机->在我的电脑下空白地方右键添加一个网络位置
输入 文件夹框 \ip地址,按提示输入用户名密码即可。
附加:
为了增加系统的安全性,该文件夹只想给share用户有读写权限即可!
[root@ubuntu ~]# chown -R share /home/share/
若不想让另人访问,只让share用户可以访问,只需执行命令:
[root@ubuntu ~]# chmod u+rwx,g+rwx,o-rwx /home/share
这里其实可以直接设定(不用附加的内容):
[root@ubuntu ~]# chown -R share:share /home/share/
[root@ubuntu ~]# chmod 777 /home/share -R
Ubuntu访问Windows文件夹的方法:
方法一:
1 在Window下,创建一共享文件夹,并设置“共享”属性,点击右键,选择共享,在弹出的菜单中,选择共享的用户,当然也可以选择everyone。
2 在Ubuntu计算机上打开"主文件夹“,然后选择网络下的”连接到服务器“
在弹出的菜单中,在服务器地址中输入”smb://windows ip“例如我的Windows IP是192.168.1.100.
然后点击”链接“。
方法二:
1 Windows共享文件夹使用的协议是SMB/CIFS。因而可以使用Linux下的smbclient在命令行中进行操作。首先安装依赖的包,使用mount.cifs需要cifs-utils软件包(以及cifs-utils依赖的软件包)
sudo apt install cifs-utils
2 挂载命令
sudo mount.cifs //[address]/[folder] [mount point] -o user=[username],passwd=[pw]
sudo mount -t cifs //[address]/[folder] [mount point] -o user=[username],passwd=[pw]
sudo mount.cifs //[address]/[folder] [mount point] -o user=[username],passwd=[pw],uid=[UID]
sudo mount.cifs //[address]/[folder] [mount point] -o domain=[domain_name],user=[username],passwd=[pw],uid=[UID]
Address是windows的IP地址,folder是windows下的共享目录,mount是ubuntu下对应windows的空目录,username 是window下的设置folder共享时的用户,如果该用户使用域管理(如企业或组织用户),需要设置domain;pw是对应用户的密码;UID是解决文件属性的,如果没有设置UID,默认是在root下进行,查看某个用户的UID的方法是:id -u [username]
3 实验:
1)我的ubuntu
2)我的windows
3)
---------------------
在Linux下访问Windows共享文件夹
使用 mount.cifs
Windows共享文件夹使用的协议是SMB/CIFS。因而可以使用Linux下的smbclient在命令行中进行操作。
如果想更方便地在图形桌面环境使用,则可以使用mount.cifs指令,将共享文件夹挂载到指定位置,然后就可以像访问一个本地文件夹一样访问了。
首先安装依赖的包
使用mount.cifs需要cifs-utils软件包(以及cifs-utils依赖的软件包)。
$ sudo apt install cifs-utils
(插一句嘴:现在apt安装可以直接使用apt而不用apt-get了)
挂载共享文件夹
可以使用如下两种指令(效果是一样的)
sudo mount.cifs //[address]/[folder] [mount point] -o user=[username],passwd=[pw]
或者
sudo mount -t cifs //[address]/[folder] [mount point] -o user=[username],passwd=[pw]
其中共享文件夹的地址是Windows主机的地址加上文件夹名称,这个可以在Windows主机上看到。例如//192.168.0.100/share
挂载点是Linux本地的一个空文件夹。
后面的选项指定了用户名和密码。
例子:
mount -t cifs -o user="ipphadmin",password="&UJM8ik,(OL>",iocharset=utf8,codepage=cp936 //192.168.204.130/sync /mnt/MYSHARE
smbclient -L //192.168.204.130/sync -U ipphadmin