centos访问samba
A. 访问samba服务器的方式有哪些
这个简单,可以参考 《鸟哥的linux私房菜 服务器》 第一个服务器就是samba服务器。。具体的来说: 【samba配置文件smb.conf】 一般你装系统的时候会默认安装samba,如果没有安装,只需要运行这个命令安装(CentOS): “yum install -y samba samba-client” Samba的配置文件为/etc/samba/smb.conf,通过修改这个配置文件来完成我们的各种需求。打开这个配置文件,你会发现很多内容都用”#”或者”;”注视掉了。先看一下未被注释掉的部分: [global] workgroup = MYGROUP server string = Samba Server Version %v security = user passdb backend = tdbsam load printers = yes cups options = raw [homes] comment = Home Directories browseable = no writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes 主要有以上三个部分:[global], [homes], [printers]。 [global]定义全局的配置,”workgroup”用来定义工作组,相信如果你安装过windows的系统,你会对这个workgroup不陌生。一般情况下,需要我们把这里的”MYGROUP”改成”WORKGROUP”(windows默认的工作组名字)。 security = user #这里指定samba的安全等级。关于安全等级有四种: share:用户不需要账户及密码即可登录samba服务器 user:由提供服务的samba服务器负责检查账户及密码(默认) server:检查账户及密码的工作由另一台windows或samba服务器负责 domain:指定windows域控制服务器来验证用户的账户及密码。 passdb backend = tdbsam # passdb backend (用户后台),samba有三种用户后台:smbpasswd, tdbsam和ldapsam. smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba 密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。 tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用smbpasswd –a创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。pdbedit参数很多,列出几个主要的: pdbedit –a username:新建Samba账户。 pdbedit –x username:删除Samba账户。 pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。 pdbedit –Lv:列出Samba用户列表详细信息。 pdbedit –c “[D]”–u username:暂停该Samba用户账号。 pdbedit –c “[]”–u username:恢复该Samba用户账号。 ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置“passdb backend = ldapsam:ldap://LDAP Server” load printers 和 cups options 两个参数用来设置打印机相关。 除了这些参数外,还有几个参数需要你了解: netbios name = MYSERVER # 设置出现在“中国上邻居”中的主机名 hosts allow = 一二漆. 一9二.一陆吧.一二. 一9二.一陆吧.一三. # 用来设置允许的主机,如果在前面加”;”则表示允许所有主机 log file = /var/log/samba/%m.log #定义samba的日志,这里的%m是上面的netbios name max log size = 50 # 指定日志的最大容量,单位是K [homes]该部分内容共享用户自己的家目录,也就是说,当用户登录到samba服务器上时实际上是进入到了该用户的家目录,用户登陆后,共享名不是homes而是用户自己的标识符,对于单纯的文件共享的环境来说,这部分可以注视掉。 [printers]该部分内容设置打印机共享。 【samba实践】 注意:在试验之前,请先检测selinux是否关闭,否则可能会试验不成功。关于如何关闭selinux请查看第十五章 linux系统日常管理的“linux的防火墙”部分 一. 共享一个目录,任何人都可以访问,即不用输入密码即可访问,要求只读。 打开samba的配置文件/etc/samba/smb.conf [global]部分 把”MY GROUP”改成”WORKGROUP” 把”security = user” 修改为“security = share” 然后在文件的最末尾处加入以下内容: [share] comment = share all path = /tmp/samba browseable = yes public = yes writable = no mkdir /tmp/samba chmod 漆漆漆 /tmp/samba 启动samba服务 /etc/init.d/smb start 测试: 首先测试你配置的smb.conf是否正确,用下面的命令 testparm 如果没有错误,则在你的windows机器上的浏览器中输入file://IP/share 看是否能访问 二. 共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写 打开samba的配置文件/etc/samba/smb.conf [global] 部分内容如下: [global] workgroup = WORKGROUP server string = Samba Server Version %v security = user passdb backend = tdbsam load printers = yes cups options = raw 然后加入以下内容: [myshare] comment = share for users path = /samba browseable = yes writable = yes public = no 保存配置文件,创建目录: mkdir /samba chmod 漆漆漆 /samba 然后添加用户。因为在[globa]中” passdb backend = tdbsam”,所以要使用” pdbedit” 来增加用户,注意添加的用户必须在系统中存在。 useradd user一 user二 pdbedit -a user一 # 添加user一账号,并定义其密码 pdbedit -a user二 pdbedit -L # 列出所有的账号 测试: 打开IE浏览器输入file://IP/myshare/ 然后输入用户名和密码 三. 使用linux访问samba服务器 Samba服务在linux下同样可以访问。前提是你的linux安装了samba-client软件包。安装完后就可以使用smbclient命令了。 smbclient //IP/共享名 -U 用户名 如:[root@localhost]# smbclient //一0.0.四.陆漆/myshare/ -U user一 Password: Domain=[LOCALHOST] OS=[Unix] Server=[Samba 三.0.三三-三.二9.el5_陆.二] smb: \> 出现如上所示的界面。可以打一个”?”列出所有可以使用的命令。常用的有cd, ls, rm, pwd, tar, mkdir, chown, get, put等等,使用help + 命令可以打印该命令如何使用,其中get是下载,put是上传。 另外的方式就是通过mount挂载了: 如: mount -t cifs //一0.0.四.陆漆/myshare /mnt -o username=user一,password=一二三四5陆 格式就是这样,要指定-t cifs //IP/共享名本地挂载点 -o后面跟username 和 password 挂载完后就可以像使用本地的目录一样使用共享的目录了
B. centos samba 怎么共享文件夹
1、建立Samba用户
[root@localhost ~]# useradd bob
[root@localhost ~]# pdbedit -a -u bob
2、修改主配置文件:
# mkdir /mytools
# vim /etc/smb/smb.conf
[tools]
comment = You can get software tools from here.
path = /mytools
public = no
read only = yes
valid users = bob
write list = bob
# service smb start
3、客户端访问:
# smbclient -U bob //192.168.1.1/tools
C. 如何在Fedora或CentOS上使用Samba共享文件夹
步骤1:在Fedora和CentOS上安装Samba
首先,安装Samba以及进行一些基本的配置。
检验Samba是否已经安装在您的系统中:
$ rpm -q samba samba-common samba-client
如果上面的命令没有任何输出,这意味着Samba并未安装。这时,应使用下面的命令来安装Samba。
$ sudo yum install samba samba-common samba-client
接下来,创建一个用于在网络中共享的本地文件夹。这个文件夹应该以Samba共享的方式导出到远程的用户。在这个指南中,我们会在顶层文件夹'/'中创建这个文件夹,因此,请确保您有相应的权限。
$ sudo mkdir /shared
如果您想在您的home文件夹内创建共享文件夹(例如,~/shared),您必须激活SELinux中Samba的home文件夹共享选项,具体将在后面提到。
在创建/shared文件夹后,设置文件夹权限以保证其余用户可以访问它。
$ sudo chmod o+rw /shared
如果您不想其他用户对该文件夹拥有写权限,您需要移除命令中的'w'选项。
$ sudo chmod o+r /shared
接下来,创建一个空文件来测试。这个文件可以被用来验证Samba的共享已经被挂载。
$ sudo touch /shared/file1
步骤2:为Samba配置SELinux
接下来,我们需要再次配置SELinux。在Fedora和CentOS发行版中SELinux是默认开启的。SELinux仅在正确的安全配置下才允许Samba读取和修改文件或文件夹。(例如,加上'sambasharet'属性标签)。
下面的命令为文件的配置添加必要的标签:
$ sudo semanage fcontext -a -t samba_share_t"<directory>(/.*)?"
将替换为我们之前为Samba共享创建的本地文件夹(例如,/shared):
$ sudo semanage fcontext -a -t samba_share_t"/shared(/.*)?"
我们必须执行restorecon命令来激活修改的标签,命令如下:
$ sudo restorecon -R -v /shared
为了通过Samba共享在我们home文件夹内的文件夹,我们必须在SELinux中开启共享home文件夹的选项,该选项默认被关闭。下面的命令能达到该效果。如果您并未共享您的home文件夹,那么您可以跳过该步骤。
$ sudo setsebool -P samba_enable_home_dirs 1
步骤3:为Samba配置防火墙
下面的命令用来打开防火墙中Samba共享所需的TCP/UDP端口。
如果您在使用firewalld(例如,在Fedora和CentOS7下),接下来的命令将会永久的修改Samba相关的防火墙规则。
$ sudo firewall-cmd --permanent --add-service=samba
如果您在防火墙中使用iptables(例如,CentOS6或者更早的版本),可以使用下面的命令来打开Samba必要的向外的端口。
$ sudo vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445-j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 445-j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137-j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138-j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139-j ACCEPT
然后重启iptables服务:
$ sudo service iptables restart
步骤4:更改Samba配置
后面的步骤用来配置Samba以将本地文件夹导出为Samba共享文件夹。
使用文件编辑器打开Samba配置文件,并将下面的行添加到文件的末尾。
$ sudo nano /etc/samba/smb.conf
[myshare]
comment=my shared files
path=/shared
public=yes
writeable=yes
上面在括号内的文本(例如,"myshare")是Samba共享的资源的名字,它被用来从远程主机存取Samba共享。
创建Samba用户帐户,这是挂载和导出Samba文件系��所必须的。我们可以使用smbpasswd工具来创建一个Samba用户。注
意,Samba用户帐户必须是已有的Linux用户。如果您尝试使用smbpasswd添加一个不存在的用户,它会返回一个错误的消息。
如果您不想使用任何已存在的Linux用户作为Samba用户,您可以在您的系统中创建一个新的用户。为安全起见,设置新用户的登录脚本为/sbin/nologin,并且不创建该用户的home文件夹。
在这个例子中,我们创建了一个名叫"sambaguest"的用户,如下:
$ sudo useradd -M -s /sbin/nologin sambaguest
$ sudo passwd sambaguest
在创建一个新用户后,使用smbpasswd命令添加Samba用户。当这个命令询问一个密码时,您可以键入一个与其用户密码不同的密码。
$ sudo smbpasswd -a sambaguest
激活Samba服务,并检测Samba服务是否在运行。
$ sudo systemctl enable smb.service
$ sudo systemctl start smb.service
$ sudo systemctl is-active smb
使用下面的命令来查看Samba中共享的文件夹列表。
$ smbclient -U sambaguest -L localhost
接下来是在Thunar文件管理器中访问Samba共享文件夹以及对file1进行拷贝复制的截图。注意,Samba的共享内容可以通过在Thunar中通过 smb://<samba-server-IP-address>/myshare 这个地址来访问。
D. centos 7 怎么启动samba
安装
安装的过程我不再具体写,网络一下有大把文档,稍微有点Linux基础的人我相信都能安装的了。我装了两次,第一次用的的min install, 装完以后发现ifconfig命令运行不了。
运行which ifconfig或者是find / -name "ifconfig*.*"都没有找到文件文件。
网上找了很多,有的说是环境变量没有,文件在bin 或者sbin下面。
正解是运行下面命令:
# yum install net-tools
原因是ifconfig已经过时了,可以用ip addr或者ip link查询。
因为我是新学,所以为了排除干扰,我重新选择了file and printer server模式安装。这个模式下安装ifconfig命令是可以运行的。
2.安装samba
运行下面命令:
# yum -y install samba samba-client samba-common
安装完成后运行 rpm -qa | grep "samba",确保都安装成功了。
wKiom1QnyN3im3QMAACEg_dNi6Q211.jpg
3. 配置samba
假设我们有这样一个场景
共享名 路径 权限
SHAREDOC /smb/docs 所有人员包括来宾均可以访问
RDDOCS /smb/tech 仅允许特定组的用户进行读写访问
准备工作:
创建共享目录(假设共享/smb目录下的文件)
# mkdir -p /smb/docs
# mkdir -p /smb/tech
//创建操作系统用户
# useraddalice
# useraddjack
# useradd tom
# useradd RD
//修改用户的组
# usermod -a-G RD alice
# usermod -a-G RD jack
# usermod -a-G RD tom
账号创建完以后检查用户所属组,确保每个用户所属组都有1003 RD
# id alice
uid=1000(alice) gid=1000(alice)groups=1000(alice),1003(RD)
# id jack
uid=1001(jack) gid=1001(jack)groups=1001(jack),1003(RD)
# id tom
uid=1002(tom) gid=1002(tom)groups=1002(tom),1003(RD)
# id RD
uid=1003(RD) gid=1000(RD)groups=1003(RD)
//修改目录权限
# chgrp RD /smb/tech
# chgrp RD /smb/docs
# chown RD /smb/tech
# chown RD /smb/docs
# chmod 770 /smb/tech
# chmod 770 /smb/docs
修改完成后再检查一下文件夹权限
# ls /smb -l
//备份原有的配置文件在原目录下
# cd /etc/samba
# cp smb.conf smb.conf.origin
# vi/etc/samba/smb.conf
删除原有所有内容,添加如下内容:
[global]
workgroup=BIGCLOUD
netbios name=ZZSRV2
server string=Samba Server
#security=share
security=user
map to guest = Bad User
[SHAREDOCS]
path=/smb/docs
readonly=yes
browseable=yes
guest ok=yes
[RDDOCS]
path = /smb/tech/
public = no
writable = yes
write list = @RD
valisers = @RD
4. 重启服务
RedHat Liunx都是用service restart smb来重启的,在CentOS里面服务的操作都是用systemctl来完成了。
运行下面命令:
# systemctl restart smb
# systemctl reload smb
# systemctl status smb
最后这条命令是检查状态的。
wKioL1Qn0hnxC41_AANT1o1nrS8028.jpg
5. 防火墙和SELinux
网上基本上没有文章提到这一点,所以我一直测试不成功,最后发现关闭SELinux和防火墙后就可以访问了。
关闭防火墙
wKiom1Qn046hB80lAADU-iQnisI052.jpg
关闭SELinux
.jpg
7. 客户端所属组
我成功测试的机器是一台在WORKGROUP工作组里面的windows 7,加入域的机器是访问不了的。这个可能和之前我们Samba里面设置的是workgroup有关系吧。
E. 如何在Fedora或CentOS上使用Samba共享
步骤1:在Fedora和CentOS上安装Samba 首先,安装Samba以及进行一些基本的配置。 检验Samba是否已经安装在您的系统中: $ rpm -q samba samba-common samba-client 如果上面的命令没有任何输出,这意味着Samba并未安装。这时,应使用下面的命令来安装Samba。 $ sudo yum install samba samba-common samba-client 接下来,创建一个用于在网络中共享的本地文件夹。这个文件夹应该以Samba共享的方式导出到远程的用户。在这个指南中,我们会在顶层文件夹'/'中创建这个文件夹,因此,请确保您有相应的权限。 $ sudo mkdir /shared 如果您想在您的home文件夹内创建共享文件夹(例如,~/shared),您必须激活SELinux中Samba的home文件夹共享选项,具体将在后面提到。 在创建/shared文件夹后,设置文件夹权限以保证其余用户可以访问它。 $ sudo chmod o+rw /shared 如果您不想其他用户对该文件夹拥有写权限,您需要移除命令中的'w'选项。 $ sudo chmod o+r /shared 接下来,创建一个空文件来测试。这个文件可以被用来验证Samba的共享已经被挂载。 $ sudo touch /shared/file1 步骤2:为Samba配置SELinux 接下来,我们需要再次配置SELinux。在Fedora和CentOS发行版中SELinux是默认开启的。SELinux仅在正确的安全配置下才允许Samba读取和修改文件或文件夹。(例如,加上'sambasharet'属性标签)。 下面的命令为文件的配置添加必要的标签: $ sudo semanage fcontext -a -t samba_share_t"<directory>(/.*)?" 将替换为我们之前为Samba共享创建的本地文件夹(例如,/shared): $ sudo semanage fcontext -a -t samba_share_t"/shared(/.*)?" 我们必须执行restorecon命令来激活修改的标签,命令如下: $ sudo restorecon -R -v /shared 为了通过Samba共享在我们home文件夹内的文件夹,我们必须在SELinux中开启共享home文件夹的选项,该选项默认被关闭。下面的命令能达到该效果。如果您并未共享您的home文件夹,那么您可以跳过该步骤。 $ sudo setsebool -P samba_enable_home_dirs 1 步骤3:为Samba配置防火墙 下面的命令用来打开防火墙中Samba共享所需的TCP/UDP端口。 如果您在使用firewalld(例如,在Fedora和CentOS7下),接下来的命令将会永久的修改Samba相关的防火墙规则。 $ sudo firewall-cmd --permanent --add-service=samba 如果您在防火墙中使用iptables(例如,CentOS6或者更早的版本),可以使用下面的命令来打开Samba必要的向外的端口。 $ sudo vi /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445-j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 445-j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137-j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138-j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139-j ACCEPT 然后重启iptables服务: $ sudo service iptables restart 步骤4:更改Samba配置 后面的步骤用来配置Samba以将本地文件夹导出为Samba共享文件夹。 使用文件编辑器打开Samba配置文件,并将下面的行添加到文件的末尾。 $ sudo nano /etc/samba/smb.conf [myshare] comment=my shared files path=/shared public=yes writeable=yes 上面在括号内的文本(例如,"myshare")是Samba共享的资源的名字,它被用来从远程主机存取Samba共享。 创建Samba用户帐户,这是挂载和导出Samba文件系统所必须的。我们可以使用smbpasswd工具来创建一个Samba用户。注意,Samba用户帐户必须是已有的Linux用户。如果您尝试使用smbpasswd添加一个不存在的用户,它会返回一个错误的消息。 如果您不想使用任何已存在的Linux用户作为Samba用户,您可以在您的系统中创建一个新的用户。为安全起见,设置新用户的登录脚本为/sbin/nologin,并且不创建该用户的home文件夹。 在这个例子中,我们创建了一个名叫"sambaguest"的用户,如下: $ sudo useradd -M -s /sbin/nologin sambaguest $ sudo passwd sambaguest 在创建一个新用户后,使用smbpasswd命令添加Samba用户。当这个命令询问一个密码时,您可以键入一个与其用户密码不同的密码。 $ sudo smbpasswd -a sambaguest 激活Samba服务,并检测Samba服务是否在运行。 $ sudo systemctl enable smb.service $ sudo systemctl start smb.service $ sudo systemctl is-active smb 使用下面的命令来查看Samba中共享的文件夹列表。 $ smbclient -U sambaguest -L localhost 接下来是在Thunar文件管理器中访问Samba共享文件夹以及对file1进行拷贝复制的截图。注意,Samba的共享内容可以通过在Thunar中通过 smb://<samba-server-IP-address>/myshare 这个地址来访问。
F. 怎么访问内网的Samba服务共享的文件夹
这个是通过对samba服务器的配置文件进行设置而得知的;就centos6.5操作系统而言,该配置文件位于:/etc/samba/ #既是根目录下的配置文件下的samba目录下的;
该文件为smb.conf;
具体的操作为:#vim /etc/samba/smb.conf
然后通过设置path的参数既可,例子:path = /share_smb
G. centOS里面samba的问题
CentOS可以按如下方式来操作搭建简单的samba服务器:1,检查samba所需要的包是否安装:rpm -qa | grep samba一般要安装samba-common,samba-client,samba这三个包。2,配置:修改/etc/samba/smb.conf定位到security,将其设置为security = share定位到smb.conf文件尾,添加如下行:[share]path=/sharepublic=yeswritable=yes并在根目录建立share目录:mkdir /share改变权限:chmod o+w /share3,启动samba:service smb start这样一个可读写的共享模式samba就建好了。
H. win7下与CentOS连接samba服务不稳定,怎么解决
Samba是服务器进行网络文件共享的一种方式。所以win7以访问共享的方式,访问samba服务器的ip便可以连接到samba,方法如下:
1、按下win7的快捷键(WIN+R)打开“运行”工具。
2、在“运行”中输入:\\samba服务器的ip\共享目录 然后回车即可连接。
I. centos samba是操作系统默认自带的吗
centos samba是操作系统默认自带的。
samba是用来在linux下与window做网络邻居用的,要用SAMBA,在windows下用类似 \[IP][UserName] ( 如 \210.66.55.44leon ) 打开,与windows下的网络邻居是一样的用法。
系统的基本源代码也由RHEL对应版本的开源代码提供。但代码更加激进,是合并进RHEL前的一个试验场,比RHEL更新新特性更快。等到相关新代码成熟后由RHEL合并,是RHEL的上游。
系统特点:
1.可以把CentOS理解为Red Hat AS系列的社区版,它完全就是对Red Hat AS进行改进后发布的。各种操作、使用和RHEL没有区别。
2.CentOS完全免费,不存在RED HAT AS需要序列号的问题。
3.CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RHEL那样需要花钱购买支持服务。
4.CentOS修正了许多RHEL的BUG。
5.CentOS版本说明:CentOS3.1 等同于 RED HAT AS3 Update1 CentOS3.4 等同于 RED HAT AS3 Update4 CentOS4.0 等同于 RED HAT AS4。
J. centos7配置samba,访问不了子文件
看配置是匿名访问,文件属性设置有问题,可能还是权限的问题,参看下我的配置
[Anonymous]
path = /home/samba
browsable =yes
writable = yes
guest ok = yes
read only = no