Linux命令-samba服务器和防火墙

一、samba服务器

  ​Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,可以像访问windows的共享文件夹一样访问linux的共享文件夹或打印机。

  

安装和配置samba
 sudo apt-mark hold teamviewer   #标记teamviewer 这个软件不更新,速度太慢
  sudo apt update                 #检查更新
  sudo apt upgrade                #安装更新
  sudo apt install samba          #安装samba
  cd /etc/samba                   #修改配置文件
  sudo vim smb.conf

  

设置共享目录
  [global]
  server string = %h server (Samba, Ubuntu)	#%h host主机名,用hostname命令查看,或查看/etc/hostname这个文件
  # Most people will want "standalone sever" or "member server".     #独立服务器或成员服务器	
  server role = standalone server		#服务器角色 独立服务器
  passdb backend = tdbsam		#使用passdb.tdb这个数据库文件,存储用户密码信息,不同版本位置不同,此版本在/var/lib/samba/private目录下
  
  # This boolean parameter controls whether Samba attempts to sync the Unix
  # password with the SMB password when the encrypted SMB password in the
  # passdb is changed.
  #当改变SMB密码的时,用SMB密码同步Unix密码  
  #系统增加使用者时,会自动将该使用者的密码也更新到/etc/smbpasswd内 
  unix password sync = yes		#此处同步包含上两行表达含义,但由于中文语言问题,常不成功,详见https://www.pigo.idv.tw/archives/6
  
  [homes]
  browseable = no   #[homes]这个目录名称不可见,登录后只能看到用户名
  valid users = %S   #是指任何可登陆用户都可以访问 用户是passwd中的>500号的用户。可以尝试设置成msh,tom                           
  create mask = 0700          #创建新文件或文件夹时默认的掩码都是0700,也就是所有者有读、写、执行权限,其他用户无任何权限。
  directory mask = 0700

  

设置samba用户密码
  #建立samba用户,该用户首先必须是系统用户
  sudo smbpasswd -a msh		#创建msh用户,samba账号的密码可以与ubuntu账号密码不同,但用户名必须相同
  sudo smbpasswd -a           #创建root用户,无需设置

  

服务管理
  sudo systemctl start smbd  	#启动服务
  sudo systemctl status smbd 	#查看服务状态

  

windows中访问此服务器
  • 打开运行窗口,输入快捷键:win+r
    在这里插入图片描述
      

  • 启用网络发现和文件共享(根据需要)
    在这里插入图片描述
      

设置共享打印机(此操作可忽略 )
  • 安装pdf打印机并修改配置文件
sudo apt install printer-driver-cups-pdf
    sudo vim cupsd.conf
    #cupsd.conf中增加下行
        Listen 192.168.127.128:9100
    sudo systemctl restart cups

浏览器输入http://192.168.127.128:9100/,若显示已禁止,继续修改cupsd.conf

<Location />
    	Order allow,deny
    	Allow From 192.168.127.0/24   #增加此行
    </Location>
         
    <Location /admin>
      	Order allow,deny
      	Allow From 192.168.127.0/24    #增加此行
    </Location>
    
    <Location /admin/conf>
     	 AuthType Default
    	 Require user @SYSTEM
     	 Order allow,deny
     	 Allow From 192.168.127.0/24    #增加此行
    </Location>

此时浏览器输入http://192.168.127.128:9100应能访问

  • windows添加打印机

    如果打印成功,登录用户在自己home/pdf目录下,匿名用户在/var/spool/cups-pdf/ANONYMOUS

    cups服务一旦启动,windows可以添加打印机

    /var/spool/cups-pdf

    cups-pdf.conf
      

  • 行打印命令 测试

lp -d PDF f1	#行打印命令(line printer)打印f1文件 PDF为打印机名称 word文档用libreoffice打印
    lpq -P PDF      #显示打印队列中的打印任务的状态信息及其所包含的打印任务 -P显示中的打印机上的打印队列状态  PDF(打印机名称) 
    lprm -P PDF a #删除打印任务

      sudo systemctl restart cups

  

ufw防火墙

ufw(uncomplicated firewall)是ubuntu自带简单防火墙

  • 以下是常用命令,有数字的行需要练习:
  1.sudo apt install ufw			#如果没有安装,执行此命令
  2.sudo ufw status verbose		#查看 ufw 的状态
    sudo ufw --help				#查看 ufw 的帮助信息
    sudo ufw app list				#查看所有应用程序的配置
    sudo ufw app info '应用程序名字'		#查看更多有关应用程序配置文件和包含规则的更多信息
    sudo ufw allow ssh			#打开 SSH 连接 这个必须要先配置,避免服务开启后远程连接中断
  
  3.sudo ufw enable   			#启用 ufw,启用时无法直接使用ip访问
  4.sudo ufw disable 				#关闭防火墙
  5.sudo ufw status verbose		#启用后查看
  
  6.sudo ufw allow samba			#新建规则,同时打开应用程序端口 
  7.sudo ufw status numbered		#查看每条规则前数字
  8.sudo ufw delete 1				#删除编号为1的规则,上条命令可以看到数字
  
    sudo ufw allow http			#打开80端口 - HTTP
    sudo ufw allow 8080/tcp		#打开8080端口 - HTTP
  								#备注:这里注意 http 和 tcp 区别,udp 和 tcp 一样
  
  9.sudo ufw allow 137:138/udp	#允许访问某个范围的端口,udp 一样
    sudo ufw allow 8000:8100/tcp
  
  10.sudo ufw allow 139/tcp		#此处两句执行后,应可以访问samba服务器
  10.sudo ufw allow 445/tcp
  
  sudo ufw allow from 55.56.57.58		#允许此IP地址访问本机所有端口
  sudo ufw deny from 192.168.92.1/24	#拒绝某个子网访问本句所有端口
  #samba 的端口号 137udp 138udp 139tcp 445tcp			

  

 #以下三条语句未测试:
  #允许55.56.57.58访问本机22端口,需要指定 IP 地址后面的任何端口和端口号:
  sudo ufw allow from 55.56.57.58 to any port 22    #需测试
  
  #允许子网
  #允许连接到 IP 地址的子网的命令与使用单个 IP 地址时基本相同,区别是需要指定网络掩码。
  sudo ufw allow from 192.168.1.0/24 to any port 3306
  
  #允许连接到特定的网络接口
  #为了允许在特定端口上访问,我们假设端口 3306 仅适用于特定的网络接口 eth2,那么您需要指定允许输入以及网络接口的名称:
  sudo ufw allow in on eth2 to any port 3306

  

  • 说明:
    ufw规则文件在/etc/ufw/下,按顺序before.rules,user.rules,after.rules,before.rules规则为UFW在运行用户自定义的规则之前运行的规则,after.rules为UFW启用用户自定义规则之后运行的规则。规则有冲突时,先设置的规则会提前生效,后面规则不会覆盖上面规则
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值