linux权限管理及定时任务

linux权限管理及定时任务

一、linux系统权限管理

ll 查看文件属性
-rw-r–r–1rootroot124Jul 17 18:46111.txt
文件权限文件硬连接数文件所有者信息文件所属组的信息文件大小时间文件名称

1.用户和用户组的授权管理

chown  
	语法格式:
	chown 用户名.用户组  文件/目录
	chown 用户名:用户组  文件/目录
	chown test.test dms
	chown test:test dms
	# 省略写法,组会根据当前授权的用户所属主组授权
	chown test:     dms
		-R 递归授权。对目录授权时,同时授权子目录及子文件

# 文件所有者,所属组,其他人对文件操作的区别
一个用户属于某组,自动继承该组的权限

2.权限管理

d 	rwx		r-x		r-x
第一列:文件或目录类型
	- 				#普通文件
	d 	directory 	#目录
	l	link		#软连接
	b	block		#存储块
	c	character	#设备文件
第二列:文件所有者的管理权限
第三列:文件所属组的管理权限
第四列:其他人权限
	r	read	#读取权限
	w	write	#写入权限
	x	execute	#执行权限

image-20240723115405731

3.管理权限

chmod u,g,o 文件名
	u user		#文件所有者
	g groups	#所属组
	o others	#其他人
	a all		#所有权限位
	-R 			#递归授权
方式一:加减法
	chmod u+x,g-r,o+wx 1.txt
方式二:赋值法
	chmod u=rw,g=w,o=rx 1.txt
方式三:通过数值修改权限
	r    4
	w    2
	x    1
	7=rwx,6=rw-,5=r-x,3=-wx

二、不同的权限验证流程

image-20240723181006509

1.目录权限限制

r:前提需要具备执行权限,限制了查看目录中子目录和子文件的权利
w:前提需要具备执行权限,针对目录的子文件或子目录进行创建,删除和修改的权利
x:是否允许进入目录

目录权限设置结论:(确认执行权限不能随意分配)
1. root用户在没有任何权限时,也可以随意操作目录信息的
2. 对于属主、属组、其他用户在使用读权限或写权限时,都需要使用执行权限进行配合
3. 对于目录来说,执行权限更为重要,可以保证其他权限的作用。

2.文件权限限制

r:读取文件内容的权限
w:编辑文本的权限。前提具备r权限,否则只能覆盖原文件内容
x:将文件作为脚本运行的权限。前提具备r权限

文件权限设置结论:(文件可以分配读权限,但是要控制其他权限)
1. root用户在没有任何权限时,也可以随意读取和编辑任何文件信息,但是无法使用执行权限,除非赋予执行权限
2. 对于属主、属组、其他用户在使用写权限或执行权限时,都需要使用读权限进行配合
3. 对于文件来说,读权限更为重要,可以保证其他权限的作用。
操作系统权限验证流程原理:逐级验证

三、umask码

1.作用:管理系统的默认权限

2.默认权限的操作管理

umask  #查看umask码
	0022   
最大权限-umask=默认权限
	目录默认权限:777-022=755
	文件默认权限:666-022=644
# 将umask码改为0012
	目录:765  rwxrw-r-x
	文件:664  rw-rw-r--。并非654  
		因为文件默认没有执行权限
		文件默认权限计算时,如果umask奇数,则需要在该权限位+1
		所以666-033=644
		
# 系统默认权限最大给到多少是合理的?
密码文件权限:600
目录:755
文件:644

四、隐藏权限(属性)

作用:能在权限基础上进一步做权限限制

1.管理隐藏权限

lsattr	#查看隐藏权限
chattr	#设置隐藏权限
	a	#限制文件只可以被追加内容,不可以删除,或修改原内容
	i	#限制文件不允许被修改、编辑、追加内容
	
扩展:特殊权限 suid sgid sticky

五、sudo提权

1.介绍

私人定制的权限提升,可以让一个普通用户临时具备root的权限

2.作用

最小化的提供给普通用户操作命令的root权限

3.相关文件

1.直接命令提权
/etc/sudoers 不建议直接编辑
visudo	直接打开配置文件,并且支持语法识别功能
	-c	#检查语法是否正确
# sudo提权配置文件,给用户提权命令
visudo
在100行下添加如下内容
用户名   ALL=(ALL)	  命令的绝对路径
	# 查看命令绝对路径
	which 命令
	which passwd
# 普通用户使用提权命令
sudo -l #查看可以使用的提权命令
sudo 被提权的命令命令
2.真实用户组提权
1-针对用户组配置提权
visudo
在108行下添加如下内容
%组名    ALL=(ALL)   命令的绝对路径
2-创建用户组
groupadd 组名
3-添加用户到提权组
usermod -g 组名 用户名
3.虚拟用户组提权
1-visudo中定义虚拟的用户组
visudo 21行
User_Alias 组名 = 用户名1,用户名2
2-针对虚拟用户组提权
组名   ALL=(ALL)   命令的绝对路径	# 不需要加%
visudo优化
# 提权命令设置组
1-通过命令组提权
	Cmnd_Alias 组名 = 添加命令的绝对路径
	NETWORKING
	SERVICES
	PROCESSES
2- 在visudo为用户提权
	在100行下添加如下内容
	用户名   ALL=(ALL)	  提权命令的组名

# 提权不需要密码验证
用户名    ALL=(ALL)   NOPASSWD:命令的绝对路径或命令组

# 开启sudo提权日志
Defaults logfile=/var/log/sudo.log
可用tail -f监控sudo日志

六、计划任务、定时任务

1.介绍
固定的时间,循环执行特定的指令,减轻人为工作成本

2.相关文件

/etc/crontab

# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

# 语法格式
*       *     *      *     *    user-name     command to be executed
分钟   小时   日期    月份    周
分时日月周
默认每1分钟执行一次

# 真正存放定时任务的默认文件
/var/spool/cron/用户名

# 定时任务的日志文件
/var/log/cron.log

3.crontab 管理定时任务

-l  查看定时任务 
-e  编辑定时任务

4.定时任务的时间格式

1)基本时间格式
# 每周6的凌晨3点做某事
0 3 * * 6

# 3月8号,下午5点
0 17 8 3 *
	
		
2)多个时间段执行
# 每天的下午3和5点分别执行一个任务
0 15,17 * * *

# 每周六和周一,半夜3点和6点
0 3,6 * * 1,6

3)单位时间内周期执行
# 每天0到6,每隔两小时重启服务
0 0-6/2 * * *
# 每天下午5-晚上8点每小时执行
0 17-20 * * *
# 每天每隔两小时做某事
0 */2 * * *

##### 补充:磁盘空间不足问题(no space left on this device)(面试爱问)
	# inode号没了
		磁盘有容量
		当前分区有大量的空间生成,一般是由于定时任务书写不规范造成
	# block用光
	磁盘没容量
	系统有超大文件,清理	

5.date命令

date	#显示时间
	作用:打印系统当前时间,修改系统时间
	date +%F	# 显示年月日
	date +%T	# 显示时分秒
	-s 修改时间
	date -s "2010-10-23 8:01:23"

6.ntpdate

作用:时间同步

# 安装
yum install ntpdate
# 通过阿里云时间同步服务器同步时间
ntpdate ntp1.aliyun.com

7.定时任务编写规范

1)命令要使用绝对路径
2)编写的定时任务不能有任何输出结果,每个任务必须在末尾重定向到空(&>/dev/null)

date	#显示时间
	作用:打印系统当前时间,修改系统时间
	date +%F	# 显示年月日
	date +%T	# 显示时分秒
	-s 修改时间
	date -s "2010-10-23 8:01:23"

6.ntpdate

作用:时间同步

# 安装
yum install ntpdate
# 通过阿里云时间同步服务器同步时间
ntpdate ntp1.aliyun.com

7.定时任务编写规范

1)命令要使用绝对路径
2)编写的定时任务不能有任何输出结果,每个任务必须在末尾重定向到空(&>/dev/null)
3)设定时间日期和星期不要同时设置

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值