系統延時命令(at命令,crontab命令),ftp服務(服務端和客戶端檔案的上傳和下載)[匿名使用者,本地使用者,虛擬使用者]
1.系統延遲任務
# at 命令發起的指令都是一次性的
at (+)time ##指定命令執行的時間
at -l ##檢視當前任務
ad -d 3 #取消還未執行的任務(3:at -l 所看到的任務號)
atrm 4 #取消還沒有執行的任務(4:at -l 所看到的任務號)
at now+1min #指令延遲1分鐘執行
at -f filename #延遲執行檔案中的內容
at -m #延遲命令沒有輸出的情況下發郵件給執行著
at -M #延遲命令沒有輸出的情況下不發郵件給執行著
##at命令的執行權力設定
/etc/at.deny ##使用者黑名單,在此名單中的使用者不能執行at命令
/etc/at.allow ##使用者白名單,白名單預設不存在(需要自己建立)
##如果白名單一旦存在,只有在白名當中存在的使用者才能執行at命令
###定時任務
#定時任務是永久的
發起方式1
crontab -u username -e #編寫定時任務
crontab -u username -r #刪除定時任務
crontab -u username -l #檢視定時任務
* * * * *
1:分鐘 2:小時 3:天 4:月 5:周
* * * /2* * :每隔兩天
發起方式2:
vim /etc/cron.d/filename
* * * * * root rm -rf /mnt/* ##root使用者每一分鐘清理一次/mnt
crontab命令的執行權利設定:
/etc/cron.deny #使用者黑名單,在此名單中出現的使用者不能執行crontab命令
/etc/corn.allow #使用者白名單,只有在此名單中出現的使用者才能執行crontab命令
名單預設不存在1需要自己建立
====================
例題:
* 10,14,16 * * * ##每天上午10點,下午2點 4點
* 0/30 9-17 * * * ##早上9點到下午5點,每30分鐘
* 0-5 14 * * * ##每天下午2點到2:05
====================
* * */2 * * :每隔兩天
##系統臨時檔案的管理
系統中服務在正常執行中都會產生臨時檔案 /usr/lib/tmpfiles.d/(在此檔案中可以檢視)
vim /usr/lib/tempfiles.d/*.conf(編輯配置檔案)
d /mnt/westos 777 root root 10s
檔案型別 臨時檔案所在的目錄 許可權 擁有人 所屬組 檔案存在的時間
sysyemd-tmpfiles --create /usr/lib/tmpfiles.d/westos.conf ##執行配置而檔案內容
sysyemd-tmpfiles --clean /usr/lib/tmpfiles.d/westos.conf ##清理臨時檔案
####ftp服務,服務段和客戶端相互上傳下載檔案###
使虛擬機器也要共享真機的yum源,才能安裝相關的服務
編輯 /etc.yum.repo.d/yum.repo配置檔案(如圖所示)
如圖所示,說明虛擬機器也可以使用yum源
1.安裝服務
yum install vsftpd -y
systemctl satrt vsftpd
systenctl enable vsftpd
關閉防火牆和selinux(核心級的防火牆)
systemctl stop firewalld
systemctl disable filewalld(設定開機不啟動,為後面的reboot做準備)
vim /etc/sysconfig/selinux =====> SELINUX=disabled(getenforce檢視核心級防火牆是否關閉如果
現實Disabled則說明已經關閉)
reboot(重啟,生效)因為selinux檔案只有在開機時才能夠被系統讀取(所以之前要把防火牆設定成開機不啟動)
2. vsftpd服務的配置引數(都是在被被訪問端修改配置檔案)
1)匿名使用者的設定
anonymous_enable-YES|NO #匿名使用者登入的限制(YES表示允許匿名使用者登入)
允許匿名使用者上傳
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
chmod 775 /var/ftp/pub/(給該檔案許可權)
chgrp ftp pub/ (使得匿名使用者上傳的檔案的所屬組為ftp)
#允許匿名使用者建立目錄(無法建立檔案 touch file)
anon_mkdir_write_enable=YES
# 允許匿名使用者刪除檔案
anon_other_enable=YES
==========================================
#匿名使用者下載自己上傳的檔案
anon_world_eradable_only=NO(NO:表示匿名使用者可以下載)
匿名使用者上傳檔案預設許可權修改
anon_umask=022(超級使用者的預設對檔案的許可權為666,系統保留022,則
新建的檔案許可權為644)
===========================================
匿名使用者使用的身份修改
chown_uploads=YES(則student使用者就可以執行匿名使用者的各種操作)
chown_username=student
匿名使用者的最大上傳速率
anon_max_rate=102400
最大連線數
max_clients=2
匿名使用者家目錄的修改
anon_root=/mnt (修改後,匿名使用者預設檢視的是/mnt下的內容)
===========================
####ftp#####
常見的報錯:
500報錯:許可權過大
530報錯:認證失敗
550報錯:服務本身不允許
553報錯:檔案系統許可權過小
[本地使用者]
本地使用者家目錄的修改
local_root=/westos
本地使用者上傳檔案的許可權
local_umask=xxx(例如775)
限制我本地使用者瀏覽根目錄
chroot_local_user=YES(修改配置檔案)
chmod u-w /home/*
使用者黑名單的建立(把westos加入黑名單)
chroot_local_user=No
chroot_list_enable=YES(以上兩步為修改配置檔案)
chroot_list_file=/etc/vsftpd/chroot_list(將westos使用者加入黑名單)
使用者白名單的建立(將student使用者加入白名單)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
限制本地使用者登入
vim /etc/vcftpd/ftpusers ###永久黑名單(在此名單中的使用者即使在白名單中也不能登入)
vim /etc/vcftpd/user_list ###臨時黑名單
使用者白名單的設定
userlist_deny=NO
/etc/vsftpd/user_list ##此引數設定,此檔案變成使用者白名單
名單中出現的使用者可以登入ftp
##ftp虛擬使用者的設定
vim /etc/vsftpd/westosfile
user1
123
user2
123
使用者資訊加密
db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db
cat westosfile.db檢視
vim /etc/pam.d/westos
account required pam_userdb.so db=/etc/vsftpd/westosfile
auth required pam_userdb.so db=/etc/vsftpd/westosfile
編輯配置檔案
vim /etc/vsftpd/vsftpd.conf(要將之前做的使用者黑名單註釋了)
pam_service_name=westos
guest_enable=YES
guest_username=westos ##虛擬使用者身份指定
##虛擬使用者家目錄的獨立設定(並給775的許可權,虛擬使用者才能執行寫的操作)
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p
注意:-R的作用是將該目錄下的目錄或檔案的所屬組都修改了
編輯配置檔案
vim /etc/vsftpd/vsftpd.conf
local_root=ftphome/$USER
user_sub_token=$USER ($USER設定使用者名稱自動更改)
#虛擬使用者的獨立配置
chmod 775 /ftphome/user1/user1dir
chmod 775 /ftphome/user2/user2dir
結果:每個使用者訪問自己的目錄
編輯配置檔案
vim /etc/vsftpd/vsftpd.conf(編寫配置檔案)
----》user_config_dir=/etc/vsftpd/userconf
mkdir /etc/vsftpd/userconf
vim /etc/vsetpd/userconf/user1(單獨給user1編寫檔案)
舉例:檔案中內容>>anon_upload_enable=YES
結果:user1可以寫 user2不可以寫