Dalam Linux, samba ialah perisian sumber terbuka berdasarkan protokol SMB Ia adalah perisian yang membolehkan sistem Linux menggunakan protokol komunikasi rangkaian Microsoft. Perisian samba boleh digunakan untuk perkongsian fail antara Windows dan Linux, dan untuk perkongsian sumber antara Linux dan Linux.
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.
1. Pengenalan kepada samba
Samba tersedia di. Linux dan UNIX Perisian percuma yang melaksanakan protokol SMB pada sistem, yang terdiri daripada program pelayan dan klien.
SMB ialah protokol komunikasi untuk berkongsi fail dan pencetak pada LAN Ia menyediakan perkhidmatan perkongsian untuk fail, pencetak dan sumber lain antara komputer yang berbeza dalam LAN.
Protokol SMB ialah protokol jenis C/S yang melaluinya pelanggan boleh mengakses sistem fail kongsi, pencetak dan sumber lain pada pelayan.
samba ialah perisian yang membenarkan sistem Linux menggunakan protokol komunikasi rangkaian Microsoft. Fungsi terbesar samba ialah ia boleh digunakan untuk perkongsian fail terus dan perkongsian cetakan antara sistem Linux dan samba digunakan untuk kedua-dua tetingkap Perkongsian fail dengan Linux juga boleh digunakan untuk perkongsian sumber antara Linux dan Linux.
Komposisi perkhidmatan Samba
1) SMB ialah perkhidmatan permulaan teras samba Ia bertanggungjawab terutamanya untuk mewujudkan dialog antara pelayan samba Linux dan pelanggan samba dan mengesahkan identiti pengguna Ia juga menyediakan akses kepada fail dan sistem pencetakan Hanya apabila perkhidmatan SMB dimulakan, perkongsian fail boleh direalisasikan dan memantau port 139 TCP.
2) Perkhidmatan NMB bertanggungjawab untuk penyelesaian Ia serupa dengan fungsi yang dilaksanakan oleh DNS NMB boleh memadankan nama kumpulan kerja yang dikongsi oleh sistem Linux dengan IPnya hanya boleh diakses melalui IP Akses fail kongsi dan dengar pada port UDP 137 dan 138.
Pasang perkhidmatan samba
yum -y install samba
Semak status pemasangan
rpm -qa | grep samba
2 >
TCP | UDP |
---|---|
139 | 445 | 137 | 138 |
进程 | 对应 |
---|---|
nmbd | 对应 netbios |
smbd | 对应 cifs 协议 |
winbindd ldap | 对应 Windows AD 活动目录 |
帐号 | 密码 |
---|---|
都是系统用户 /etc/passwd | Samba 服务自有密码文件通过 smbpasswd -a USERNAME 命令设置 |
//smbpasswd 命令: -a Sys_User //添加系统用户为 samba 用户并为其设置密码 -d //禁用用户帐号 -e //启用用户帐号 -x //删除用户帐号 [root@localhost ~]# yum -y install samba-* [root@localhost ~]# useradd tom [root@localhost ~]# smbpasswd -a tom New SMB password: Retype new SMB password: Added user tom.
Samba 服务器的安全级别有三个,分别是 user,server,domain
Versi samba sebelum ini menyokong empat tahap keselamatan, iaitu
安全级别 | 作用 |
---|---|
user | 基于本地的验证 |
server | 由另一台指定的服务器对用户身份进行认证 |
domain | 由域控进行身份验证 |
/etc/samba/smb.conf (fail konfigurasi utama)
7. 常用配置文件参数
参数 | 作用 |
---|---|
workgroup | 表示设置工作组名称 |
server string | 表示描述 samba 服务器 |
security | 表示设置安全级别,其值可为 share、user、server、domain |
passdb backend | 表示设置共享帐户文件的类型,其值可为 tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、smbpasswd(兼容旧版本 samba 密码文件) |
comment | 表示设置对应共享目录的注释,说明信息,即文件共享名 |
browseable | 表示设置共享是否可见 |
writable | 表示设置目录是否可写 |
path | 表示共享目录的路径 |
guest ok | 表示设置是否所有人均可访问共享目录 |
public | 表示设置是否允许匿名用户访问 |
write list | 表示设置允许写的用户和组,组要用 @ 表示,例如 write list = root,@root |
valid users | 设置可以访问的用户和组,例如 valid users = root,@root |
hosts deny | 设置拒绝哪台主机访问,例如 hosts deny = 192.168.10.100 |
hosts allow | 设置允许哪台主机访问,例如 hosts allow = 192.168.10.200 |
printable | 表示设置是否为打印机 |
#测试配置文件是否有语法错误,以及显示最终生效的配置。使用 testparm 命令 [root@localhost ~]# testparm Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[homes]" Processing section "[printers]" Processing section "[print$]" Loaded services file OK. Server role: ROLE_STANDALONE ......
1. 环境准备
IP | 主机 | 系统 |
---|---|---|
192.168.10.20 | server | CentOS7 |
192.168.10.30 | client | CentOS7 |
systemctl stop firewalld && systemctl disable firewalld setenforce 0 yum -y install ntp && ntpdate ntp.aliyun.com //server hostnamectl set-hostname server su //client hostnamectl set-hostname client su
2. 服务端
yum -y install samba-* &> /dev/null systemctl start smb && systemctl enable smb #添加全局配置 vim /etc/samba/smb.conf ...... [global] workgroup = SAMBA security = user map to guest = Bad User ...... #创建共享文件夹 mkdir -p /opt/yc chmod 777 /opt/yc/ ll /opt/ #配置共享 cat >> /etc/samba/smb.conf << EOF [yc] comment = yc path = /opt/yc browseable = yes guest ok = yes writable = yes public = yes EOF #测试配置文件是否有误 testparm #重启服务 systemctl restart smb
3. 客户端
yum -y install samba-* &> /dev/null systemctl start smb && systemctl enable smb #客户端验证 smbclient -L 192.168.10.20 -U 'Bad User' #123456 mkdir -p /opt/smb mount -t cifs //192.168.10.20/yc /opt/smb/ -o username='Bad User' df -h #在客户端上创建共享目录,文件 cd /opt/smb/ && touch test && mkdir yanchuang ls
4. 服务端上验证
[root@server ~]#cd /opt/yc [root@server /opt/yc]#ls test yanchuang
同网段 windows 虚拟机访问
不同网段 windows 虚拟机访问
相关推荐:《Linux视频教程》
Atas ialah kandungan terperinci Apakah samba dalam linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!