计划任务服务程序

计划任务

at  命令          一次性的

crond  服务   周期性的

23:29执行reboot命令(重启服务器)

at -l      查看当前的计划任务

at  -c  任务号        查看任务里面的命令

atrm  任务号          删除任务

crond            服务

crontab         配置工具

配置crond命令

crontab  -e

crontab  -e  -u  用户名

口诀:分   时     日     月    星期     命令

30    0      *       *      1,3,5     usr/sbin/reboot          以后每周一周三周五重启一次服务

30   0      */2      *                                                    没格两天重启

没有值得话一定要用*做站位

命令必须写路径,如果不知道命令路径,用whereis  reboot 命令查

假设在每周一、三、五的凌晨3点25分,都需要使用tar命令把某个网站的数据目录进行打包处理,使其作为一个备份文件。我们可以使用crontab -e命令来创建计划任务。为自己创建计划任务无需使用-u参数,具体的实现效果的参数如crontab -l命令结果所示:

root@linuxprobe ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@linuxprobe ~]# crontab -l
25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot
为了确保安全,我们重启他的服务并且将他加到服务,然后查看一下他的状态
-----------------------------------------------------------------------
Linux系统中有3类用户
1:管理员 root UID 0
2: 系统用户 UID 1-999 为了管理服务
在/sbin/nologin
3:普通用户 1000~几十万
useradd 参数 用户名 用来创建用户
参数 作用
-d 指定用户的家目录(默认为/home/username)
-e 账户的到期时间,格式为YYYY-MM-DD.
-u 指定该用户的默认UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组

-s 指定该用户的默认Shell解释器

请注意/sbin/nologin,它是终端解释器中的一员,与Bash解释器有着天壤之别。一旦用户的解释器被设置为nologin,则代表该用户不能登录到系统中:

用户组

groupadd  组名

增加一个扩展组用

usermod  -G 组名  用户名     (-g是基本组)

基本组:与生俱来的基本信息   先天的

扩展组: 为了能够方便以后工作获取资料等加入的一个组里面,后天的

groupdel  组名   删除用户组

passwd  用户名          创建密码

userdel   用户名      删除用户

但是这样只会删除掉用户默认的用户信息,不会删除用户所有信息

想彻底删除用-r

userdel -r 用户名

修改用户名称可以直接vim /etc/passwd 文件里面进行

---------------------------------------------------------------------------------------------------------------------

权限

r   read          读取        目录(能够查看目录内文件列表的权限)

w  write         写入        目录(能够在目录内进行删除,新建,重命名文件的权限)

x   execute    执行        目录(有没有权限切换目录)

r=4  w=2   x=1   (777是最高权限)

rwxrw-r--转换成数字是4+2+1,4+2+0,4+0+0  =764

433  反过来就是r---wx--wx

521 = r-x-w---x

chmod   设置用户权限

chown    设置用户所有者和所有组(属性)

chmod  权限数目  文件名

chown  要改为的所有者:要改为的所有组   文件名

SUID(尚方宝剑)  让程序执行者,临时获取程序所有者的身份   (u+s)

上面权限出现的S就是代表SUID

SGID  让程序执行者,临时获取程序所有组的身份   (g+s)

让目录内的新建文,件继承目录所有组的属性

我们先创建一个xioaji目录,然后给他赋予GID权限和最高777权限,切换一个用户,我们查看/tmp/xioaji这个目录用户组权限里面有一个,接下来我们随便创建一个文件haha,我们发现他的所属所有组是用户本身,但是当我们在xioaji这个目录下创建haha文件的话会发现他的所有组变成了root。这就是SGID,会更这xioaji这个目录权限而定。

SBIT     保护位(粘滞位)  让目录内的文件,只能自己删除自己的   (o+t)

SUID=4       SGID=2         SBIT=1

rwsrwxrwx      当发现是小s的时候就是他原来有x执行权限,反之大S时候就是没有   t也是如此

7654 =先别管7   420+401+400=rwSr-sr-T

5432       r-S-wx-wT

rwsr--rwT       5746

隐藏权限

Linux系统中的文件除了具备一般权限和特殊权限之外,还有一种隐藏权限,即被隐藏起来的权限,默认情况下不能直接被用户发觉

chattr         设置     (设置用加号,取消用减号)

参数 作用
i 无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a 仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S 文件内容在变更后立即同步到硬盘(sync)
s 彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)
A 不再修改这个文件或目录的最后访问时间(atime)
b 不再修改文件或目录的存取时间
D 检查压缩文件中的错误
d 使用dump命令备份时忽略本文件/目录
c 默认将文件或目录进行压缩
u 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t 让文件系统支持尾部合并(tail-merging)
x 可以直接访问压缩文件中的内容

a参数就是说我们以后只能对这个参数进行追加,不能进行修改和删除。取消就用-a

我们用追加写入将哈哈哈写入到文件中可以,但是当我们用清空写入时去报错了。

lsattar         查看     (看目录加  -d)

一般权限

特殊权限

隐藏权限

这3个对于一类人对于所有人都是生效的

facl      文件访问控制列表

对于某个人,某个组精准的权限指定

命令是:

setfacl          设置

getfacl          查看

# setfacl -Rm u:zs:rwx public

-R代表对目录进行一个操作,-m代表进行修改的意思,u:的话就是对于某个用户进行一个权限的指令,如果是g的话就是对用户组进行一个权限的指令。本例中 就是对zs用户进行权限指令。

然后我们进行权限的查看会发现最后有个加号,就是说如果为.号的话就是没有一个特殊的权限,如果为+号的话就说明有一个特殊权限。然后我们用getfacl 来查看public目录。

然后我们登陆两个用户来看一下

发现因为zs用户对这个目录有权限操作,所以完全不是问题,而我们看一下另一个账号ls

失败,不能对这个目录做任何操作

su  命令   快速切换用户

su    用户名   (超级用户切换普通用户不用密码,反之需要密码)

如果中间不加-的话只是切换了身份,而里面的变量等还是上一个用户的,所以我们尽量加上-

su - 用户名

sudo  服务

如果你要给某个用户干一件事需要用到root用户但是又不想给他密码,那么我们用visudu命令,

打开后编辑,分别对应   谁可以使用  允许使用的主机=(以谁的身份)  可执行命令的列表(要路径,可以用whereis  命令  查看)

Linux新手随手笔记1.4的更多相关文章

  1. Linux新手随手笔记1.8

    配置网卡服务 将网卡的配置文件,保存成模板,叫做会话. nmcli命令查看网卡信息.nmcli是一款基于命令行的网络配置工具 只有一个网卡信息,下面我们再添加一个. 公司:静态IP地址 家庭:DHCP ...

  2. Linux新手随手笔记1.7

    配置网卡(本地电脑) Vment1   仅主机模式 Vment8   nat模式 物理机 : 192.16810.1  /255.255.255.0 服务器 : 192.168.10.10 /255. ...

  3. Linux新手随手笔记1.6

    RAID磁盘冗余阵列 1.I/O  速度 2.数据安全性  RAID 0 负载均衡.速度乘以二,但是数据安全性不行,任何一块盘损坏数据都会丢失. RAID 1 安全性性提升2倍,任何一个损坏另一个都有 ...

  4. Linux新手随手笔记1.5

    FHS Linux / 代表根目录 /root  管理员的家目录 /boot  启动引导文件,以及开机菜单都会保存在里面 /bin     保存我们系统中命令的目录,不止bin,只要带bin的比如sb ...

  5. Linux新手随手笔记1.3

    shell脚本的编写(划重点) #!/bin/bash                    脚本的声明信息 #sjsjdhsjdhh                  脚本的注释 ls -l    ...

  6. Linux新手随手笔记1.2

    重定向 输入重定向:将命令输出结果写入一个文件或将一个文件内容导回到命令里面的这个过程叫做重定向 :标准(>) 输出重定向   :覆盖写入清空写入(>)/追加写入(>>) :错 ...

  7. Linux新手随手笔记1.1

    ifconfig   查询网卡信息 分别是网卡名称,物理IP地址,MAC地址,RX收到数据包大小,TX发送数据包大小 # uname # uname -a 查看内核版本号 # hostname 查看主 ...

  8. Linux新手随手笔记1.9-使用Apache搭建网站

    搭建网站 网站服务:让用户能够通过浏览器访问到的服务器上的文档资源. 对比Windows 和Linux部署服务方法对比 Windows:IIS Linux      :Apache ,nginx Ap ...

  9. Linux新手随手笔记

    RPM通过将安装规则与源代码打包到一起,来降低软件的安装难度 yum 通过将大量的常用RPM软件存放在一起,解决软件包之间的依赖关系,进一步降低软件的安装难度 rhel 5\6 init rhel 7 ...

随机推荐

  1. 【jframe】Java架构师之路 - 第01篇:Get Started

    jframe是什么? jframe是一个基于MIT协议开源的java web应用程序框架,汇聚了我们团队之于java web应用程序的核心架构思想以及大量最佳实践,并且持续在实际项目中不断完善优化. ...

  2. 【AI开发】基于深度学习的卡口车型、车牌识别

    服务端代码后面给出 卡口车型.车牌识别demo截图 服务器:

  3. Kubernetes 笔记 08 Deployment 副本管理 重新招一个员工来填坑

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...

  4. Python基础(迭代器)

    一.迭代器 概述: 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能 ...

  5. mysql的学习笔记(四)

    ---恢复内容开始--- 1.插入操作 INSERT (1)INSERT table_name(col_name,...) VALUES(...),(....) CREATE TABLE user( ...

  6. 在linux(centos)系统安装nginx教程

    最近在切换服务器操作系统,简单记录一下 一.安装nginx需要如下环境  1.gcc  编译依赖gcc环境,如果没有gcc环境,需要安装gcc yum install gcc-c++  2.PCRE ...

  7. 外行人都能看懂的SpringCloud,错过了血亏!

    一.前言 只有光头才能变强 认识我的朋友可能都知道我这阵子去实习啦,去的公司说是用SpringCloud(但我觉得使用的力度并不大啊~~)... 所以,这篇主要来讲讲SpringCloud的一些基础的 ...

  8. Linux运维企业架构实战系列

    Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...

  9. springcloud情操陶冶-springcloud config server(二)

    承接前文springcloud情操陶冶-springcloud config server(一),本文将在前文的基础上讲解config server的涉外接口 前话 通过前文笔者得知,cloud co ...

  10. J2SE学习历程

    2014/12/09 1.+两边有字符串的话,则另外的先转换为字符串再连接. int c = 12; System.out.println(“c=” + c); 2.如果a=2,b=a++,先赋值再运 ...