【转载】linux上的samba安装及配置
刚开始学习samba,感谢原作者。
在Ubuntu中设置samba共享可读写文件夹 收藏
首先当然是要安装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
最后退出重新登录或者重新启动一下机器。
本文来自****博客,转载请标明出处:http://blog.****.net/joliny/archive/2008/07/13/2646420.aspx
另外还有两篇备用的:
第一篇:
以root 根用户进行操作,如果您不是,请在每条命令前加上sudo
步骤
1:
安装
samba
#apt-get install samba
#apt-get install smbfs
步骤
2:
添加
linux
用户
#useradd user1
//
添加用户名
user1
#passwd user1 //
给用户名
user1
添加密码
#mkdir /home/user1 //
建立
user1
的
home
目录,如果不用这个用户名来登陆
linux
,此步骤不是必需
#chown -R user1:user1 /home/user1
//
给
user1
的
home
目录设置好权限
步骤
3
:给
samba
服务器添加用户
说明:登陆
samba
的用户必须已经是
linux
中的用户
#smbpasswd -a user1 //
添加并给
user1
设置
samba
密码
步骤
4
:
smb.conf
设置
#cd /etc/samb //
进入设置目录
#mv smb.conf
smb.conf.bak //
做好备份,直接将系统默认配置文件改名
#vim smb.conf //
建立和配置
smb.conf
文件
[global]
workgroup=x1 //X1
为你局域网中的工作组名
server string=x2 //x2
为你
linux
主机描述性文字,比如:
samba server
。
security=user //samba
的安全等级,
user
代表需要输入用户名和密码,改成
share
则不需要输入用户名和密码
[x3] //
方框号中的
x3
这个名字可以随便取,只是在
win
的网上邻居中显示的共享文件夹名
path=/home/x4 //x4
为你要共享的文件夹名,在共享前还要建立这个文件夹,并设好权限以便访问,下面会说明。
valid users=user1 //
这个
x4
共享目录只允许
user1
这个用户进入
public=no
//no
表示除了
user1
这个用户,其它用户在进入
samba
服务器后看不见
x4
这个目录,如果为
yes
,虽然能看见
x4
这个目录,但除了
user1
这个用户能进入这个目录,其它人进不了。
writable=yes
//
允许
user1
在
x4
目录中进行读和写操作,反之
no
//
存盘退出
#testparm //
检查一下语法错误,比如拼错
步骤
5
:建立共享目录
#mkdir /home/x4
#chown -R user1:user1 /home/x4 //
因为是
root
建立的目录,其它用户只有读的权限,所还得把权限改一下。当然也可以简单的用
#chmod 777 /home/x4
。还有个问题就是共享里目录的文件如果有些能访问有些不能访问,那肯定也是权限的问题
,
进入
/home/x4,
直接
#chmod 777 *
来解决。
步骤
6
:重启
samba
服务
#/etc/init.d/samba restart
设置
samba
服务要注意以下两点(即两个两次):
1.
添加两次用户:一次添加系统用户
#useradd user1
;再一次是添加
samba
用户
#smbpasswd -a user1;
2.
设置两次权限:一次是在
smb.conf
中设置共享文件夹的权限:再一次是在系统中设置共享文件夹的权限
#chmod 777
文件夹名。
按照楼主的做法设置
,
用
WINDOWS
登陆到
samba
的时候报错
,
显示如
\\10.x.x.x
无法访问
,
你可能没有权限使用网络资源
....
这样的错误
.
请问这是怎么回师
?
如果设置
passdb backend = tdbsam
则可以访问
passdb backend = tdbsam
用
tdbsam
的时候,密码文件是放在
/var/lib/samba/passdb.tdb
而没有这句,当然也就找不到
SMB
用户和密码,即提示没用权限了。
第二篇:
#rpm -q samba //查看SAMBA是否安装,如未安装,则执行下列安装
#rpm -ivh samba-3.0.25b-0.4E.6.i386.rpm
#vi /etc/services //查看以netbios开头的是否可用,必须要全部可用
//linux防火墙要关闭
#ls /etc/samba //无smbpasswd文件
#smbpasswd -a tom //创建tom用户
#ls /var/log/samba //smb服务器的日志文件
#vi /etc/samba/smb.conf //编辑smb服务器的主配置文件
Workgroup = WORKGROUP //windows工作组名
server string = samba server //samba服务器简要说明
hosts allow = 192.168.1. 192.168.0. 127. //设置允许访问的子网,默认都允许,可不设置
hosts allwo = client1,alarm.com,192.168.16. EXCEPT 192.168.16.4 //举例说明
security = user //设置安全级,默认为user。五个级别分别为"share,user,server,domain,ads"
interfaces = eth0 //多网卡SAMBA服务器设置监听的网卡
interfaces = 192.168.16.177/24 //举例说明
wins support = yes //设置将samba服务器作为wins服务器,默认不使用
//wins服务器由微软开发,功能是将NetBIOS名称转换为对应的ip地址
username map = /etc/samba/smbusers //去掉前面的;号,用于用户映射
然后编辑文件/etc/samba/smbusers,将需要映射的用户添加进去,格式为
单独的linux用户 = 要映射的windows用户列表
例: test = alarm back //test用户对应windows下的alarm和back两个用户
encrypt password = yes 或 no //yes表示采用加密方式发送密码,no为不采用
若此项为no,则windows系统必须响应的修改注册表项,注册表文件存放在/usr/share/doc/samba-2.2.7a/docs/Registry下
[homes] //设置共享目录
comment = Home Directories //简要说明
browseable = no //是否允许用户浏览所有人的主目录
writable = yes //是否允许用户写入自己的主目录
[share] //设置一个共享目录
comment = Samba's share Directory //简要说明
read list = test //只读用户或组
write list = @share //可写用户或组
path = /home/share //共享文件夹目录路径
//设置共享目录后需要做以下操作
1.root登录,使用命令groupadd share 建立share组,并用usermod -g share abc命令将abc用户添加到share组
2.mkdir /home/share在/home下建立目录share
3.chown :share /home/share设置share目录所属组为share组,chmod 777 /home/share 设置share组对该目录有最大权限
:wq //保存退出
#testparm //测试smb.conf文件是否有语法错误
#su - //切换root用户
#service smb start restart stop //启动 重启 停止samba服务器
#ntsysv //设置samba服务器开机启动