Linux系统怎么搭建Samba共享服务器
方法/步骤
1
需要检查linux是否已安装samba;
检查命令为:rpm –qa |grep samba;
如果没有输出什么信息,表明没有安装,需要到百度下载安装,下载如下:
2
以下可以看到我的linux系统有安装samba,可以进行下一步;
建立共享文件夹,命令如下:
Mkdir /home/fileshare;
如下图:
如下图,已建立好文件夹;
设置好文件夹权限,命令如下:
Chmod 755 fileshare;
建立samba用户;
Groupadd fileshare
Useradd –s /sbin/nologin file
Smbpasswd –a file
注意:访问共享的用户必须为samba用户,不能使用其他用户;
修改sambe配置文件;命令如下:
Vim /etc/samba/smbconf;
修改samba配置文件全局设置;
#==============================Global settings===============
[global] workgroup = WORKGROUP server string = Samba Server security = share
设置文件夹共享,如下:
[sharefile] path = /home/sharefile public = yes read only = yes
重启smb服务;
Service smb restart;
Windows 访问共享成功。如下:
linux共享服务器完美架设,下次会继续和大家分享linux其他经验。
在Linux系统中访问Samba服务器中的共享目录需要使用smbclient命令,当然首先得在对应Linux系统主机中安装Samba服务的客户端软件--smbclient。使用smbclient -L命令(有关smbclient命令的详细选项可通过smbclient -help命令查看)可以查看指定Samba服务器上的所有共享目录。如要浏览本示例中Sambaserver上的共享目录,可以在终端提示符下输入以下命令:
smbclient -L Sambaserver
在出现提示输入密码时,直接按Enter键(因为此处是匿名访问),结果会显示指定Samba服务器上当前全部的共享目录,
使用共享目录的命令格式为:smbclient //IP地址或主机名/共享目录名 -U用户名。
因为此处是匿名访问,所以无须加上"-U"选项来指定访问的用户名。如在此要匿名访问Sambaserver上的doc目录,则可以在终端提示符下输入以下命令:
smbclient //Sambaserver/doc
在出现输入密码的password提示符时,直接按Enter键,即进入到远程使用服务器上指定资源的提示符smb:\>,与FTP客户端相似,这时可以使用如cd、cat、get等命令对共享目录和文件进行操作了。注意,这个命令不仅可以访问Samba服务器上的共享资源,还可以访问网络中Windows主机上的共享资源。
在Linux平台,以二进制程序包和源代码两种方式安装samba服务器,并整理相关配置文件,并给出基本应用操作。步骤:1机器上已经存在的samba服务,版本为3021b,这是通过使用rpm命令得到的。如下:# rpm –qa | grep sambaSamba-client-3021b-2Samba-common-3021b-22将上面的samba-client-3021b-2卸载。使用命令:rpm –e samba-client-3021b-2。3用rpm –e samba-common-3021b-2来卸载common,因为依赖关系,不成功。4下载二进制程序包:samba-common-3023c-4i386rpm,samba-client-3023c-4i386rpm,samba-doc-3023c-4i386rpm,samba -3023c-4i386rpm。5安装这些程序包。分别使用命令:rpm –Uvh samba-common-3023c-4i386rpmrpm –ivh samba-client-3023c-4i386rpmrpm –ivh samba-3023c-4i386rpmrpm –ivh samba-doc-3023c-4i386rpm使用选项Uvh来安装common是因为原来的common没有被卸载,因此应进行升级安装(U)。6安装完毕后,可以使用rpm –qa samba来确认。会输出samba-3024c-4。7下面开始对samba服务进行配置。8首先,修改/etc/samba/lmhosts文件。加入一行,为本机上的Windows系统IP地址和主机名。这样才可以通过Windows来访问Unix的samba服务。9创建目录/export/sambadir作为共享目录。命令:mkdir –p /export/sambadirchmod 777 /export/sambadir10修改/etc/samba/smbconf文件。这是samba的配置文件。Security = userLog file = /var/log/samba/log%mPath = /export/sambadir11使用testparam来测试修改结果。12加入一个用户,并修改其密码。13使用chkconfig命令来设置在启动级别5中启动samba。命令如下:Chkconfig –list | grep smbChkconfig –level 5 smb onChkconfig –list | grep smb14重新启动网络服务:/etc/rcd/initd/cups stop/etc/rcd/initd/smb restart15然后就可以在Windows系统中通过12步中设定的用户名和密码来访问Linux。16使用源代码的安装方式:下载samba-3023ctargz源代码包,解压。Cd samba-3023c/source/autogensh/configure –prefix=/usr –localstatedir=/var –with-configdir=/etc/samba –with-privatedir=/etc/samba –with-fhs –with-quotas –with-smbmount –enable-cups –with-pam_smbpass –with-syslog –with-utmp –with-swatdir=/usr/share/swat –with-shared-modules=idmap_rid –with-libsmbclientMakeMake install17其余步骤与7之后相同。这是我实验时写的,平台是redhat 9
一搭建基本共享文件,匿名访问:
1备份smbconf文件,出现问题好恢复:
[root@epro samba]# cp -p smbconf smbconfbak
2编辑smbconf文件
[root@epro samba]# gedit smbconf
在---------Standalone Server Options----------这条语句下面
修改:
security = share
passdb backend = tdbsam
默认是没有/etc/samba/smbpasswd文件,在Standalone Server Options加上下面这句就有了:
smb passwd file = /etc/samba/smbpasswd
默认的security = user(需要系统账户访问) 改为security = share (可以使用匿名访问)
在----------Share Definitions---------- 这条语句下面
添加:
[share]
comment = share of test
public = yes
path = /mnt/abc
writable = yes
printable = no
解释:
[share] ——服务器共享文档名称
comment = share ——服务器说明
path = /mnt/abc ——共享文档的路径
publice = yes ——允许匿名访问
writable = yes ——允许写入(前提是目录本身有其他用户写入的权限)
printable = no —— 并非打印机
3建立共享文件夹
[root@epro ~]# mkdir /mnt/abc //创建文件夹abc
[root@epro ~]# cd /mnt
[root@epro mnt]# chmod 1777 abc //修改abc文件夹的权限为777,设置冒险位为1
设置冒险位作用:目的是用户a在共享目录里面写入文件,那么用户b登陆看到之后只能读取却不能删除,起到了防止用户误删除其他用户的文件
4重新启动samba服务
[root@epro abc]# service smb restart
[root@epro abc]#chkconfig --level 3 smb on //运行级别3自动加载
也可以用ntsysv,图形化设置自动运行
5用windows去访问SAMBA共享文件:
\\192168014\share
以上为个人实验后写下的笔记,都是纯手工输入的。。。。
1、远程登录账户是要特殊权限的。一般是加入 ssh 组才可以远程 ssh 登录,很多安全都是通过用户组管理的。另外,samba 的用户有两种,一种是系统用户,另一个种是 samba 自己管理的用户,第二种用户和系统无关,只有 samba 里面才有效。
2、看设置。如果为了安全,那我觉得你应该 sftp 严格限制可登录的用户 id 。除了 sftp ,其他的服务都不应该允许外网访问,也就是用防火墙限制外网的链接。而且 sftp 的用户禁止读取关键数据,并且禁止提权或者其他的方式保证系统安全。
其实要我说,最安全的办法应该是选择证书认证的 *** 方式连入后才能连服务器。这样本身 *** 的安全就很高,而且证书方式链接的 *** 。至少可以增加一层入侵难度。
在Linux平台,以二进制程序包和源代码两种方式安装samba服务器,并整理相关配置文件,并给出基本应用操作。
步骤:
1机器上已经存在的samba服务,版本为3021b,这是通过使用rpm命令得到的。如下:
# rpm –qa | grep samba
Samba-client-3021b-2
Samba-common-3021b-2
2将上面的samba-client-3021b-2卸载。使用命令:rpm –e samba-client-3021b-2。
3用rpm –e samba-common-3021b-2来卸载common,因为依赖关系,不成功。
4下载二进制程序包:
samba-common-3023c-4i386rpm,
samba-client-3023c-4i386rpm,
samba-doc-3023c-4i386rpm,
samba -3023c-4i386rpm。
5安装这些程序包。分别使用命令:
rpm –Uvh samba-common-3023c-4i386rpm
rpm –ivh samba-client-3023c-4i386rpm
rpm –ivh samba-3023c-4i386rpm
rpm –ivh samba-doc-3023c-4i386rpm
使用选项Uvh来安装common是因为原来的common没有被卸载,因此应进行升级安装(U)。
6安装完毕后,可以使用rpm –qa samba来确认。会输出samba-3024c-4。
7下面开始对samba服务进行配置。
8首先,修改/etc/samba/lmhosts文件。加入一行,为本机上的Windows系统IP地址和主机名。这样才可以通过Windows来访问Unix的samba服务。
9创建目录/export/sambadir作为共享目录。
命令:mkdir –p /export/sambadir
chmod 777 /export/sambadir
10修改/etc/samba/smbconf文件。这是samba的配置文件。
Security = user
Log file = /var/log/samba/log%m
Path = /export/sambadir
11使用testparam来测试修改结果。
12加入一个用户,并修改其密码。
13使用chkconfig命令来设置在启动级别5中启动samba。命令如下:
Chkconfig –list | grep smb
Chkconfig –level 5 smb on
Chkconfig –list | grep smb
14重新启动网络服务:
/etc/rcd/initd/cups stop
/etc/rcd/initd/smb restart
15然后就可以在Windows系统中通过12步中设定的用户名和密码来访问Linux。
16使用源代码的安装方式:下载samba-3023ctargz源代码包,解压。
Cd samba-3023c/source
/autogensh
/configure –prefix=/usr –localstatedir=/var –with-configdir=/etc/samba –with-privatedir=/etc/samba –with-fhs –with-quotas –with-smbmount –enable-cups –with-pam_smbpass –with-syslog –with-utmp –with-swatdir=/usr/share/swat –with-shared-modules=idmap_rid –with-libsmbclient
Make
Make install
17其余步骤与7之后相同。
这是我实验时写的,平台是redhat 9
0条评论