网站权限-通过控制权限让网站安全
- linux默认的权限
① : 主人 家人 陌生人
文件的权限: rw- r-- r-- 644
目录的权限: rwx r-x r-x 755
② :让文件或者目录的所有者和家组属于 root root
目的 更安全 → 文件 644 root root
→ 目录 755 root root ————所属于ROOT使普通用户拥有最小的权限
- 网站比较安全的权限——模拟环境→网站软件程序 存放在/app/www目录下面
① :谁来运行这个网站程序—— www(test用户)
② :/app/www 这个目录及子目录 755 root root
/app/www 这个目录里面所有的文件 644 root root
useradd test ——创建一个test用户
[root@learn-k ~]# mkdir -p /app/test
[root@learn-k ~]# mv /app/test/ /app/www
[root@learn-k ~]#
[root@learn-k ~]# ll /app/www/
total 0
[root@learn-k ~]# su - test
[test@learn-k ~]$ cd /app/www/
[test@learn-k www]$ ll
total 0
[test@learn-k www]$ touch yelow.avi
touch: cannot touch `yelow.avi': Permission denied
[test@learn-k www]$ ll -d /app/www/
drwxr-xr-x 2 root root 4096 Jul 3 00:23 /app/www/
创建文件权限拒绝,是因为所在的目录没有修改的权限只能查看。
对于test用户 :/app/www/ 目录 只有r-x的权限就是只能看。因为该目录所属主和所属主是root用户
- 解决办法
1)修改这个文件所在目录的权限,给这个目录添加上w权限-不安全-权限给的太大
2) 把目录的所有者给test
文件系统权限
① :查看权限 lsattr
② :设置权限 chattr a---->只能追加
i---->无敌了
- 给user所有者添加s权限相当于给root权限
举个栗子:
- 给/tmp 目录 陌生人+t 权限粘滞性
- -t 所有人都可以在/tmp里面创建文件 但是自己只能管理自己的文件。
定时任务——cron
- 查看cron定时任务是否已经安装
rpm -qa 查看软件是否已经安装 rpm -ql 查看软件包里面的内容
ps -ef |grep XXX 查看某进程是否在运行 /etc/ini.d/crond status 查看定时任务状态
chkconfig|grep crond 查看crond是否开机自启动 运行级别3:on 证明是随开机启动命令行模式
设置每五分钟同步一次系统时间
- 第一步:先把同步时间的命令写出来
- 第二步:写入到定时任务中
[root@learn-k ~]# crontab -l
# sync time every 5 minute
* * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1
↑从第一个*到最后一个分别为 : 分时日月周 ↑ 为什么要追加到空???
- 第三步:检查修改时间看能不能同步回来
[root@learn-k ~]# date -s "20180703 20:59:00"
随便设置一个时间,另开一个窗口打开定时任务日志文件实时查看
如果时间同步到最新的校对时间,证明定时任务成功
- 第四步: 修改为每五分钟校对最近的系统时间
# sync time every 5 minute
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1
↑表示每五分钟校队最近的系统时间
每分钟显示系统的时间(年-月-日_小时) 追加到/test/time.log
- 第一步:命令写出来
- 第二步:把命令写入到脚本中并运行
- 第三步:把脚本写入到定时任务中
- 第四步:新开窗口实时查看定时任务日志
如图所示如果是每分钟都会追加到日志文件中,表明定时任务成功,如下图
企业案例:如果定时任务规则结尾不加>/dev/null 2>&1或者追加到文件中>>/tmp/oldboy 2>&1
没有定向到空和文件中的情况 显示在屏幕中的内容去哪里了?
很容易导致硬盘inode空间被占满,从而系统服务不正常。
定时任务中 命令或脚本的结果 没有定向到空或文件中
定时任务中-命令或脚本结果(正确及错误)定向到黑洞(>/dev/null 2>&1)或追加到文件中 >>/tmp/oldboy.txt 2>&1
定向到空 >/dev/null 2>&1 == >/dev/null 2>/dev/null
追加到文件 >>/tmp/oldboy.txt 2>&1 ===== >>/tmp/oldboy.txt 2>>/tmp/oldboy.txt
每天凌晨2点打包备份/etc/services 备份到/tmp,要求每天的备份包名字不同
- 第一步:命令写出来,查看是否执行成功如上图
root@learn-k ~]# tar zcf /tmp/services_$(date +%F).tar.gz /etc/services
打包命令用法:tar(打包) 到 /tmp(哪个位置) XXX.tar.gz (装框) /etc/passwd (装框的物品)
例如:
tar /backup/baklog.tar.gz /var/log/message 打包系统日志文件到/backup目录下 格式为baklog.tar.gz
- 第二步:创建脚本
- 第三步:写入定时任务-每分钟运行
如上图所示即代表定时任务执行成功
- 第四步:修改所要备份的时间
定时任务 * * * * * 从第一个到最后一个(共五个)分别代表 分时日月周
如上题每天凌晨2点打包即代表 00 02 * * * 对日月周没有限定就已*代替
例子: 如果是每个月每周日早晨6点即是: 00 06 * 01 07
每2月的第一个凌晨 3:15 15 03 1 */2 *
本次总结完毕,谢谢大家的支持,有错误的大家及时纠正。