1. 程式人生 > >系統延時命令(at命令,crontab命令),ftp服務(服務端和客戶端檔案的上傳和下載)[匿名使用者,本地使用者,虛擬使用者]

系統延時命令(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不可以寫