安装:
sudo apt-get install samba
sudo apt-get install smbfs
下面我们来共享群组可读写文件夹,假设你要共享的文件夹为:
/home/ray/share
首先创建这个文件夹
代码:
mkdir /home/ray/share
chmod 777 /home/ray/share
配置samba
备份并编辑
smb.conf
允许网络用户访问
代码:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo vim /etc/samba/smb.conf
搜寻这一行文字
代码:; security = user
用下面这几行取代代码:
security = user
username
map = /etc/samba/smbusers
如果你想让他人不输密码和用户登陆的话,可以直接将其设为
security = share 就行了,不用加“username map = /etc/samba/smbusers”
将下列几行新增到文件的最后面,
假设允许访问的用户为:newsfan。而文件夹的共享名为 Share代码:
[Share]
comment = Shared Folder with username and password
path = /home/ray/share #这个目录改为你要共享的目录
public = yes
writable = yes
valid users = newsfan #这个是你允许访问的用户名,如果你允许任何人不用帐户访问,可直接置空。
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes
然后顺便把这里改一下,找到[global]把 workgroup = MSHOME 改成代码:
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
后面的三行是为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成 cp936。自己看着办吧。
现在要添加newsfan这个网络访问帐户。
方式一、
如果系统中当前没有这个帐户,那么代码:
sudo useradd newsfan
要注意,上面只是增加了newsfan这个用户,却没有给用户赋予本机登录密码。
所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。
现在要新增网络使用者的帐号:
代码:
sudo smbpasswd -a newsfan
sudo gedit /etc/samba/smbusers
在这一部分会出现问题:
提示信息:
Failed to initialise SAM_ACCOUNT for user newsfan. Does this user exist in the UNIX password database ?
Failed to modify password entry for user newsfan
原因:
添加的用户newsfan必须是系统用户(系统->系统管理->用户和组->添加)
在新建立的文件/etc/samba/smbusers内加入下面这一行并保存代码:
newsfan = "network username"
等号左边是单独的Linux账号,等号右边是要映射的账号列表。
服务器逐行分析映射文件,如果提供的账号和某行有右侧列表中的账号匹配,就把它替换为等号左边的账号。
如果将来需要更改newsfan的网络访问密码,也用这个命令更改
代码:
sudo smbpasswd -a newsfan
删除网络使用者的帐号的命令把上面的 -a 改成 -x
代码:
sudo testparm
sudo /etc/init.d/samba restart
最后退出重新登录或者重新启动一下机器。
方式二、使用系统本身已有的账户登陆
sudo smbpasswd -a newsfan
newsfan是你系统本身的用户
然后设置一个密码,他人就通过这个密码登陆。