小白的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.也行(最后点后什么也不跟)。

windows登录终于出输入凭据,但密码错。因为Linux的用户密码和samba的用户密码并不是一码子事,只是samba的用户必须是Linux的用户,因此需要将linux用户添加到samba的用户数据库。http://blog.chinaunix.net/uid-20537084-id-2977850.html
好多文章说用smbpasswd命令,但其实再此之前要修改smb.conf中的
passdb backend = smbpasswd
smb passwd file = /etc/samba/smbpasswd
两个参数,这样才会在/etc/samba/smbpasswd  建立文件。然后sudo smbpasswd -a username。如果smbpasswd文件中增加了内容,说明成功,否则还会提示密码错。
 
好了,可以开启防火墙了。getsebool -a | grep samba 查找selinux中对samba的限制项。setsebool -P samba_export_all_rw=1,设为可读写权限。https://www.cnblogs.com/fjping0606/p/4573131.html
https://blog.csdn.net/qq_33876553/article/details/82926776
 
重启之后不行了,第一个原因:smb关闭了,没有自动启动,chkconfig nmb on
https://blog.csdn.net/sean908/article/details/89308801
https://blog.csdn.net/weixin_40806910/article/details/81917077
开机自动开启vsftpd:chkconfig vsftpd on

https://www.cnblogs.com/lijinshan950823/p/9454436.html

原文地址:https://www.cnblogs.com/cityfckr/p/12302615.html