Linux(RHEL) 05day随笔(case、用户身份与文件权限)

1.Shell脚本之case

1.1case条件测试语句
在这里插入图片描述

[root@linuxprobe ~]# vim Checkkeys.sh
#!/bin/bash
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "您输入的是 字母。"
;;
[0-9])
echo "您输入的是 数字。"
;;
*)
echo "您输入的是 空格、功能键或其他控制字符。"
esac
[root@linuxprobe ~]# bash Checkkeys.sh
请输入一个字符,并按Enter键确认:6
您输入的是 数字。
[root@linuxprobe ~]# bash Checkkeys.sh
请输入一个字符,并按Enter键确认:p
您输入的是 字母。
[root@linuxprobe ~]# bash Checkkeys.sh
请输入一个字符,并按Enter键确认:^[[15~
您输入的是 空格、功能键或其他控制字符。

1.2计划任务服务程序

一次性计划任务只执行一次,一般用于满足临时的工作需求。我们可以用at命令实现这种功能,只需要写成“at 时间”的形式就可以。如果想要查看已设置好但还未执行的一次性计划任务,可以使用“at -l”命令;要想将其删除,可以用“atrm 任务序号”。在使用at命令来设置一次性计划任务时,默认采用的是交互式方法。

长期性计划任务:crond服务,命令为 crontab ;创建、编辑计划任务的命令为“crontab -e”,查看当前计划任务的命令为“crontab -l”,删除某条计划任务的命令为“crontab -r”。另外,如果您是以管理员的身份登录的系统,还可以在crontab命令中加上-u参数来编辑他人的计划任务。需要注意的是,如果有些字段没有设置,则需要使用星号(*)占位。
在这里插入图片描述

字段		说明
分钟		取值为0~59的整数
小时		取值为0~23的任意整数
日期		取值为1~31的任意整数
月份		取值为1~12的任意整数
星期		取值为0~7的任意整数,其中0与7均为星期日
命令		要执行的命令或程序脚本

在这里插入图片描述

2.用户身份与文件权限

2.1 用户身份

	useradd命令:
				用于创建新的用户,格式为“useradd [选项] 用户名”。
	
参数	作用
-d	指定用户的家目录(默认为/home/username)
-e	账户的到期时间,格式为YYYY-MM-DD.
-u	指定该用户的默认UID
-g	指定一个初始的用户基本组(必须已存在)
-G	指定一个或多个扩展用户组
-N	不创建与用户同名的基本用户组
-s	指定该用户的默认Shell解释器

groupadd命令:
			groupadd命令用于创建用户组,格式为“groupadd [选项] 群组名”。

usermode命令:
	·		usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
	
参数		作用
-c		填写用户账户的备注信息
-d -m	参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e		账户的到期时间,格式为YYYY-MM-DD
-g		变更所属用户组
-G		变更扩展用户组
-L		锁定用户禁止其登录系统
-U		解锁用户,允许其登录系统
-s		变更默认终端
-u		修改用户的UID

passwd命令:
			passwd命令用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”。
参数		作用
-l		锁定用户,禁止其登录
-u		解除锁定,允许用户登录
--stdin	允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username
-d		使该用户可用空密码登录系统
-e		强制用户在下次登录时修改密码
-S		显示用户的密码是否被锁定,以及密码所采用的加密算法名称


userdel命令:
			userdel命令用于删除用户,格式为“userdel [选项] 用户名”。
			
参数	作用
-f	强制删除用户
-r	同时删除用户及用户家目录

2.2 文件权限

尽管在Linux系统中一切都是文件,但是每个文件的类型不尽相同,因此Linux系统使用了不同的字符来加以区分,常见的字符如下所示。

 -:普通文件。
d:目录文件。
l:链接文件。
b:块设备文件。
c:字符设备文件。
p:管道文件。

在这里插入图片描述
文件权限的数字法表示基于字符表示(rwx)的权限计算而来,其目的是简化权限的表示。例如,若某个文件的权限为7则代表可读、可写、可执行(4+2+1);若权限为6则代表可读、可写(4+2)。我们来看这样一个例子。现在有这样一个文件,其所有者拥有可读、可写、可执行的权限,其文件所属组拥有可读、可写的权限;而且其他人只有可读的权限。那么,这个文件的权限就是rwxrw-r–,数字法表示即为764。不过大家千万别再将这三个数字相加,计算出7+6+4=17的结果,这是小学的数学加减法,不是Linux系统的权限数字表示法,三者之间没有互通关系。
在这里插入图片描述

2.3 文件特殊权限

1.SUID——执行者临时获取命令的所有者的权限

查看passwd命令属性时发现所有者的权限由rwx变成了rws,其中x改变成s就意味着该文件被赋予了SUID权限。
如果原先权限位上没有x执行权限,那么被赋予特殊权限后将变成大写的S。

2.SGID——目录内新建文件所有组,继承原有目录所有组的名称

chmod命令——用来设置文件或目录的权限,格式为“chmod [参数] 权限 文件或目录名称”。

chown命令——设置文件或目录的所有者和所属组,其格式为“chown [参数] 所有者:所属组 文件或目录名称”。

chmod和chown命令是用于修改文件属性和权限的最常用命令,它们还有一个特别的共性,就是针对目录进行操作时需	要加上大写参数-R来表示递归操作,即对目录内所有的文件进行整体操作。

3.SBIT——特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件。(粘滞位、保护位  o+t)

当目录被设置SBIT特殊权限位后,文件的其他人权限部分的x执行权限就会被替换成t或者T,原本有x执行权限则会写成t,原本没有x执行权限则会被写成T。

2.4 文件的隐藏属性

1.chattr命令用于设置文件的隐藏权限,格式为“chattr [参数] 文件”。
2.lsattr命令用于显示文件的隐藏权限,格式为“lsattr [参数] 文件”。

2.5 文件访问控制列表
1.setfacl命令用于管理文件的ACL规则,格式为“setfacl [参数] 文件名称”。

2.getfacl命令用于显示文件上设置的ACL信息,格式为“getfacl 文件名称”。

想要设置ACL,用的是setfacl命令;要想查看ACL,则用的是getfacl命令。

2.6 su命令与sudo服务
1.su命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户

su命令与用户名之间有一个减号(-),这意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。

2.sudo命令用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务,格式为“sudo [参数] 命令名称”。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值