Admin07
root tmooc

还原三台虚拟机
[root@room9pc13 ~]# rht-vmctl reset classroom
[root@room9pc13 ~]# rht-vmctl reset server
[root@room9pc13 ~]# rht-vmctl reset desktop

######################################
基本权限
访问方式(权限)
读取:允许查看内容-read r
写入:允许修改内容-write w
可执行:允许运行和切换-execute x

对与文本文件:
r:cat head tail less
w:vim
x:可以运行该文件

权限适用对象(归属)
所有者(属主):拥有此文件/目录的用户-user u
所属组(属组 ):拥有此文件/目录的组-group g
其他用户:除所有者、所属组以外的用户-other o

目录的 r 权限:能够 ls 浏览此目录内容
目录的 w 权限:能够执行 rm/mv/cp/mkdir/touch/...等更改目录内容的操作
目录的 x 权限:能够 cd 切换到此目录

附加权限(特殊权限)
Set GID
附加在属组的 x 位上
属组的权限标识会变为 s
适用于【目录】,Set GID可以使目录下【新增】的文档自动设置与父目录相同的属组
继承父目录的所属组身份

#####################################
附加权限

附加在【属主】的 x 位上
属主的权限标识会变为 s
适用于【可执行文件】,Set UID可以让使用者具有文件属主的身份及部分权限
传递所有者身份
(Linux中的命令默认所有者都是root)

必须具备以下几个条件(前提):
只有可执行的程序才可以设置SetUID
所有者必须对欲设置SetUID的文件具备 可执行(x) 权限
命令执行过程中,其它用户获取所有者的身份(灵魂附体)
SetUID具有时间限制,即完成该程序执行后就消失(不能霸占住不放吧?)

[root@server0 ~]# /usr/bin/mkdir /opt/abc
[root@server0 ~]# cp /usr/bin/mkdir /usr/bin/hahadir
[root@server0 ~]# chmod u+s /usr/bin/hahadir
[root@server0 ~]# ls -l /usr/bin/hahadir

[root@server0 ~]# useradd zhangsan
[root@server0 ~]# su - zhangsan
[zhangsan@server0 ~]$ /usr/bin/mkdir nsd01
[zhangsan@server0 ~]$ /usr/bin/hahadir nsd02
[zhangsan@server0 ~]$ ls -l
[zhangsan@server0 ~]$ exit
[root@server0 ~]# su - zhangsan

[zhangsan@server0 ~]$ /usr/bin/mkdir /nsd03

[zhangsan@server0 ~]$ /usr/bin/hahadir /nsd03
[zhangsan@server0 ~]$ ls -ld /nsd03
drwxrwxr-x. 2 root zhangsan 6 Mar 11 10:10 /nsd03

########################################################
Sticky Bit
附加在【其他人】的 x 位上
其他人的权限标识会变为 t
适用于开放 w 权限的目录,可以阻止用户滥用 w 写入权限(禁止操作别人的文档)

[root@server0 ~]# mkdir /public
[root@server0 ~]# chmod ugo=rwx /public/
[root@server0 ~]# useradd zhangsan
[root@server0 ~]# useradd lisi
[root@server0 ~]# useradd gelin01
[root@server0 ~]# chmod o+t /public/

[root@server0 ~]# ls -ld /public/

[root@server0 ~]# su - zhangsan
[zhangsan@server0 ~]$ touch /public/zhangsan.txt
[zhangsan@server0 ~]$ exit

[root@server0 ~]# su - lisi
[lisi@server0 ~]$ touch /public/lisi.txt
[lisi@server0 ~]$ ls /public/

[lisi@server0 ~]$ rm -rf /public/zhangsan.txt

[lisi@server0 ~]$ rm -rf /public/lisi.txt

######################################
查找文本内容:
根据字符串模式提取文本行
grep [选项] '匹配模式' 文本文件...
命令行 | grep [选项] '匹配模式'
常用命令选项
-v,取反匹配
-i,忽略大小写

[root@server0 ~]# grep root /etc/passwd

[root@server0 ~]# grep ROOT /etc/passwd
[root@server0 ~]# grep -i ROOT /etc/passwd //忽略大小写

[root@server0 ~]# grep -v root /etc/passwd //取反查找

[root@server0 ~]# ifconfig | head -2 | grep inet

++++++++++++++++++++++++++++++++++++++
常用的匹配模式

word 包含字符串word
^word 以字符串word开头
word$ 以字符串word结尾

[root@server0 ~]# grep ^root /etc/passwd

[root@server0 ~]# grep root$ /etc/passwd

[root@server0 ~]# grep bash$ /etc/passwd

[root@server0 ~]# grep ^root /etc/shadow

匹配空行
[root@server0 ~]# grep ^$ /etc/default/useradd

[root@server0 ~]# grep -v ^$ /etc/default/useradd

显示文件的内容,有效的配置(去除注释、去除空行)
[root@server0 ~]# grep -v ^# /etc/default/useradd

[root@server0 ~]# grep -v ^# /etc/default/useradd | grep -v ^$

[root@server0 ~]# grep -v ^# /etc/login.defs

[root@server0 ~]# grep -v ^# /etc/login.defs | grep -v ^$

##################################################
查找文件
根据预设的条件【递归】查找对应的文件
find [目录] [条件1] [-a|-o] [条件2] ...
常用条件表示:
-type 类型(f、d、l)
-name "文档名称"
-size +|-文件大小(k、M、G)
-user 用户名
-group 组

[root@server0 ~]# find /boot/ -type f #文本文件

[root@server0 ~]# find /boot/ -type d #目录

[root@server0 ~]# find /boot/ -type l #快捷方式

[root@server0 ~]# ls -l /boot/grub/menu.lst

-name "文档名称"
[root@server0 ~]# find /etc/ -name "passwd"
/etc/passwd
/etc/pam.d/passwd

[root@server0 ~]# find /etc/ -name "*tab*"

++++++++++++++++++++++++++++++++++++
查找/etc/以.conf结尾(包含子目录)
[root@server0 ~]# find /etc/ -name "*.conf"

查找/etc/以.conf结尾(包含子目录)
[root@server0 ~]# ls /etc/*.conf

++++++++++++++++++++++++++++++++

[root@server0 ~]# touch /root/nsd01.txt
[root@server0 ~]# touch /root/nsd02.txt
[root@server0 ~]# mkdir /root/nsd1803

[root@server0 ~]# find /root/ -name "nsd*"

[root@server0 ~]# find /root/ -name "nsd*" -type f

[root@server0 ~]# find /root/ -name "nsd*" -type d

[root@server0 ~]# find /root/ -name "nsd*" -o -type d

#############################################
-size +|-文件大小(k、M、G)

[root@server0 ~]# find /boot/ -size +10M
[root@server0 ~]# find /boot/ -size -300k
[root@server0 ~]# find /boot/ -size -1M

-user
[root@server0 ~]# find /home/ -user student
[root@server0 ~]# find / -user student

-group
[root@server0 ~]# find /home/ -group student

################################
使用find命令的 --exec 操作
find .. .. -exec 处理命令 {} \;
优势:以 {} 代替每一个结果,逐个处理,遇 \; 结束

[root@server0 ~]# find /boot/ -name "vm*" -exec cp {} /opt/ \;

[root@server0 ~]# find /boot/ -size +10M -exec cp {} /opt/ \;

+++++++++++++++++++++++++++++++++++++++++++++
案例2:查找并处理文件
使用find命令完成以下任务
找出所有用户 student 拥有的文件
把它们拷贝到 /root/findfiles/ 文件夹中

[root@server0 ~]# mkdir /root/findfiles
[root@server0 ~]# find / -user student -type f -exec cp {} /root/findfiles/ \;

++++++++++++++++++++++++++++++++++++++++++++++++
根据名称查找,忽略大小写
-iname
[root@server0 ~]# find /etc/ -name "PASSWD"
[root@server0 ~]# find /etc/ -iname "PASSWD"

++++++++++++++++++++++++++++++++++++++++++++++++
限制目录查找的深度(最大层数)
-maxdepth
[root@server0 ~]# find /etc/ -maxdepth 1 -name "*.conf"
[root@server0 ~]# find /etc/ -maxdepth 2 -name "*.conf"
[root@server0 ~]# find /etc/ -maxdepth 3 -name "*.conf"

+++++++++++++++++++++++++++++++++
查找文件
根据文件修改时间
-mtime +10 //超过10天
-mtime -10 //10天内

[root@server0 ~]# find /var/log/ -mtime -10

[root@server0 ~]# find /var/log/ -mtime +100

#############################################
cron计划任务
用途:按照设置的时间间隔为用户【反复】执行某一项固定的系统任务
软件包:cronie、crontabs
系统服务:crond
日志文件:/var/log/crond

配置格式可参考 /etc/crontab 文件
分 时 日 月 周 任务命令行(绝对路径)
* * * * *
0 8 * * 5
30 11 * * *

*:匹配范围内任意时间
,:分隔多个不连续的时间点
-:指定连续时间范围
/n:指定时间频率,每n ...

30 23 * * 1,3,5
30 23 * * 2-5
0 */2 * * *
* * */2 * *

-------------------------
30 23 1 * 2 //两者都满足周二或是1号都满足
-------------------------

分 0-59
时 0-23
日 1~31
月 1~12
星期 0或7代表星期日

++++++++++++++++++++++++++++++
管理计划任务
使用 crontab 命令
编辑:crontab -e [-u 用户名]
查看:crontab -l [-u 用户名]
清除:crontab -r [-u 用户名]

每分钟记录当前系统的时间,写入到/opt/time.txt
[root@server0 ~]# crontab -e -u root
*/1 * * * * date >> /opt/time.txt

[root@server0 ~]# crontab -l

admin-7的更多相关文章

  1. Django admin定制化,User字段扩展[原创]

    前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...

  2. Django admin美化插件suit应用[原创]

    前言 由于比较懒,自己弄了一个用户验证,没有自己写后台,用了django自带的user认证,并通过admin直接进行管理,但默认的admin并不漂亮,于是使用了这个django-suit插件,效果对比 ...

  3. OpenStack Mitaka 版本中的 domain 和 admin

    OpenStack 的 Keystone V3 中引入了 Domain 的概念.引入这个概念后,关于 admin 这个role 的定义就变得复杂了起来. 本文测试环境是社区 Mitaka 版本. 1. ...

  4. Django Admin

    //设置admin列表名称 def __str__(self): return u'%s' % self.name class Meta: db_table ="数据库的那个表" ...

  5. Django基础,Day3 - 编写 django admin

    Django 自带了一个简易编辑后台,可以称为"内容发布器",一般是提供给站点管理员使用的,其最开始也是开发出来提供给报社编辑和发布新闻使用的. 创建超级管理员: $ python ...

  6. SB Admin 2 学习笔记1

    需要掌握能够搭建起一个 dashboard 的能力, 因为很少有运维开发团队有专职的前端, bootstrap 也要讲个基本法. SB Admin 2, 一个免费的 bootstrap theme, ...

  7. 【Django】--Models 和ORM以及admin配置

    Models 数据库的配置 1    django默认支持sqlite,mysql, oracle,postgresql数据库 <1>sqlite django默认使用sqlite的数据库 ...

  8. Django admin 权威指南(一)

    版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...

  9. 【原创】kafka admin源代码分析

    admin包定义了命令行的一些实现 一.AdminOperationException.scala 一个异常类,表示执行admin命令时候抛出的异常 二.AdminUtils.scala admin一 ...

  10. [django]Django站点admin支持中文显示和输入设置

    正文: Django站点admin支持中文输入设置,操作如下: 1 需要确定的你的数据库的client客户端和服务端的编码设置为utf-8,如果不是,请将其设置成utf-8编码,我采用mysql,详情 ...

随机推荐

  1. IntelliJ IDEA入门系列

    1.Java Web之Helloworld配置 2.Java Web之Maven搭建Helloworld 3.Java Web之Spring MVC简单管理系统

  2. 26. Remove Duplicates from Sorted Array★

    题目内容: Given a sorted array, remove the duplicates in place such that each element appear only once a ...

  3. 用反射的形式将一个对象属性值赋值给另一个对象,省略点get/set方法的冗余代码

    1.本例使用的是idea 首先需要在idea中安装lombok插件,省略getter和setter方法的书写 在maven项目中加入lombok依赖 <dependency> <gr ...

  4. 几个常用内核函数(《Windows内核情景分析》)

    参考:<Windows内核情景分析> 0x01  ObReferenceObjectByHandle 这个函数从句柄得到对应的内核对象,并递增其引用计数. NTSTATUS ObRefer ...

  5. python ---split()函数讲解

    python ---split()函数讲解 split中文翻译为分裂. 在python用于分割字符串使用. split()就是将一个字符串分裂成多个字符串组成的列表. split()可以传入参数,也可 ...

  6. better-scroll

    better-scroll会将默认事件阻止掉,如果自己写的部分需要有点击事件,需要在参数里加上click:true. 同时,在PC上或某些手机端,由于未成功将touchend事件move掉,点击事件会 ...

  7. Selenium-java测试环境搭建

    1.1背景 Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Mozilla ...

  8. 大数据处理N!(21<N<2000)

    输入: 每行输入1个正整数n,(0<n<1000 000) 输出: 对于每个n,输出n!的(十进制)位数 digit, 和最高位数firstNum.(n!约等于 firstNum * 10 ...

  9. Element-ui 更新tableData 中 row的某一个属性时,没有更新视图的问题

    在一个报警音管理的页面中,每次点击试听的时候,需要把‘试听’ 更新为 ‘停止’, 起初我们给row.play=0时,显示为 试听,row.play=1时显示为停止, 但是在代码中每次为row.play ...

  10. 今天写代码遇到了一个BUG

    在我们日常写注释是需要注意,在有返回值的里面不要用以下方式注释,不然不会报错,运行状态码返回也是200,但就不是想要的结果. 下面举个例子 return { 'token':token, 'user_ ...