Samba服务器安装和配置

1:安装Samba服务器软件包

[root@localhost ~]# rpm -qa | grep samba

[root@localhost ~]# yum -y install samba

[root@localhost ~]# yum -y install samba-client

2:/etc/samba/smb.conf文件详解

[root@localhost ~]# cat /etc/samba/smb.conf

# See smb.conf.example for a more detailed config file or

# read the smb.conf manpage.

# Run 'testparm' to verify the config is correct after

# you modified it.

[global]                        \\设置全局参数内容

workgroup = SAMBA

security = user

passdb backend = tdbsam

printing = cups

printcap name = cups

load printers = yes

cups options = raw

[homes]                      \\文件共享

comment = Home Directories

valid users = %S, %D%w%S

browseable = No

read only = No

inherit acls = Yes

[printers]                    \\打印机共享

comment = All Printers

path = /var/tmp

printable = Yes

create mask = 0600

browseable = No

[print$]

comment = Printer Drivers

path = /var/lib/samba/drivers

write list = root

create mask = 0664

directory mask = 0775

注释:[global]

samba服务器的全局设置,对整个服务器有效。

workgroup

语法:workgtoup = <工作组群>;

预设:workgroup = MYGROUP

说明:设定 Samba Server 的工作组

例:workgroup = workgroup 和WIN2000S设为一个组,可在网上邻居可中看到共享。

server string

语法:server string = <说明>;

预设:sarver string = Samba Server

说明:设定 Samba Server 的注释

其他:支持变量 t%-访问时间 I%-客户端IP m%-客户端主机名 M%-客户端域名 S%-客户端用户名

例:server string = this is a Samba Server 设定出现在Windows网上邻居的 Samba Server 注释为 this is a Samba Server

hosts allow

语法:hosts aoolw = <IP地址>; ...

预设:; host allow = 192.168.1. 192.168.2. 127.

说明:限制允许连接到 Samba Server 的机器,多个参数以空格隔开。表示方法可以为完整的IP地址,如 192.168.0.1 网段,如 192.168.0.

例:hosts allow = 192.168.1. 192.168.0.1 表示允许 192.168.1 网段的机器网址为 192.168.0.1 的机器连接到自己的 samba server

printcap name

语法:printcap name = <打印机配置文件>;

预设:printcap name = /etc/printcap

说明:设定 samba srever 打印机的配置文件

例:printcap name = /etc/printcap 设定 samba srever 参考 /etc/printcap 档的打印机设定。

load printers

语法:load printers = <yes/no>;

预设:load printers = yes

说明:是否在开启 samba server 时即共享打印机。

printing

语法:printing = <打印机类型>;

预设:printing = lprng

说明:设定 samba server 打印机所使用的类型,为目前所支持的类型。

guest account

语法:guert account = <帐户名称>;

预设:guert account = pcguest

说明:设定访问 samba server 的来宾帐户(即访问时不用输入用户名和密码的帐户),若设为pcguest的话则为默认为"nobody"用户。

例:guert account = andy 设定设定访问 samba server 的来宾帐户以andy用户登陆,则此登陆帐户享有andy用户的所有权限。

log file

语法:log file = <日志文件>;

预设:log file = /var/log/samba/%m.log

说明:设定 samba server 日志文件的储存位置和文件名(%m代表客户端主机名)

max log size

语法:max log size = <??KB>;

预设:max log size = 0

说明:设定日子文件的最大容量,单位KB 这里的预设值0代表不做限制。

security

语法:security = <等级>;

预设:security = user

说明:设定访问 samba server 的安全级别共有四种:

share---不需要提供用户名和密码。

user----需要提供用户名和密码,而且身份验证由 samba server 负责。

server--需要提供用户名和密码,可指定其他机器(winNT/2000/XP)或另一台 samba server作身份验证。

domain--需要提供用户名和密码,指定winNT/2000/XP域服务器作身份验证。

password server

语法:password server = <IP地址/主机名>;

预设:password server = <NT-Server-Name>;

说明:指定某台服务器(包括windows 和 linux)的密码,作为用户登入时验证的密码。

其他:此项需配合 security = server时,才可设定本参数。

password level

语法:password level = <位数>;

username level = <位数>;

预设:password level = 8

username level

username level = 8

说明:设定用户名和密码的位数,预设为8位字符。

encrypt passwords

语法:encrypt passwords = <yes/no>;

预设:encrypt passwords = yse

说明:设定是否对samba的密码加密。

smb passwd file

语法:smb passwd file = <密码文件>;

预设:smb passwd file = /etc/samba/smbpasswd

说明:设定samba的密码文件。

local master

语法:local master = <yes/no>;

预设:local master = no

说明:设定 samba server 是否要担当LMB角色(LMB负责收集本地网络的Browse List资源),通常无特殊原因设为no

os level

语法:os level = <数字>;

预设:os level = 33

说明:设定 samba server的os level. os level从 0 到 255 . winNT的os level为33, win95/98的os level 是 1 .若要拿samba server 当LMB或DMB则它的os level至少要大于NT的33以上。

domain master

语法:domain master = <yes/no>;

预设:domain master = yes

说明:设定 samba server 是否要担当DMB角色(DMB会负责收集其他子网的Browse List资源),通常无特殊原因设为no

preferred master

语法:preferred master = <yes/no>;

预设:preferred master = yes

说明:设定 samba server 是否要担当PDC角色(PDC会负责追踪网络帐户进行的一切变更),通常无特殊原因设为no,(同一网段内不可有两个PDC,他们会每5分钟抢主控权一次)

wins support

语法:wins support = <yes/no>;

预设:wins support = yes

说明:设定samba server 是否想网络提供WINS服务,通常无特殊原因设为no。除非所处网络上没有主机提供WINS服务且需要此台samba server提供WINS服务是才设yes,其他 wins support 和 wins server 只能选择一个

wins server

语法:wins server = <IP地址>;

预设:wins server = w.x.y.z

说明:设定samba server 是否要使用别台主机提供的WINS服务,通常无特殊原因设为no。除非所处网络上有一台主机提供WINS服务才要设yes,其他 wins support 和 wins server

例:wins server = 192.168.0.1 表示samba server要使用192.168.0.1提供的WINS服务

#============================== Share Definitions =============================

[homes]

comment = Home Directories

browseable = no

writable = yes

valid users = %S

使用者本身的"家"目录,当使用者以samba使用者身份登入samba server 后,samba server 底下会看到自己的家目录,目录名称是使用者自己的帐号。

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = no

writable = no

printable = yes

设置了samba服务器中打印共享资源的属性,samba服务器除了可以提供文件共享,还可以提供打印共享。

[分享的资源名称]

<指令1>; = (参数)

<指令2>; = (参数)

要提供分享资源时,须先把欲分享的资源以 [ ] 符号括住,底下通常会带指令和参数来表示此资源的设定和存取权限等,详情如下:

comment---------注释说明

path------------分享资源的完整路径名称,除了路径要正确外,目录的权限也要设对

browseable------是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取

printable-------是yes/否no允许打印

hide dot ftles--是yes/否no隐藏隐藏文件

public----------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)

guest ok--------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)

read only-------是yes/否no以只读方式共享当与writable发生冲突时也writable为准

writable--------是yes/否no不以只读方式共享当与read only发生冲突时,无视read only

vaild users-----设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名)

invalid users---设定只有此名单内的用户不能访问共享资源(拒绝优先)(用户名/@组名)

read list-------设定此名单内的成员为只读(用户名/@组名)

write list------若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)

create mask-----建立文件时所给的权限

directory mask--建立目录时所给的权限

force group-----指定存取资源时须以此设定的群组使用者进入才能存取(用户名/@组名)

force user------指定存取资源时须以此设定的使用者进入才能存取(用户名/@组名)

allow hosts-----设定只有此网段/IP的用户才能访问共享资源

allwo hosts = 网段 except IP

deny hosts------设定只有此网段/IP的用户不能访问共享资源

allow hosts=本网段指定IP指定IP

deny hosts=指定IP本网段指定I

3:samba共享目录配置实例

1:允许匿名用户读取/jishu目录

[root@localhost ~]# vi /etc/samba/smb.conf

在末尾添加:

[jishu]

comment=jishu

path=/jishu

public=yes

read only=yes

2:允许匿名用户读写/jishu目录

[root@localhost ~]# vi /etc/samba/smb.conf

在末尾添加:

[jishu]

comment=jishu

path=/jishu

guest ok=yes

writable=yes

3:只有用户zhangsan和组jishu的用户访问/jishu目录

[jishu]

comment=jishu

path=/jishu

valid users=@jishu,zhangsan

public=no

create mask=0765

broseable=no

4:只允许用户zhangsan和组技术的用户读写/jishu目录

[jishu]

comment=jishu

path=/jishu

valid users=d@jishu,zhangsan

public=no

writable=yes

三:samba服务器配置实例1:share级别的samba服务器配置

1:在服务器端安装软件包

[root@localhost ~]# yum -y install samba samba-client

2:创建共享目录

[root@localhost ~]# mkdir /jishu

[root@localhost ~]# chmod -R 757 /jishu

3:编辑配置文件

(1)       share级别的samba服务器配置

不要提供用户名和密码即可访问

[root@localhost ~]# vi /etc/samba/smb.conf

[global]

workgroup = workgroup

security = user

map to guest = Bad User                   \\新版的samba已经取消了share级别的服务,需要此参数

netbios name = rhel

passdb backend = tdbsam

max log size = 50000

log file =/var/log/samba/log.%m

[jishu]

comment=jishu

path=/jishu

public=yes

writable=yes

4:设置/jishu目录的selinux的布尔值或禁用selinux

[root@localhost ~]# semanage fcontext -a -t samba_share_t '/jishu(/.*)?'

[root@localhost ~]# restorecon -vvFR /jishu

restorecon reset /jishu context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0

restorecon reset /jishu/aaaaa context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0

5:设置firewalld防火墙(设置防火墙策略或关闭防火墙)

[root@localhost ~]#firewall-cmd --permanent --zone=public --add-service=samba

[root@localhost ~]#firewall-cmd --reload

6:开启服务

[root@localhost ~]# systemctl start smb

[root@localhost ~]# systemctl start nmb

7:windows客户端测试

运行中直接输入\\服务器的IP

8:linux客户端

(1)       安装客户端软件包

[root@localhost ~]# yum -y install samba-client

(2)       显示samba服务器上的共享资源

[root@localhost ~]# smbclient -L192.168.10.202

Enter root's password:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.4]

Sharename       Type      Comment

---------       ----      -------

jishu           Disk      jishu

IPC$            IPC       IPC Service (Samba 4.4.4)

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.4]

Server               Comment

---------            -------

RHEL                 Samba 4.4.4

Workgroup            Master

---------            -------

WORKGROUP

(3)       挂载

[root@localhost ~]# mkdir /mnt/jishu

[root@localhost ~]# mount -o username=root //192.168.10.202/jishu /mnt/jishu

Password for root@//192.168.10.202/jishu:                     \\空密码

[root@localhost ~]#

[root@localhost ~]#

[root@localhost ~]# cd /mnt/jishu

[root@localhost jishu]# ls

新建文件夹  新建文本文档.txt

四:samba服务器配置实例2:user级别的samba服务器配置

1:在服务器端安装软件包

[root@localhost ~]# yum -y install samba samba-client

3:创建系统用户

[root@localhost ~]# useradd zhangsan

[root@localhost ~]# passwd zhangsan

Changing password for user zhangsan.

New password:

BAD PASSWORD: The password is a palindrome

Retype new password:

passwd: all authentication tokens updated successfully.

4:创建samba账户

[root@localhost ~]# smbpasswd -a zhangsan

New SMB password:

Retype new SMB password:

Added user zhangsan.

2:创建共享目录

[root@localhost ~]# mkdir /jishu

[root@localhost ~]# chown -R zhangsan:zhangsan /jishu

3:编辑配置文件

[root@localhost ~]# vi /etc/samba/smb.conf

[global]

workgroup = workgroup

security = user

netbios name = rhel

passdb backend = tdbsam

max log size = 50000

log file =/var/log/samba/log.%m

[jishu]

comment=jishu

path=/jishu

public=no

writable=yes

write list = @jishuzu,zhangsan

4:设置/jishu目录的selinux的布尔值或禁用selinux

[root@localhost ~]# semanage fcontext -a -t samba_share_t '/jishu(/.*)?'

[root@localhost ~]# restorecon -vvFR /jishu

restorecon reset /jishu context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0

restorecon reset /jishu/aaaaa context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0

5:设置firewalld防火墙(设置防火墙策略或关闭防火墙)

[root@localhost ~]#firewall-cmd --permanent --zone=public --add-service=samba

[root@localhost ~]#firewall-cmd --reload

6:开启服务

[root@localhost ~]# systemctl start smb

[root@localhost ~]# systemctl enable smb

[root@localhost ~]# systemctl start nmb

[root@localhost ~]# systemctl enable nmb

7:windows客户端测试

运行中直接输入\\服务器的IP

测试读写权限

8:linux客户端

(1)       安装客户端软件包

[root@localhost ~]# yum -y install samba-client

(2)       显示samba服务器上的共享资源

[root@localhost ~]# smbclient –L 192.168.10.202

Enter root's password:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.4]

Sharename       Type      Comment

---------       ----      -------

jishu           Disk      jishu

IPC$            IPC       IPC Service (Samba 4.4.4)

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.4]

Server               Comment

---------            -------

RHEL                 Samba 4.4.4

Workgroup            Master

---------            -------

WORKGROUP

(3)       以zhangsan的身份登录samba服务器

[root@localhost ~]# smbclient //192.168.10.202/jishu -U zhangsan

Enter zhangsan's password:                      \\输入zhangsan的密码

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.4]

smb: \> ls

.                                   D        0  Wed Mar 29 09:59:02 2017

..                                 DR        0  Wed Mar 29 09:50:22 2017

新建文件夹                     D        0  Wed Mar 29 09:59:02 2017

95427048 blocks of size 1024. 92237564 blocks available

smb: \> exit

(4)       挂载

[root@localhost ~]# mkdir /mnt/jishu

[root@localhost ~]# mount -o username=zhangsan,password=aaa //192.168.10.202/jishu /mnt/jishu

[root@localhost ~]#

[root@localhost ~]#

[root@localhost ~]# cd /mnt/jishu

[root@localhost jishu]# ls

新建文件夹  新建文本文档.txt

[root@localhost jishu]# df

Filesystem             1K-blocks    Used Available Use% Mounted on

/dev/mapper/rhel-root   52403200 3162356  49240844   7% /

devtmpfs                  917760       0    917760   0% /dev

tmpfs                     933632     140    933492   1% /dev/shm

tmpfs                     933632    9692    923940   2% /run

tmpfs                     933632       0    933632   0% /sys/fs/cgroup

/dev/sda1                1038336  176556    861780  18% /boot

/dev/mapper/rhel-home   49250820   41208  49209612   1% /home

tmpfs                     186728      28    186700   1% /run/user/0

/dev/sr0                 3704296 3704296         0 100% /media/cdrom

//192.168.10.201/jishu  95427048 3212024  92215024   4% /mnt/jishu

五:同时使用user级别和share级别

访问jishu目录需要验证;访问it目录不需要验证

[root@localhost ~]# vi /etc/samba/smb.conf

[global]

workgroup = workgroup

security = user

netbios name = rhel

map to guest = Bad User

passdb backend = smbpasswd

max log size = 50000

log file =/var/log/samba/log.%m

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

username map = /etc/samba/smbusers

[jishu]

comment=jishu

path=/jishu

public=no

writable=yes

[it]

comment=it

path=/it

public=yes

writable=yes

[root@localhost ~]# systemctl restart smb

六:samba服务器高级配置

1:设置samba加密口令

(1)       确保samba服务器为user安全级别

[root@localhost jishu]# vi /etc/samba/smb.conf

[global]

workgroup = workgroup

security = user

netbios name = rhel

passdb backend = smbpasswd

max log size = 50000

log file =/var/log/samba/log.%m

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

(2)       重启samba服务

[root@localhost jishu]# systemctl restart smb

[root@localhost jishu]# systemctl restart nmb

(3)       创建samba账户

[root@localhost jishu]# useradd -s /sbin/nologin lisi

[root@localhost jishu]# smbpasswd -a lisi

New SMB password:

Retype new SMB password:

Added user lisi.

[root@localhost jishu]# cat /etc/samba/smbpasswd

lisi:1002:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:E24106942BF38BCF57A6A4B29016EFF6:[U          ]:LCT-58DB208C:

2:映射samba用户账户

(1)       编辑配置文件

[root@localhost ~]# vi /etc/samba/smb.conf

[jishu]

comment=jishu

path=/jishu

public=no

writable=yes

username map = /etc/samba/smbusers

(2)       创建用户账户映射文件

[root@localhost ~]# vi /etc/samba/smbusers

lisi=lisi2

(3)       重启服务

[root@localhost ~]# systemctl restart smb

[root@localhost ~]# systemctl restart nmb

(4)       客户端测试

[root@localhost jishu]# smbclient //192.168.10.202/jishu -U lisi2

Enter lisi2's password:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.4]

smb: \> ls

.                                   D        0  Wed Mar 29 09:59:02 2017

..                                 DR        0  Wed Mar 29 09:50:22 2017

新建文件夹                     D        0  Wed Mar 29 09:59:02 2017

95427048 blocks of size 1024. 92214644 blocks available

七:管理samba服务器

1:显示当前连接报告

使用smbstatus命令可以显示当前连接报告

[root@localhost ~]# smbstatus -b

Samba version 4.4.4

PID     Username     Group        Machine                                   Protocol Version  Encryption           Signing

----------------------------------------------------------------------------------------------------------------------------------------

54463   lisi         lisi         192.168.10.10 (ipv4:192.168.10.10:49277)  SMB2_10           -                    -

54473   lisi         lisi         192.168.10.202 (ipv4:192.168.10.202:50954) NT1

2:管理samba用户数据库

使用pdbedit命令可以管理SAM数据库,中的用户账户。

pdbedit命令选项含义:

-L:列出所有在samba用户数据库中的用户账户

-u:指定使用的用户名

-v:启用冗长列表格式

-h:指定用户的主目录网络路径

例:列出所有samba用户数据库的账户

[root@localhost ~]# pdbedit -L

lisi:1002:

例:创建samba用户账户wangwu(可以用wangwu登录samba进行测试)

[root@localhost ~]# useradd -s /sbin/nologin wangwu

[root@localhost ~]# pdbedit -a -u wangwu

[root@localhost ~]# pdbedit -L

lisi:1002:

wangwu:1003:

Linux Samba文件共享服务,安装与案例配置的更多相关文章

  1. Linux Samba文件共享服务配置

    http://blog.csdn.net/xht555/article/details/4631063

  2. 36.Samba 文件共享服务1--安装及配置参数解释

    1.Samba 服务程序现在已经成为在Linux 系统与Windows系统之间共享文件的最佳选择. 1)安装: [root@localhost ~]#yum install samba Loaded ...

  3. samba文件共享服务的配置

    samba文件共享服务的配置 服务端配置 一.安装samba软件包 命令:yum -y install samba 查看是否安装samba. [root@Centos7-Server haha]# [ ...

  4. Linux基础学习-Samba文件共享服务

    使用Samba文件共享服务 Samba起源: 早期网络想要在不同主机之间共享文件大多要用FTP协议来传输,但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据,这样确实不太方便,于是便出现了N ...

  5. 【VNC】Linux环境VNC服务安装、配置与使用

     [VNC]Linux环境VNC服务安装.配置与使用 2009-06-25 15:55:31 分类: Linux   前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netc ...

  6. Linux 下Telnet 服务安装

    Linux 下Telnet 服务安装 注:以下所有命令均在root用户下执行. 命令测试在Linxu版本6.x下完成,部分命令不适用Linux 7.0以上 1.简介 默认情况下Linux只安装了Tel ...

  7. Windows 和 Linux 上Redis的安装守护进程配置

    # Windows 和 Linux 上Redis的安装守护进程配置 Redis 简介 ​ Redis是目前最常用的非关系型数据库(NOSql)之一,常以Key-Value的形式存储.Redis读写速度 ...

  8. Linux下MongoDB服务安装

    Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...

  9. Linux下的GitHub安装与简单配置教程 ~ 转载

    Linux下的GitHub安装与简单配置教程   1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...

随机推荐

  1. LeetCode 858 镜面反射

    题目 有一个特殊的正方形房间,每面墙上都有一面镜子.除西南角以外,每个角落都放有一个接受器,编号为 0, 1,以及 2. 正方形房间的墙壁长度为 p,一束激光从西南角射出,首先会与东墙相遇,入射点到接 ...

  2. SelectiveSearchCodeIJCV遇到First two input arguments should have the same 2D dimension

    在windows 10+visual studio环境下运行SelectiveSearchCodeIJCV中的demo.m难免会出现下列错误 ----------------------- if(~e ...

  3. Spring5.x源码分析 | 从踩坑到放弃之环境搭建

    Spring5.x源码分析--从踩坑到放弃之环境搭建 前言 自从Spring发行4.x后,很久没去好好看过Spring源码了,加上最近半年工作都是偏管理和参与设计为主,在技术细节上或多或少有点疏忽,最 ...

  4. Mysql百万数据量级数据快速导入Redis

    前言 随着系统的运行,数据量变得越来越大,单纯的将数据存储在mysql中,已然不能满足查询要求了,此时我们引入Redis作为查询的缓存层,将业务中的热数据保存到Redis,扩展传统关系型数据库的服务能 ...

  5. windows下使用pycharm配置python的virtualenv环境

    环境:win10 python2.7.10(64) 在path中配置python环境 注意:我这边的环境是py2和py3共存的,但是我这边默认使用的是py2. 在virtualenv环境中安装指定的p ...

  6. DotNetty发送请求的最佳实践

    长链接发送request/response时, 绝大部分包都是小包, 而每个小包都要消耗一个IP包, 成本大约是20-30us, 普通千兆网卡的pps大约是60Wpps, 所以想要提高长链接密集IO的 ...

  7. Spring Boot自动装配原理源码分析

    1.环境准备 使用IDEA Spring Initializr快速创建一个Spring Boot项目 添加一个Controller类 @RestController public class Hell ...

  8. WeChall_Training: Encodings I (Training, Encoding)

    We intercepted this message from one challenger to another, maybe you can find out what they were ta ...

  9. overflow:hidden;zoom:1;外框自适应 [转]

    在排页面时,碰到了,外框里的元素用fluid 布局,外框的高度不能适应的问题,查了一下资料,发现了博友的一篇文章,解决了这个问题,现在分享给大家. 解释不到位的请大牛补充~~~~~~ 高度自适应: h ...

  10. 全网一定不是最好懂的C++线性筛素数

    Part 0:概念 先给几个概念(很重要): 合数:如果\(xy=z\text{且}x,y\text{为正整数}\),我们就说\(x,y\text{是}z\text{的合数}\) 素数:如果数\(a\ ...