最小代安装freebsd后,设置好网络环境 1.新建game文件夹 mkdir /usr/game cd /usr/game --进入game目录 2.下载samba源代码 ftp 192.168.0.200 --登陆FTP bin --转换二进制模式 get samba-3.0.23d.tar.gz --使用get命令下载文件 exit 3.解压并安装samba tar zxvf samba-3.0.23d.tar.gz cd samba-3.0.23d cd source ./configure --prefix=/usr/local/samba 默认安装目录 make make install cd .. cd examples cp smb.conf.default /usr/local/samba/lib/smb.conf --复制配置文件到samba主文件夹 4.在系统内添加两个测试帐号,接着将他们加入到samba帐号里面并设置samba帐号 (重点) adduser --添加系统账号 jerry , administrator Username:jerry --更新游戏账号 Enter password: Enter password again: adduser Username:administrator --客户机账号 Enter password: Enter password again: 将 jerry , administrator 加入到samba帐号里面并设置samba帐号 usr/local/samba/bin/smbpasswd -a jerry New SMB password: -- 一定要和系统密码相同 Retype new SMB password: usr/local/samba/bin/smbpasswd -a administrator New SMB password: -- 一定要和系统密码相同 Retype new SMB password: 5.配置samba.conf文件 #=Global Settings = [global] # workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH workgroup = workgroup # server string is the equivalent of the NT Description field server string = Samba Server # Security mode. Defines in which mode Samba will operate. Possible # values are share, user, server, domain and ads. Most people will want # user level security. See the Samba-HOWTO-Collection for details. security = user #=Share Definitions = [game] path = /usr/game ;游戏目录(客户机,使用administrator,只读权限) valid user = administrator ;只允许administrator访问, browseable = no ;不显示共享目录 [up] comment = up ;共享名称,必须加,不然会找不到目录(游戏更新专用,jerry,可读/写权限) path = /usr/game ;游戏更新目录 write list = jerry ;只允许jerry修改 invalid users = administrator ;禁止administrator访问 browseable = no ;不显示共享目录 6.建立一个启动脚本让系统启动的时候让samba服务也一起启动 ee /etc/rc.d/samba.sh /usr/local/samba/sbin/smbd start & /usr/local/samba/sbin/nmbd start & 保存退出 7.设置/usr/game文件夹权限 chmod 777 /usr/game (重要,不然无法写入文件) 修改 security = share 在后面加的 [code] path = /var/www public = yes only guest = yes writable = yes printable = no 一般就ok可以使用 ubutu 配置
sudo apt-get install samba
sudo apt-get install smbfs
下面我们来共享群组可读写文件夹,假设你要共享的文件夹为: /home/ray/share
代码:
mkdir /home/ray/share
chmod 777 /home/ray/share
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
配置详解: [global] ………… #采用前面的[global]配置 [homes] #用来配置用户访问自己的目录 comment = Home Directories #注释 browseable = no #用户私人目录,不给别人浏览(并不是不允许别人访问) writable = yes #允许用户写入自己的目录 valid users = %S #可访问的用户局限于用户自己。%s会被自动转换为登录帐号。 create mode = 0664 #文件的访问权限 directory mode = 0775 #目录的访问权限 # This one is useful for people to share files [tmp] #这个部分为所有用户提供临时共享的方式 comment = Temporary file space #注释文字 path = /tmp #指定位置 read only = no #可以读写 public = yes #允许用户不用帐号和密码访问 [public] # 这个部分为所有用户提供可以共同访问的目录。允许staff组用户写入,但其他用户只可访问,不能写入。 comment = Public Stuff path = /home/samba public = yes writable = yes printable = no write list = @staff # write list参数是用来设置具有写权限的用户列表。这里只允许staff组的成员有写的权限 [fredsdir] #这个部分用来设置某一用户fred的访问权限。 comment = Fred’s Service path = /usr/fred/private valid users = fred #只有fred可以访问(注意:即使security=share,也不代表用户登录Linux 主机后可以访问任意资源。)该共享目录 public = no writable = yes printable = no |