實驗目的:熟練掌握
文件權限相關概念和具體操做
實驗環境:Red Hat Enterprise Linux Server 5.3
實驗步驟:
1、文件權限
2、計劃任務
3、日誌
系統 1、文件權限 (一)基本權限 1. r (讀,4)w(寫,2) x(執行,1) 2. u (全部者)g(全部組) o(其它) 3. chmod (改變文件權限)chown (改變文件全部者和全部組) 4. chmod 777 boss (設置boss文件爲可讀,可寫,可執行) 5. chown boss.root (設置 boss文件爲boss用戶全部,root 組全部,默認改變文件全部者) 6. chgrp groupname f i lename (改變文件的全部組) (二)特殊權限 1.suid 4 chmod u+s f ilename chmod 4755 f ilename 2.sgid 2 chmod g+s f ilename chmod 2755 f ilename 3.sticky-bit 1 chmod o+t f ilename chmod 1755 f ilename (三)文件系統權限 1. chattr (設置文件系統權限) a 只能追加 I 不能修改 具體權限選項能夠 man chattr 2. lsattr (查看文件系統權限) -d 查看文件夾 (四)facl 文件訪問控制列表 1. facl 只能針對分區設置 2. Vi /etc/fstab 在該分區 /dev/sda6 /boss ext3 defaults,acl 0 0 3. mount -o remount /boss 4. set facl -m u:username:permit ion f ilename(針對用戶設置) 5. set facl -m g:groupname:permit ion filename(針對組設置) 6. set facl -x username f ilename(刪除用戶設置) 7. set facl -x groupname f ilename(刪除組設置 ) 8. getfacl f ilename(查看文件設置) (五)磁盤配額 1. quota 只能針對分區設置 2. vi /etc/fstab (使該分區支持 quota) /dev/sda6 /boss ext3 defaults,usrquota,grpquota 0 0 3. mount -o remount /boss (從新掛載文件系統) 4. quotacheck -cugm/home 5. edquota username (編輯用戶的磁盤配額) Disk quotas for user user1 (uid 503): (單位是k) Filesystem blocks soft hard inodes sof t hard/dev/sda11 0 0 0 0 0 0 6. edquota -g groupname (編輯組的磁盤配額) Disk quotas for group root (gid 0): Filesystem blocks soft hard inodes soft hard /dev/sda11 3105312 0 0 6 0 0 7.quotaon /home (開啓磁盤配額) 8. repquota -a (查看系統的磁盤配額) 9. edquota -t (查看過時時間) 10. setquota (命令行設置磁盤配額) setquota username (block soft ) (block hard) (inode sof t) (inode hard) 2、計劃任務 1.at 臨時計劃任務 at 15:18 10/30/08 at> wall "hello world" 命令 at> Ctrl+z 保存關閉 corn * * * * * 分 時 日 月 周 32 15 * * * /var/spool/at (保存目錄) 2.crontab -e (編輯週期計劃任務) /etc/init .d/crond start (守護進程必須開啓) crontab格式說明 minute 0-59 hour 0-23 day of month 1-31 month 1-12 (or names, see below) day of week 0-7 (0 or 7 is Sun, or use names) Minute hour day month week command 分 時 日 月 周 命令 3.crontab -l(查看當前用戶的 cron計劃任務列表) crontab -u (指定用戶) 4.crontab -r(清除全部計劃任務) crontab f ilename (把文件讀入 crontab中) 5.cd /var/spool/cron/ (crontable 任務保存位置) 6.vim/etc/crontab(系統管理的計劃任務) SHELL=/bin/bash 執行環境 PATH=/sbin:/bin:/usr/sbin:/usr/bin 命令執行環境 MAILTO=root 運行信息郵件發送給root HOME=/ # run-parts 目錄下的指定的腳本(遺漏補充腳本) 01 * * * * root run-parts /etc/cron.hourly (每小時的第一分鐘) 02 4 * * * root run-parts /etc/cron.daily (天天的凌晨4點 02 分) 22 4 * * 0 root run-parts /etc/cron.weekly (每週日的凌晨4點 22 分) 42 4 1 * * root run-parts /etc/cron.monthly(每個月的 1號的凌晨 4點42分) 運行身份 指定目錄 目錄(運行目錄下面全部的腳本) 7.anacron#vim /etc/anacrontab 檢測cron(日.星期.月)是否運行,若是沒有運行,當即補充運行 1 65 cron.daily run-parts /etc/cron.daily 7 70 cron.weekly run-parts /etc/cron.weekly 30 75 cron.monthly run-parts /etc/cron.monthly 時限 1天發現cron.daily 沒有運行,則就運行/etc/cron.daily 65: 延時 65 分鐘 7天發現cron.daily 沒有運行 70: 延時 70 分鐘 30 天發現 cron.monthly 75: 延時 75 分鐘 8./var/spool/anacron (anacron 保存位置) 9. anacron 守護進程 10.spool/anacron 文件都記錄上次運行的時間(每次運行完成後都會改變)計算時間差 3、日誌系統 1.dmesg 查看系統初始化信息 2.日誌守護進程 syslogd klogd 種類:auth(驗證),authpriv、cron(計劃任務) 、daemon、kernl(內核) 、lpr(打印) 、mail(郵件) mark(時間戳一般關閉) 、news(新聞),security(same as auth)、syslog、user(用戶) 、uucp local0 through local7(用戶自定義) 等級: debug, info(詳細), not ice(通知), warning(警告), warn (same as warning) err(錯誤信息) error (same as err) crit , alert, emerg, panic(恐慌) (same as emerg). #man 5 syslog.conf 3.vim /etc/syslog.conf # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console (發送到控制檯) # Log anything (except mail) of level info or higher. # Don't log private authent icat ion messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages (全部對象的info以上的等級,除了 main、authpriv、cron) # The authpriv f ile has restricted access. authpriv.* /var/log/secure (authpriv 的全部等級信息,保存到/var/log/secure文件中) # Log all the mail messages in one place. mail.* -/var/log/maillog (mai l 對象的全部等級,當即保存到/var/log/maillog 文件中) # Log cron stuff cron.* /var/log/cron (cron 對象的全部等級,保存到/var/log/cron 文件中) # Everybody gets emergency messages *.emerg * (全部對象最嚴重的等級,發送給全部用戶)# Save news errors of level crit and higher in a special f ile. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log 4. #種類.等級 #*.debug 全部種類.調試 #*.!=info 除了info之外的信息都要 #*.!info 除了info以上的信息都要 #mail,kern.debug 指定 mail,kern 兩個對象的 debug 信息 #kern.* /dev/console *.* @192.168.0.1 5. 默認syslog日誌同步, -不一樣步設置 支持發送至/dev/tty1(控制檯),@192.168.0.1(遠程服務器) 日誌默認直接記錄到磁盤(若是須要緩衝區的在目錄前-) 從新啓動syslog(新配置後重啓生效) #tail -f /var/log/messages 查看日誌文件 Oct 31 10:08:54 localhost syslogd 1.4.1: restart (remote recept ion). m 日期 主機 進程名稱 消息 6.vim /etc/syscongif/syslog (開啓遠程日誌接收) ————————————————————————————————————————————— #Opt ions to syslogd # -m 0 disables 'MARK' messages. (關閉 mask對象) # -r enables logging fromremote machines (接受來自遠程計算機的日誌) # -x disables DNS lookups on messages recieved with (關閉 DNS 解析) # See syslogd(8) for more details SYSLOGD_OPTIONS="-m 0" (改成 SYSLOGD_OPTIONS="-m 0 -f -x") #Opt ions to klogd # -2 prints all kernel oops messages twice; once for klogd to decode, and # once for processing with 'ksymoops' # -x disables all klogd processing of oops messages ent irely # See klogd(8) for more details KLOGD_OPTIONS="-x" # SYSLOG_UMASK=077 # set this to a umask value to use for all log f iles as in umask(1). # By default , all permissions are removed for "group" and "other" . ————————————————————————————————————————————— 7.logger -p kern.info(級別) "內容" -t 對象 手動發送日誌,-p指定對象類別,發送信息 8.把web服務的訪問日誌放到日誌服務器上 CustomLog "| logger -p local4.info -t apache " common 9.syslogd 使用514端口,經過iptables控制接受哪些用戶的日誌 10.日誌輪詢 天天都執行 放在/etc/cron.daily/中 vim /etc/logrotate.conf # see "man logrotate" for details # rotate log f iles weeklyweekly (文件記錄周爲單位) # keep 4weeks worth of backlogs rotate 4 (保存一個月的日誌量) # create new (empty) log f iles after rotat ing old ones create (建立新增文件經過建立方式) # uncomment this if you want your log f iles compressed #compress (是否使用壓縮) # RPM packages drop log rotat ion informat ion into this directory include /etc/logrotate. d # no packages own wtmp -- we'll rotate them here /var/log/wtmp { monthly create 0664 root utmp rotate 1 }