linux搭建samba服务器?ubuntu20.4搭建ftp服务器
怎么在LINUX下配置SAMBA服务器
在Linux平台,以二进制程序包和源代码两种方式安装samba服务器,并整理相关配置文件,并给出基本应用操作。
步骤:
1.机器上已经存在的samba服务,版本为3.0.21b,这是通过使用rpm命令得到的。如下:
# rpm–qa| grep samba
Samba-client-3.0.21b-2
Samba-common-3.0.21b-2
2.将上面的samba-client-3.0.21b-2卸载。使用命令:rpm–e samba-client-3.0.21b-2。
3.用rpm–e samba-common-3.0.21b-2来卸载common,因为依赖关系,不成功。
4.下载二进制程序包:
samba-common-3.0.23c-4.i386.rpm,
samba-client-3.0.23c-4.i386.rpm,
samba-doc-3.0.23c-4.i386.rpm,
samba-3.0.23c-4.i386.rpm。
5.安装这些程序包。分别使用命令:
rpm–Uvh samba-common-3.0.23c-4.i386.rpm
rpm–ivh samba-client-3.0.23c-4.i386.rpm
rpm–ivh samba-3.0.23c-4.i386.rpm
rpm–ivh samba-doc-3.0.23c-4.i386.rpm
使用选项Uvh来安装common是因为原来的common没有被卸载,因此应进行升级安装(U)。
6.安装完毕后,可以使用rpm–qa samba来确认。会输出samba-3.0.24c-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/smb.conf文件。这是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/rc.d/init.d/cups stop
/etc/rc.d/init.d/smb restart
15.然后就可以在Windows系统中通过12步中设定的用户名和密码来访问Linux。
16.使用源代码的安装方式:下载samba-3.0.23c.tar.gz源代码包,解压。
Cd samba-3.0.23c/source
./autogen.sh
./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
linux怎么配置samba服务器
1.samba服务器目录:
企业数据目录:/companydata
公共目录:/companydata/share
销售部目录:/companydata/sales
技术部:/companydata/tech
2.企业员工情况:
总经理:gm
销售部:销售部经理 redking、员工 sky、员工 jane
技术部:技术部经理 michael、员工 bill、员工 joy
3.搭建samba文件服务器,建立公共共享目录,允许所有人访问,权限为只读,为销售部和技术部分别建立单独的目录,只可以总经理和相应部门员工访问,并且公司员工禁止访问非本部门的共享目录。
案例解析:
1.需求分析
对于建立公共目录public字段就可以实现匿名访问,员工只能访问本部门的共享目录,禁止访问非本部门的共享目录,可以通过设置目录共享字段“browseable= no”及字段“valid users”来实现其隐藏功能和相应的访问权限。这样设置不能很好得解决同一目录多种需求的权限设置,所以需要建立独立配置文件,为每个部门建立一个组后并为每个组建立配置文件来实现隔离用户权限会比较灵活。
2.解决方案
1)建立各部门专用共享目录
使用mkdir建立需求的共享目录以便分门别类的存储相应资料。
[root@RHEL~]#mkdir/companydata
[root@RHEL~]#mkdir/companydata/share
[root@RHEL~]#mkdir/companydata/sales
[root@RHEL~]#mkdir/companydata/tech
同时设置/companydata共享目录的用户权限
[root@RHEL~]#chmod–R 777/companydata
2)添加samba服务器描述及设置smbpasswd文件
默认/etc/samba/目录下没有smbpasswd文件,要先关闭samba的tdbsam验证。
解决方法:在smb.conf文件中注释掉passdb backend= tdbsam一行,为了指定samba用户的验证我们加上这一条smb passwd file=/etc/samba/smbpasswd,然后保存退出。
3)添加用户和组
先建立销售部组sales,技术部组tech,然后使用useradd命令添加总经理帐号gm及各个员工的帐号并加入相应的用户组。
[root@RHEL~]#groupadd sales
[root@RHEL~]#groupadd tech
[root@RHEL~]#useradd gm
[root@RHEL~]#useradd–g sales redking
[root@RHEL~]#useradd–g sales sky
[root@RHEL~]#useradd–g sales jane
[root@RHEL~]#useradd–g tech michael
[root@RHEL~]#useradd–g tech bill
[root@RHEL~]#useradd–g tech joy
接着使用smbpasswd命令添加samba用户:
[root@RHEL~]#smbpasswd–a gm
New SMB password:
Retype new SMB password:
Added user gm.
[root@RHEL~]#smbpasswd–a redking
New SMB password:
Retype new SMB password:
Added user reding.
[root@RHEL~]#smbpasswd–a sky
New SMB password:
Retype new SMB password:
Added user syk.
[root@RHEL~]#smbpasswd–a jane
New SMB password:
Retype new SMB password:
Added user jane.
[root@RHEL~]#smbpasswd–a michael
New SMB password:
Retype new SMB password:
Added user michael.
[root@RHEL~]#smbpasswd–a bill
New SMB password:
Retype new SMB password:
Added user bill.
[root@RHEL~]#smbpasswd–a joy
New SMB password:
Retype new SMB password:
Added user joy.
4)配置smb.conf文件
(1)建立单独配置文件
用户配置文件使用用户名命令,组配置文件使用组名命令。
[root@RHEL~]#cp/etc/samba/smb.conf/etc/samba/gm.smb.conf
[root@RHEL~]#cp/etc/samba/smb.conf/etc/samba/sales.smb.conf
[root@RHEL~]#cp/etc/samba/smb.conf/etc/samba/tech.smb.conf
(2)设置主配置文件smb.conf
配置smb.conf主配置文件,在global节点中添加相应字段,确保samba服务器的主配置文件可以调用独立的用户配置文件和组配置文件。
include=/etc/samba/%U.smb.conf表示使samba服务器加载/etc/samba目录下格式为“用户名.smb.conf”的配置文件。
include=/etc/samba/%G.smb.conf表示使samba服务器加载/etc/samba目录下格式为“组名.smb.conf”的配置文件。
设置共享目录/companydata/share
添加如下内容:
[public]
comment=public data
path=/companydata/share
public=yes
5)设置总经理gm配置文件
[root@RHEL~]#vim/etc/samba/gm.smb.conf
添加如下内容:
[sales]
comment=sales data
path=/companydata/sales
writable=yes
valid users=gm
[tech]
comment=tech data
path=/companydata/tech
writable=yes
valid users=gm
6)设置销售部组sales配置文件
[root@RHEL~]#vim/etc/samba/sales.smb.conf
添加如下内容:
[sales]
comment=sales data
path=/companydata/sales
writable=yes
valid users=@sales,gm
7)设置技术部组tech配置文件
[root@RHEL~]#vim/etc/samba/tech.smb.conf
添加如下内容:
[tech]
comment=tech data
path=/companydata/tech
writable=yes
valid users=@tech,gm
8)开启samba服务
[root@RHEL~]#service smb start
9)测试
分别用所设置账号进行测试。
怎样在Linux系统搭建Samba共享服务器
首先需要登入安装了Linux系统的计算机,安装Samba。Fedora发行版一般使用yum工具安装Samba服务器,可以使用“rpm-q samba”查询Samba服务器是否已经安装,当然,也可以直接使用“yum install samba”安装Samba服务器。如果Samba已经安装,yum会给出提示,否则按照步骤,输入“y”就可以直接下载安装Samba服务器了。
安装完成之后,需要查看一下Samba是否已经加入到自启动服务。使用“/sbin/chkconfig| grep smb”和“/sbin/chkconfig| grep nmb”命令可以查看smb和nmb是否加入到系统服务。(SMB是Samba共享服务,nmb是NetBIOS服务,为配合Windows使用,他们两个服务都要加入到系统服务中)。然后再使用“/sbin/service smb status”和“/sbin/service nmb status”查看服务是否已经启用。
接下来就要配置samba服务器了。编辑修改“/etc/samba/smb.conf”,设置共享和认证参数。如图就是我在用的Samba用户共享典型配置文件。编辑修改完成之后,可以使用“testparm/etc/samba/smb.conf”验证配置文件的有效性,以免因配置文件错误而导致Samba服务无法启动。
验证OK的话,接下来就是添加Samba共享用户了,使用“/usr/bin/smbpasswd-a<用户名称>”的方式添加Samba共享用户,并为每个用户设置Samba共享认证的密码。
到这里基本上Samba服务器配置就完成了,如果上述步骤中smb和nmb服务没有自动添加到系统服务中,可以使用“/sbin/chkconfig--level 2345 smb on”和“/sbin/chkconfig--level 2345 nmb on”将其加入到系统服务中,其中2345是Linux的运行级别,一般都不会超出这几个运行级别。然后我们就可以使用“/sbin/service smb restart”和“/sbin/service nmb restart”重启服务了。
重启完成之后,Windows就可以访问用户共享了。在Windows资源管理器输入“\\共享IP地址\共享用户”,就可以访问用户自己目录下的全部文件了。
为了测试共享权限,我们进入用户共享目录,尝试在Windows资源管理器中创建一个“test”目录。
回到Linux的用户目录,我们就可以看到,Windows和Linux查看到的用户共享目录是一致的。(你可能觉得看到的文件和目录说不一致,这是因为我的Windows设置了显示隐藏文件和文件夹的缘故。)