用RedHat下的Linux:SAMBA 安装架设SAMBA服务器,实现linux和windows资源共享,要求如下: 1、创建一个/homes共享,为当前登录用户提供文件共享,且可以读写; 2、创建一个/share共享,为所有用户提供共享,并允许用户不用账号密码访问,且可读可写; 3、创建一... 用RedHat下的Linux:SAMBA 安装架设SAMBA服务器,实现linux和windows资源共享,要求如下: 1、创建一个/homes共享,为当前登录用户提供文件共享,且可以读写; 2、创建一个/share共享,为所有用户提供共享,并允许用户不用账号密码访问,且可读可写; 3、创建一个/group目录,允许linuxgroup组(包括成员zhangsan)中用户向目录写入,其他用户只能访问但不可以写入。
你要共享的文件夹为: /homes
首先创建这个文件夹
mkdir /homes/
chmod 777 /homes
备份并编辑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
将下列几行新增到文件的Z后面,假设允许访问的用户为:newsfan。而文件夹的共享名为 Share
[Share]
comment = Shared Folder with username and password
path = /homes
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
如果还是不行查看Iptables(防火墙是否开启),如果开启可以先将服务停止。
Z后退出重新登录或者重新启动一下机器。
配置文件 /etc/samba/
//设置samba密码文件
# cat /etc/passwd|mksmbpasswd.sh > /etc/samba/smbpasswd
//为安全起见,设置文件和目录的权限
# chown root.root /etc/samba/smbpasswd
# chmod 500 /etc/samba
# chmod 600 /etc/samba/smbpasswd
//为用户设置口令
#smbpasswd root
//检查配置文件的正确性
# testparm
//检查服务器所共享的资源
# smbclient –L localhost
//列出资源使用情况
# smbstatus [-b]
//配置文件
节:
l [Global] 定义全局参数和缺省值
l [Homes] 定义用户的Home目录共享
l [Printers] 定义打印机共享
l [Userdefined_ShareName] 用户自定义共享(可有多个)
变量:
l %S 当前服务名
l %P 当前服务的根路径
l %u 当前服务的用户名
l %g 给定%u的所在工作组名
l %H 给定%u的宿主目录
l %v Samba版本号
l %h 运行服务的主机名
l %m 客户机的NETBIOS名
l %L 服务器的NetBIOS名
l %L 当前的日期和时间
//使用符号链接组织本地共享资源
# vi /etc/samba/smb.conf
[Resource]
comment = Local Resource
path = /var/samba/resource
public = yes
writeable = yes
// -p parent(no error if existing, make parent directories as needed)
# mkdir –p /var/samba/resource
#cd /var/samba/resource
//-s, --symbolic
# ln –s /usr/share/doc doc
//为所有用户配置只读共享和读写共享
# vi /etc/samba/smb.conf
[tmp]
comment = Temporary file space
path = /tem
read only = no
public = yes
[cdrom]
comment = CDROM
path = /mnt/cdrom
read only = yes
public = yes
//为指定用户或组配置共享
# useradd samba
# passwd samba
# mkdir /var/samba/samba
//更改目录属主
# chown samba.samba /var/samba/samba
# vi smb.conf
[sambadir]
comment = Samba's service
path = /var/samba/samba
valid users = samba
public = no
writable = yes
//保存修改
//Linux环境下访问Samba共享
# cat /etc/samba/lmhosts
# smbclient –L IP –U 用户名
# smbmount //win/tools /mnt/smb/win