centos 7 配置samba

简介: 实例练习centos7配置samba参考文章:《linux就该这样学》,多用户对samba的访问权限配置,配置实例需求:供20多台装有win7系统的计算机访问,有可以共同访问的目录,有各自部门各自访问的目录实验环境:一台笔记本,虚拟机中安装RHEL7因为只需要做一个文...

实例练习centos7配置samba

考文章《linux就该这样学》,多用户对samba的访问权限配置配置实例

需求:供20多台装有win7系统的计算机访问,有可以共同访问的目录,有各自部门各自访问的目录

实验环境:一台笔记本,虚拟机中安装RHEL7

因为只需要做一个文件服务器,所以centos是最小安装,首先先把ip获取设置为静态

vi /etc/sysconfig/network-scripts/ifcfg-***  #因为是最小安装,所以只有vi
#在配置里添加如下命令
BOOTPROTO=static 
IPADDR=192.168.1.100 #IP地址
NETMASK=255.255.255.0 #掩码值
GATEWAY=192.168.1.1 #网关地址
DNS1=8.8.8.8
ONBOOT=yes # [yes|no](引导时是否激活设备)
USERCTL=no #[yes|no](非root用户是否可以控制该设备)
#重启网络服务
systemctl restart network

配置完成后,实测无问题

开始安装samba

yum install samba -y

安装完成,尝试连接,在装有win7的机器上运行,输入IP(\\192.168.1.*),提示无法连接,这是因为linux防火墙和selinux的原因,解决方法如下:

firewall-cmd --permanent --zone=public --add-service=samba #添加允许smb服务规则
firewall-cmd --reload
vim /etc/selinu/config   #打开selinu配置文件
selinux=disable          #将selinux关闭

配置完后重启系统

再连接,出现如下图示,就证明可以连接了

wKiom1jYy_jQn5A3AAB7KEfnJJ4559.png

接下来创建账户,先创建系统账户,再创建smb账户

smbpasswd -a username           # 创建完系统账户后输入以上命令,再输入密码,就创建成功了

接下来是创建共享目录

mkdir share/public
mkdir share/exchange
mkdir caiwu
mkdir manager

需求: caiwu目录只能caiwu组的能写能看,但不能修改删除他人文件,manager同。exchange所有人可看可写,但不能修改他人文件。public只有管理员admin可创建文件,他人只能看。

(注:之前看了资料,关于目录权限,目录本身的权限是大于smb的配置的,也就是说目录权限是700,那么就算smb是writable=yes,那除了目录所属人,他人是无法操作的)

chmod -R 1777 caiwu
chmod -R 1777 manager    
chmod -R 777 /share/public
chmod -R 1777 /share/exchange

接下来是修改smb配置

[share]
        comment = share
        path = /home/share
        valid users = @admin
        users admin = admin
        read only = yes
        write list = @admin
[caiwu]
        comment = caiwu
        path = /home/caiwu
        valid users = @caiwu
        writable  = yes
[manager]
        comment = manager
        path = /home/manager
        valid users = @manager
        write list = @manager
[public]
        comment = public
        path = /home/share/public
        available = yes
        admin users = admin
        read only=yes
        write list = admin
[exchange]
        comment = exchange
        path = /home/share/exchange
        writable = yes
        admin users= admin

用客户机连接,输入账号密码,大概功能都能实现

虽然看上去比较多,但熟悉了之后配置起来就快了。


登录文件服务器时选择保存凭据,以后就不用再输入账号密码了,如果不选择保存凭据,在关机前都默认保存密码,关机后就无效了。如果你想换账号登录,可以用以下方法,然后稍等一分钟左右再打开,就可以重新填写账户登录了

wKioL1jY0QjwrXTaAAAqJrScJVU493.png


共享参数:
#================== Share Definitions ==================
[共享名]

comment = 任意字符串
说明:comment是对该共享的描述,可以是任意字符串。

path = 共享目录路径
说 明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes] 共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目 录,这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用 户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以 这样写:path = /home/share/%m 。

browseable = yes/no
说明:browseable用来指定该共享是否可以浏览。

writable = yes/no
说明:writable用来指定该共享路径是否可写。

available = yes/no
说明:available用来指定该共享资源是否可用。

admin users = 该共享的管理者
说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
例如:admin users =david,sandy(多个用户中间用逗号隔开)。

valid users = 允许访问该共享的用户
说明:valid users用来指定允许访问该共享资源的用户。
例如:valid users = david,@dave,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。)

invalid users = 禁止访问该共享的用户
说明:invalid users用来指定不允许访问该共享资源的用户。
例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)

write list = 允许写入该共享的用户
说明:write list用来指定可以在该共享下写入文件的用户。
例如:write list = david,@dave

public = yes/no
说明:public用来指定该共享是否允许guest账户访问。

guest ok = yes/no
说明:意义同“public”。



相关文章
|
安全 测试技术 Linux
安装配置Samba服务器(CentOS7)
假设我们有这样一个需求 共享名     路径         权限 Mealkey_Share   /smb/docs    所有人员包括来宾均可以访问 Group     /smb/tech    仅允许特定组的用户进行读写访问   特定组的组名为RD,目前的有zyy一人...
4359 0
|
Linux 网络安全 数据安全/隐私保护
如何在 CentOS 上安装和配置 Samba?
如何在 CentOS 上安装和配置 Samba?
1768 0
如何在 CentOS 上安装和配置 Samba?
|
6月前
|
人工智能 Kubernetes Ubuntu
linux配置IP
linux配置IP
519 1
|
数据可视化 Python
|
安全 关系型数据库 MySQL
Linux(CentOS6)安装MySQL5.6
Linux(CentOS 6)系统上安装MySQL 5.6版本的详细步骤,包括准备数据存放目录、创建用户、下载安装包、初始化数据库、配置服务脚本、设置环境变量等操作。
876 1
|
缓存 Linux
CentOS7系统配置国内yum源和epel源
1.首先进入/etc/yum.repos.d/目录下,新建一个repo_bak目录,用于保存系统中原来的repo文件 [root@bogon ~]# cd /etc/yum.repos.d/ [root@bogon yum.
11299 57
|
C语言
【C语言】柔性数组(可变长数组)
【C语言】柔性数组(可变长数组)
|
消息中间件 存储 Kafka
Apache Doris接入Kafka实时流数据
一.简述 Apache Doris是由百度的Palo项目开源而来,整体架构分为两层:多个 FE 组成第一层,提供 FE 的横向扩展和高可用;多个 BE 组成第二层,负责数据存储于管理。 FE 节点分为 follower 和 observer 两类。
7264 0