Linux에서 Samba는 SMB 프로토콜 기반의 오픈 소스 소프트웨어로 Linux 시스템에서 Microsoft 네트워크 통신 프로토콜을 적용할 수 있도록 해주는 소프트웨어입니다. 삼바 소프트웨어는 Windows와 Linux 간의 파일 공유, Linux와 Linux 간의 리소스 공유에 사용할 수 있습니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
1. Samba 소개
Samba는 Linux 및 UNIX 시스템에서 SMB 프로토콜을 구현하는 무료 소프트웨어입니다.
SMB는 LAN에서 파일과 프린터를 공유하기 위한 통신 프로토콜로 LAN의 서로 다른 컴퓨터 간에 파일, 프린터 및 기타 리소스에 대한 공유 서비스를 제공합니다.
SMB 프로토콜은 클라이언트가 서버의 공유 파일 시스템, 프린터 및 기타 리소스에 액세스할 수 있는 C/S 유형 프로토콜입니다.
Samba는 Linux 시스템에서 Microsoft 네트워크 통신 프로토콜을 적용할 수 있게 해주는 소프트웨어입니다. Samba의 가장 큰 기능은 Linux와 Windows 시스템 간의 파일 공유 및 인쇄 공유에 사용할 수 있다는 것입니다. Linux와 Linux 간에 리소스를 공유하는 데에도 공유를 사용할 수 있습니다.
Samba 서비스 구성
1) SMB는 Samba의 핵심 시작 서비스로 Linux Samba 서버와 Samba 클라이언트 간의 대화 설정, 사용자 신원 인증, 파일에 대한 액세스 제공 및 인쇄를 주로 담당합니다. SMB만 서비스가 시작될 때만 파일 공유가 실현되고 TCP 포트 139를 수신할 수 있습니다.
2) NMB 서비스는 DNS에서 구현하는 기능과 유사하게 구문 분석을 담당합니다. NMB는 Linux 시스템에서 공유하는 작업 그룹 이름과 해당 IP를 일치시킬 수 있습니다. NMB 서비스가 시작되지 않으면 공유 파일에만 액세스할 수 있습니다. IP를 통해 UDP 포트 137 및 138에서 수신합니다.
삼바 서비스 설치
yum -y install samba
설치 상태 확인
rpm -qa | grep samba
2. 삼바 수신 포트
TCP | UDP |
---|---|
139 |445 | 137 |
3. Samba 프로세스
프로세스 | 는 |
---|---|
nmbd | 에 해당 |
에 해당 cifs 프로토콜 | |
Windows AD Active Directory |
4에 해당합니다.
smbpasswd -a USERNAME 命令设置 |
#测试配置文件是否有语法错误,以及显示最终生效的配置。使用 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 ......
5. samba 安全级别
Samba 服务器的安全级别有三个,分别是 user,server,domain
security level
user | |
---|---|
server | user Identity를 가지고 있습니다. 다른 지정된 서버에 의해 인증되었습니다 |
domain | 도메인 컨트롤러에 의한 인증 |
이전 Samba 버전은 4가지 보안 수준, 즉 |
/etc/samba/smb.conf (main 구성 파일)
[global] | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
[homes] | 에 유효합니다. | 호스트 디렉터리 공유 설정은 사용자의 홈 디렉터리에 해당하는 Linux 사용자의 기본 공유를 설정하는 데 사용됩니다. 사용자가 서버에 있는 자신의 사용자 이름과 동일한 이름을 가진 공유 디렉터리에 액세스하면 확인 후 자동으로 사용자의 홈 디렉터리에 매핑됩니다||||||||||||||||||||||||||||||||||||||||
[프린터] | 프린터 공유 설정 | ||||||||||||||||||||||||||||||||||||||||
参数 | 作用 |
---|---|
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视频教程》
위 내용은 리눅스에서 삼바는 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!