小白的linux笔记3:对外联通——开通ssh和ftp和smb共享
1。SSH的开通。https://www.cnblogs.com/DiDiao-Liang/articles/8283686.html
安装:yum install sshd或yum install openssh-server
重启SSH服务:systemctl restart sshd 。
启动服务:systemctl start sshd 。停止服务:systemctl stop sshd
启动相关的命令也可以:sevice ssh start/stop/restart/status
查看是否启动22端口:netstat -antp | grep sshd(可略)。https://www.cnblogs.com/justuntil/p/9087823.html
设置开机启动:systemctl enable sshd 即可。禁止SSH开机启动:systemctl disable sshd 。
查看状态:sevice ssh status。检查是否开启SSH服务使用命令:ps -e | grep sshd
2。FTP的开通。https://blog.csdn.net/ft1512975/article/details/6620227
查看是否已经安装ftp软件:which vsftpd
没有的话,安装:yum install vsftpd
查看ftp 服务器状态:service vsftpd status
启动ftp服务器:service vsftpd start
重启ftp服务器:service vsftpd restart
查看服务有没有启动 netstat -ant 或-tlnp
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,证明ftp服务已经开启。
但实际上,发现21端口只在tcp6上有监听,查资料发现,需要修改etc/vsftpd/vsftpd.conf文件,让listen_ipv6=NO,ipv4的listen=YES。重启vsftpd服务。www.chengweiyang.cn/2017/03/05/why-netstat-not-showup-tcp4-socket/
安装ftp客户端测试本机连行不行:yum install ftp。连接ftp localhost,发现可以。怀疑防火墙问题。
查看防火墙是否打开,systemctl status firewalld,果然running状态。关闭之:systemctl stop firewalld。可以了。
于是在防火墙规则中添加ftp的默认21号端口: sudo iptables -A INPUT -p TCP --dport 21 -j ACCEPT。重新启动防火墙:systemctl start firewalld。https://blog.csdn.net/yanhuan136675/article/details/79285268
开机自动开启vsftpd:chkconfig vsftpd on
https://www.cnblogs.com/huchong/p/9669737.html
3。共享文件https://www.cnblogs.com/lijinshan950823/p/9454436.html
安装samba:yum install samba
设置/etc/samba/smb.conf文件:在结尾加上
[share]
comment=this is Linux share directory
path=/home/username/share
public=yes
writable=yes
详细设置参考https://blog.csdn.net/weixin_40806910/article/details/81917077
用testparm命令测试conf正确性。提示"rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)",需要修改/etc/security/limits.conf:最后加一行:
* - nofile 16384
https://blog.csdn.net/sean908/article/details/89308801
service smb start失败,smbstatus命令查看问题,发现WARNING: Ignoring invalid value 'share' for parameter 'security'。删掉或注释掉相关行。再start,ok。https://www.cnblogs.com/leon-1125/p/7486873.html
除了smb,还需要一个nmb。service nmb status发现是关闭状态,service nmb start。再看status发现已经启动。
防火墙有两个,除了前面提到的firewalld,还有一个selinux。要用getenforce查看,setenforce 0关闭,1打开。实验证明,firewalld打开不影响smb,但enforce 1是不行的。https://www.cnblogs.com/caicaizi/p/9564754.html
一直连不上,发现是host allow的问题,允许ip最后一位写0或者是*是不行的,改成具体的客户机的ip就ok,直接192.168.0.也行(最后点后什么也不跟)。
smb passwd file = /etc/samba/smbpasswd
https://www.cnblogs.com/lijinshan950823/p/9454436.html