admin-7
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的更多相关文章
- Django admin定制化,User字段扩展[原创]
前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...
- Django admin美化插件suit应用[原创]
前言 由于比较懒,自己弄了一个用户验证,没有自己写后台,用了django自带的user认证,并通过admin直接进行管理,但默认的admin并不漂亮,于是使用了这个django-suit插件,效果对比 ...
- OpenStack Mitaka 版本中的 domain 和 admin
OpenStack 的 Keystone V3 中引入了 Domain 的概念.引入这个概念后,关于 admin 这个role 的定义就变得复杂了起来. 本文测试环境是社区 Mitaka 版本. 1. ...
- Django Admin
//设置admin列表名称 def __str__(self): return u'%s' % self.name class Meta: db_table ="数据库的那个表" ...
- Django基础,Day3 - 编写 django admin
Django 自带了一个简易编辑后台,可以称为"内容发布器",一般是提供给站点管理员使用的,其最开始也是开发出来提供给报社编辑和发布新闻使用的. 创建超级管理员: $ python ...
- SB Admin 2 学习笔记1
需要掌握能够搭建起一个 dashboard 的能力, 因为很少有运维开发团队有专职的前端, bootstrap 也要讲个基本法. SB Admin 2, 一个免费的 bootstrap theme, ...
- 【Django】--Models 和ORM以及admin配置
Models 数据库的配置 1 django默认支持sqlite,mysql, oracle,postgresql数据库 <1>sqlite django默认使用sqlite的数据库 ...
- Django admin 权威指南(一)
版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...
- 【原创】kafka admin源代码分析
admin包定义了命令行的一些实现 一.AdminOperationException.scala 一个异常类,表示执行admin命令时候抛出的异常 二.AdminUtils.scala admin一 ...
- [django]Django站点admin支持中文显示和输入设置
正文: Django站点admin支持中文输入设置,操作如下: 1 需要确定的你的数据库的client客户端和服务端的编码设置为utf-8,如果不是,请将其设置成utf-8编码,我采用mysql,详情 ...
随机推荐
- IntelliJ IDEA入门系列
1.Java Web之Helloworld配置 2.Java Web之Maven搭建Helloworld 3.Java Web之Spring MVC简单管理系统
- 26. Remove Duplicates from Sorted Array★
题目内容: Given a sorted array, remove the duplicates in place such that each element appear only once a ...
- 用反射的形式将一个对象属性值赋值给另一个对象,省略点get/set方法的冗余代码
1.本例使用的是idea 首先需要在idea中安装lombok插件,省略getter和setter方法的书写 在maven项目中加入lombok依赖 <dependency> <gr ...
- 几个常用内核函数(《Windows内核情景分析》)
参考:<Windows内核情景分析> 0x01 ObReferenceObjectByHandle 这个函数从句柄得到对应的内核对象,并递增其引用计数. NTSTATUS ObRefer ...
- python ---split()函数讲解
python ---split()函数讲解 split中文翻译为分裂. 在python用于分割字符串使用. split()就是将一个字符串分裂成多个字符串组成的列表. split()可以传入参数,也可 ...
- better-scroll
better-scroll会将默认事件阻止掉,如果自己写的部分需要有点击事件,需要在参数里加上click:true. 同时,在PC上或某些手机端,由于未成功将touchend事件move掉,点击事件会 ...
- Selenium-java测试环境搭建
1.1背景 Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Mozilla ...
- 大数据处理N!(21<N<2000)
输入: 每行输入1个正整数n,(0<n<1000 000) 输出: 对于每个n,输出n!的(十进制)位数 digit, 和最高位数firstNum.(n!约等于 firstNum * 10 ...
- Element-ui 更新tableData 中 row的某一个属性时,没有更新视图的问题
在一个报警音管理的页面中,每次点击试听的时候,需要把‘试听’ 更新为 ‘停止’, 起初我们给row.play=0时,显示为 试听,row.play=1时显示为停止, 但是在代码中每次为row.play ...
- 今天写代码遇到了一个BUG
在我们日常写注释是需要注意,在有返回值的里面不要用以下方式注释,不然不会报错,运行状态码返回也是200,但就不是想要的结果. 下面举个例子 return { 'token':token, 'user_ ...