分页: 1 / 8

[原创]在Ubuntu中设置samba共享可读写文件夹[菜鸟写给菜鸟]

发表于 : 2006-07-29 23:37
Ray
首先当然是要安装samba了,呵呵:

代码: 全选

sudo apt-get install samba
sudo apt-get install smbfs
下面我们来共享群组可读写文件夹,假设你要共享的文件夹为: /home/ray/share

首先创建这个文件夹

代码: 全选

mkdir /home/ray/share
chmod 777 /home/ray/share
备份并编辑smb.conf允许网络用户访问

代码: 全选

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf
搜寻这一行文字

代码: 全选

; security = user
用下面这几行取代

代码: 全选

security = user
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
在新建立的文件内加入下面这一行并保存

代码: 全选

newsfan = "network username"
如果将来需要更改newsfan的网络访问密码,也用这个命令更改

代码: 全选

sudo smbpasswd -a newsfan
删除网络使用者的帐号的命令把上面的 -a 改成 -x

代码: 全选

sudo testparm
sudo /etc/init.d/samba restart
最后退出重新登录或者重新启动一下机器。

发表于 : 2006-09-03 21:14
linuxoser
我来帮你顶一下,现在就是不知道为什么smbmount以后中文是乱码,坛子里的方法都试过了。以前用fc5的时候还没有问题呢!头大中!

发表于 : 2006-09-12 15:54
firehare
应该是编码问题吧!

发表于 : 2006-09-13 21:20
Ray
linuxoser 写了:我来帮你顶一下,现在就是不知道为什么smbmount以后中文是乱码,坛子里的方法都试过了。以前用fc5的时候还没有问题呢!头大中!
我比较懒,都是在图形界面下直接浏览过去的。所以没有乱码问题。

发表于 : 2006-09-18 21:25
jl_chang
一个问题,从网络上的win计算机拷贝文件到Linux的共享文件夹内,然后在Linux机器上查看,提示说没有权限且无法更改,上面的说明应该是漏掉了某些东西

发表于 : 2006-09-18 22:07
jl_chang
搞定:将[Share] 中的“
force user = nobody
force group = nogroup ”

更改为:
force user = A [A为本机你所登录的用户名]
force group = B [B为用户名A对应的用户组]

这样从Win机器拷贝而来的文件会被强制认为是本机用户自己的文件,避免操作过程中的权限问题

发表于 : 2006-09-20 1:13
alexxue_1978
如下引用:
“搞定:将[Share] 中的“
force user = nobody
force group = nogroup ”

更改为:
force user = A [A为本机你所登录的用户名]
force group = B [B为用户名A对应的用户组]”



如果 不更改配置文件,也可以直接sudo 更改权限
另: 更改后也别忘了 重新启动那台windows和samba。我在更改后就忽略了,害的自己,瞎忙了半天:)

发表于 : 2006-10-13 15:54
zhengb66
smbmount以后中文乱码可以解决用下面的命令参数
sudo mount -t smbfs -o unicode,codepage=unicode,iocharset=utf8,uid=dubuntu,username=knoppix,password=knoppix //192.168.0.1/knoppix /mnt/knoppix

但我自从转到ubuntu后,挂载后的网络目录,很容易挂,挂了后一点办法也没有,umount也没有,只有重启,或等待。

郁闷呀!

并且如果在gnome下用的nautilus浏览,会引起gnome桌面死机,kde下的konqueror问题不大,只是挂载后的目录不能使用而已,这也是我放弃ubuntu转kubuntu的一个原因,大家有好的办法挂载共享目录吗?

发表于 : 2006-10-14 22:57
baidu
这帖子一定要顶。我就是喜欢这样的文章,我是菜鸟!

发表于 : 2006-10-18 15:26
jnwysh
学习,应用,收藏

发表于 : 2006-10-28 13:04
yeahsoso
mark , 学习 :roll:

发表于 : 2006-11-08 18:11
zshmail
这几天正被SAMBA搞得焦头烂额,LZ果然讲得浅显易懂,谢谢

发表于 : 2006-11-08 18:20
Ray
不客气,菜鸟们要互相帮忙。我也在向大家学习中……

发表于 : 2006-11-09 22:02
moonchild
弱问一下

那其他人访问这台linux时需要用户名(newsfan)吧,那密码呢??

发表于 : 2006-11-09 22:25
Ray
moonchild 写了:弱问一下

那其他人访问这台linux时需要用户名(newsfan)吧,那密码呢??
远程访问共享内容的时候密码是你在执行了下面这个命令后输入的密码

代码: 全选

sudo smbpasswd -a newsfan