Linux基础服务简单配置(DNS,DHCP,FTP,计划任务)

服务DNS 域名解析 端口53(bind)

主要文件

/etc/named.conf   #bind的配置文件
/var/named/alvinyuan.zone   #你自己编写的zone
/etc/resolv.conf   #指定DNS服务器所在的IP地址

安装

yum install -y bind* 
#(6:bind 7:unbound)

编写主配置文件:vim /etc/named.conf
在这里插入图片描述

listen -on port 53 {any;};
allow -query {any;};

zone "alvinyuan.com" IN {
			type master;
			file "alvinyuan.zone";
};
zone "110.132.in-addr.arpa" IN {
                        type master;
                        file "110.132.zone";
};

数据配置文件名:alvinyuan.zone 与主配置文件一致,110.132.zone是反向解析数据文件

正向解析

vim /var/named/alvinyuan.zone
$TTL 600
@       IN      SOA     web.alvinyuan.com.   root.alvinyuan.com. (
        2009050401
        3600
        600
        3600000
        1800 )
@               IN      NS      web.alvinyuan.com.
web             IN      A       192.168.110.132
www             IN      A       192.168.110.133
monitor         IN      A       192.168.110.134

dns中记录的类型

SOA:起始授权记录
NS:域名服务记录
NS web.alvinyuan.com. #指定dns服务器
www A 192.168.110.132 #A代表正向解析
A:ipv4记录
AAAA:ipv6记录

反向解析

vim /var/named/110.132.zone

反向解析

$TTL 600
@       IN      SOA     web.alvinyuan.com.   root.alvinyuan.com. (
        2009050401
        3600
        600
        3600000
        1800 )
@               IN      NS      web.alvinyuan.com.
132             IN      PTR     web.alvinyuan.com.
133             IN      PTR     www.alvinyuan.com.
134             IN      PTR     monitor.alvinyuan.com.

指定DNS服务器所在的IP地址

vim /etc/resolv.conf
nameserver 192.168.110.132

重启服务:

systemctl  start  named

验证:ping 域名,地址自动解析成数据文件的IP

在这里插入图片描述

nslookup web.alvinyuan.com
dig web.alvinyuan.com

服务DHCP 动态主机配置协议:端口67

BOOTP:在主板上一段程序单向输出
1:服务器端配置静态IP:
2:yum install -y dhcp
3:改配置:

vim /etc/dhcp/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 { 网段
rang 192.168.0.100 192.168.0.20; 范围
option routers 192.168.0.1; 网关
option domain-name-server 192.168.0.110;	DNS服务器
}

4:启动服务:

service dhcpd start

5:客户端验证:网卡模式仅主机,配置文件改为dhcp,IP和子网#注释掉
6:重启网络服务:

service network restart

7:验证:是否由服务器端分配IP:

ifconfig eth0 | grep Bcast

8:查看网关:

 route -n | grep UG

9:查看DNS:

cat /etc/resolv.conf

服务FTP 文本传输协议,实现共享功能:

端口21 是vsftp
工作模式:1主动模式:发数据端口为20

yum install -y vsftpd ftp
cd /etc/vsftpd
mv vsftpd.conf vsftpd.conf.bak  #备份配置文件以免修改错误可还原

新建配置文件

cat>>/etc/vsftpd/vsftpd.conf <<_EOF #改配置文件
anonymous_enable=NO
write_enable=YES
chroot_list_enable=YES
use_localtime=YES
local_enable=YES
allow_writeable_chroot=YES
xferlog_enable=YES
local_umask=022
pam_service_name=vsftpd
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=120
data_connection_timeout=120
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/vuser_conf
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1
chroot_list_file=/etc/vsftpd/chroot_list
_EOF
useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser #创建ftpuser用户
passwd ftpuser  #赋予密码
chown -R ftpuser.root /home/vsftpd  #给家目录权限
touch /etc/vsftpd/vuser_passwd  #创建虚拟用户名密码

创建虚拟用户ftp1和ftp2

cat>>/etc/vsftpd/vuser_passwd<<_EOF
ftp1   #第一行用户名
123456  #第二行密码
ftp2   #用户名
123456  #密码
_EOF
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db  #生成虚拟用户数据文件,如果更改虚拟用户密码需要更改vuser_passwd里的密码,在执行这条命令重置vuser_passwd.db数据文件
chmod 600 /etc/vsftpd/vuser_passwd.db  #更改文件权限
mkdir /etc/vsftpd/vuser_conf  # 建立虚拟用户个人vsftp的配置文件
cd /etc/vsftpd/vuser_conf     # 进入目录
touch ftp1 ftp2

建立虚拟用户配置文件

该文件可修改用户的访问家目录,比如 local_root=/home/vsftpd/ftp1 可修改成local_root=/var/www/html

cd /etc/vsftpd/vuser_conf
cat >>ftp1<<_EOF
local_root=/home/vsftpd/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
_EOF
cd /etc/vsftpd/vuser_conf
cat >>ftp2<<_EOF
local_root=/home/vsftpd/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
_EOF

限制只能ftp1和ftp2访问

echo -e "ftp1\nftp2" >/etc/vsftpd/chroot_list

查看目录vsftp目录结构

yum install -y tree
tree  /etc/vsftpd   #查看目录结构
/etc/vsftpd/
├── chroot_list #CHROOT可以增进系统的安全性,限制使用者能做的事,在这里的用户可以访问
├── ftpusers  #黑名单,默认开启黑名单,配置文件写了userlist_deny=YES 则在/etc/vsftpd/user_list和/etc/vsftpd/ftpusers 这两个文件中的用户不能登录 
├── user_list   #白名单,只有写在user_list中的普通用户才可以登录ftp在白名单上可登录
├── vsftpd.conf   #vsftp配置文件
├── vsftpd.conf.bak
├── vsftpd_conf_migrate.sh
├── vuser_conf   #虚拟用户配置文件夹
│   ├── ftp1
│   └── ftp2
├── vuser_passwd  #虚拟用户账户密码
└── vuser_passwd.db  #虚拟用户数据文件

重启服务

setenforce 0   #关闭selinux
systemctl  start vsftpd  #启动服务
netstat -anplut | grep ftp  #查看端口是否是vsftpd占用的

登录

ftp 127.0.0.1
#之后根据提示输入用户名和密码

登录后默认位置:/var/ftp 默认为虚拟用户配置文件中local_root=/home/vsftpd/ftp1 配置的目录

其他

ftp 两种传输方式:
binary 二进制比特流方式传输,速度快(默认)
ASCII 文本方式传输,速度慢一些
切换:ftp > status ftp >ascii

工作模式:
主动模式:发数据端口为20
被动模式:端口随机

两个链接
1命令链接
2数据链接

sftp且限制用户访问目录

通过加密SSH传输处理所有操作。
功能简述:凡是在用户组sftp里的用户,都可以使用sftp服务
使用sftp服务连接上之后,可访问目录为/srv/sftp/username

举个例子:

  • 用户test是一个sftp组的用户,那么他通过sftp连接服务器上之后,只能看到/srv/sftp/test目录下的内容
  • 用户test2也是一个sftp组的用户,那么他通过sftp连接服务器之后,只能看到/srv/sftp/test2目录下的内容

创建sftp服务用户组,创建sftp服务根目录

groupadd sftp
#此目录及上级目录的所有者(owner)必须为root,权限不高于755,此目录的组最好设定为sftp
mkdir /srv/sftp
chown -R root:sftp /srv/sftp
chmod -R 0755 /srv/sftp 

备份sshd配置文件然后编辑

mv /etc/ssh/sshd_config ~/backup/sshd_config_xxx                     
vim /etc/ssh/sshd_config
#注释掉/etc/ssh/sshd_config文件中的此行代码:
Subsystem  sftp    /usr/libexec/openssh/sftp-server

添加如下代码:

Subsystem sftp internal-sftp
Match Group sftp
    ChrootDirectory /srv/sftp/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

重启sshd服务

systemctl restart sshd

添加有效的sftp用户,且给予用户写权限

创建一个名称为test的sftp帐号

#创建test的家目录:test目录的所有者必须是root,组最好设定为sftp,权限不高于755
mkdir /srv/sftp/test
chmod 0755 /srv/sftp/test
groupadd sftp
chown root:sftp /srv/sftp/test
#添加用户 使用参数 -s/sbin/nologin禁止用户通过命令行登录                  
useradd -gsftp -d/srv/sftp/test -s/sbin/nologin test
passwd test  #赋予test用户密码

关于写权限

#在test目录下创建一个可以写的目录

mkdir /srv/sftp/test/write 
chown -R test:sftp /srv/sftp/test/write

这样test用户就可以在自己家目录里的write目录下拥有写入权限了

sftp服务的根目录的所有者必须是root,权限不能超过755(上级目录也必须遵循此规则),sftp的用户目录所有者也必须是root,且最高权限不能超过755.

常用命令

sftp> ls #list directory
sftp> pwd #print working directory on remote host
sftp> lpwd #print working directory on local host
sftp> mkdir abc #create a new directory abc

推送文件至sftp服务端
要将整个目录上传到sftp服务端,请使用put命令。

在客户端找到需要上传的文件夹

在这里插入图片描述

put -r /tmp

在这里插入图片描述

get -r dir 
#下载dir目录以及文件

退出

exit

crontab 计划任务(默认为开启状态)

1:service crond start
crontab -u 设定某个用户的crond服务
-l 列出某个用户cron服务的详细内容
-r 删除某个用户的cron服务
-e 编辑某个用户的cron服务
使用:crontab -u user1 -e 给user1设定一个计划任务
分钟 小时 日 月 周 命令
范围 0-59 0-23 1-31 1-12 0-7 (时间任意用*表示)
配置文件所在位置:
/var/spool/cron 可直接追加

echo '15 6 * * * /bin/echo "welcome">>/var/spool/cron/user1
*/2 * * * *   #每两分钟执行

每天零点定期清理大于30天的master-bin 文件

0 0 * * *  find /var/lib/mysql -name "master-bin*" -type f -ctime +30 -exec rm -rf {} \; > /dev/null 2>&1
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值