问题
我在Ubuntu18.04使用 netstat -ntulp
查看开放的端口时,发现有631端口,如下图所示。
图片中最后一列 PID/Program name 没有显示是因为没有以管理员(sudo)身份运行。
使用管理员身份运行后可以看到,631对应的服务是cups打印机服务。
考虑到安全性,就想关掉这个服务。
尝试
-
systemctl disable cups
-
将/etc/init.d/cups和/etc/init.d/cups-browsed删除(我是改了名字)
-
在/etc/init文件夹下加入cups.conf文件,这个是在网上找的方法,文件的内容
start on (filesystem
and (started dbus or runlevel []))
stop on runlevel [0123456]
我试了上面几种方法都没有用,下面是我测试成功的方法
方法
在/etc/init.d
下新建一个脚本文件,例如:myInit.sh
,文件的内容如下:
#!/bin/bash ### BEGIN INIT INFO # # Provides: location_server # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: ss-server initscript # Description: This file should be used to construct scripts to be placed in /etc/init.d. # ### END INIT INFO sudo systemctl stop cups
上面的脚本文件中的注释也要有,不能省去。
然后再:
sudo chmod 755 myInit.sh
赋予权限sudo update-rc.d myinit.sh defaults 90
更新
这样再启动时,就会自动执行这个脚本文件关闭cups服务,关闭631端口。