Linux 基础入门 02
一、用户&组管理
1.1 usermod
用来修改用户账号的各项设定
-d 修改用户登入
-g 修改属组
-s 修改用户登录后的shell功能
1.2 groupmod
-n 改名为new_group
-g 改名 ID 改为 GID
1.3 userdel&groupdel
用户和组的删除
-f 删除用户家目录及邮箱 目录名还在
1.4 /etc/shadow
用于存储 Linux 系统中用户的密码信息
1.5 chage
配置密码相关信息
实例
修改账号到期时间
下次登录时必须修改密码
1.6 /etc/login.defs
这个文件是用来创建用户是进行一定的限制,但是优先级低于/etc/passwd和/etc/shadow
二、sudo 命令执行过程
1.当用户执行sudo,系统会主动寻找/etc/sudoers 文件,判断该用户是否有执行sudo权限
2.确认用户具有可执行sudo权限后,让用户输入自己的密码确认
3.若密码输入成功,才可以执行sudo后续命令
2.1 如何赋予用户sudo操作权限
通过useradd添加的用户,并不具备sudo权限。在ubuntu/centos等系统下,需要将用户加入admin组或者 wheel组或者sudo 组。以root 用户身份执行如下命令,将用户加入wheel/admin/sudo组。
2.2 如何完成整个组一次性提权
三、加密算法 MD5 sha
MD5 加密算法 密码+随机数+id通过md5 算法最后变成128位字符
1.等长原则不管加密内容有多少字符,最后加密输出都是等长的
2.雪崩效应 只要两个文件有一个字符不一样那整个秘钥输出也是完全不同的
3.MD5 不可逆无法通过加密后字符来得出之前原来的密码
md5加密所谓破解完全不是靠逆推,靠撞库
四、linux的文件权限
4.1 stat
用于显示文件时间和 inode 内容,inode相关的知识会在后面的磁盘管理章节详细讲解,这边主要来看文件的时间
-
Access:访问时间,也叫atime
- 当文件被访问的时候,这个时间就会发生改变
- inux文件运行的时候查看文件又频繁数量又大,如果每次atime发生变化的时候都记入硬盘,或造成很大的压力。RHEL6开始relatime,atime延迟修改,必须满足其中一个条件:
- 自上次atime修改后,已达到86400秒
- 发生写操作时
-
Modify:修改时间,也叫mtime
- 文件内容发生变化的时候,这个时间就会发生改变
-
Change:改变时间,也叫ctime
- 当文件状态被改变的时候,这个时间就会发生修改
4.2 文件权限设置
可以赋予某个用户或组,能以何种方式,访问某个文件
Linux系统是一种典型的多用户系统,不同的用户除以不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
文件类型: - 普通文件 d 目录
每一个文件都会有UID GID 属主 属组
同时这个文件运行时也会带上UID GID 其实这个就是属主ID 属组ID
访问任何一个文件,我们有权限规定:
每个文件,都有3个对象,对三个对象赋予不同权限:
属主、属组、其他人
每个文件都有三个权限:
在linux当中 权限可以用数字表示
r=4 w=2 x=1 每个对象需要相加
所以:rw-r–r-- 用数字表示: 644
4.3 chmod
修改 文件权限 ,可以一次性对三个对象 三个权限全都修改
八进制语法
chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。
例如, 765 将这样解释:
- 所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7。
- 用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如 rw- ,也就是 4+2+0 ,应该是 6。
- 其它用户的权限数字表达:其它用户权限位的数字相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5。
4.4 chown
设置文件的属主和属组
4.5 chgrp
单独修改属组
4.6 setfacl
可以单独针对某个用户设置权限
4.7 mask有效权限
mask 权限,指的是用户或群组能拥有的最大 ACL 权限,也就是说,给用户或群组设定的 ACL 权限不能超过 mask 规定的权限范围,超出部分做无效处理。
4.8 特殊权限
4.9 umask
指定在建立文件时预设的权限掩码,进程 新建文件、目录的默认权限会收到umask的影响,umask表示要减掉得到权限。
可用来设定。是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
4.10 chattr
用于改变文件属性。
实例1:用 chattr 防止系统中某个关键文件被修改
实例2 : 让某个文件只能往里面追加内容,但是不能删除历史内容,适用于企业服务器日志
五、文件管理
我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
在开始本教程前我们需要先知道什么是绝对路径与相对路径。
绝对路径:是由/开头的 可以使用在任何场景,一定是可以找到该文件的
相对路径:不会以/开头 https://blog.csdn.net/qq_44487263/article/details/passwd 例如这个就是相对路径
. 当前目录
… 上级目录
5.1 几个常见的处理目录的命令
5.2 文本文件查看工具
-
cat 内容抓取 可以支持同时多内容抓取
-
more 空格下一页,回车下一行
-
less 首先是可以使用命令 /查找内容 如果输入v 就是进入vi模式 可以直接编辑 然后wq保存 保存完会退出到less的界面 需要q才能退出
-
head 用来查看文件头部内容来判断文件
-
tail 通常用来做日志监控
5.3 文本筛选工具
用于查找文件里符合条件的字符串。
5.4 文本处理工具
用于显示每行从开头算起 num1 到 num2 的文字
5.5 文本区分工具
用于比较文件的差异
5.6 文本排序工具
用于将文本文件内容加以排序。
5.7 管道符 |
可以把管道符之前的内容 作为管道符之后内容的输入
5.8 正则表达式
- ^ 开头
- $ 结尾
- . 匹配任意字符
- *匹配0次&多次
- 转义字符
一般在linux系统当中 会用来转义 $ * 让其变成本身字符意思 而不是shell当中的意思
5.9 文件查找工具
用于查找符合条件的文件,他会去保存文件和目录名称的数据库内,查找合乎范本样式条件的文件或目录
-
locate
在使用locate之前,需要更新一下数据库,因为locate只会在数据库中查找文件所在的位置,所以locate查找速度极快,缺点就是数据库更新并不是实时的,更新数据库有两种方式:
(1) 手动更新
(2) 自动更新 默认情况下,每天执行一次
-
find
实时查找工具,通过遍历指定路径下的文件系统完成文件查找
特点 :
1.查找速度略慢
2.精确查找
3.实时查找
4.满足多条件匹配
查找路径:指定具体目录路径,默认是当前文件夹
查找条件:指定的查找标准(文件名/大小/类型/权限等),默认是找出所有文件
处理动作:对符合条件的文件做什么操作,默认输出屏幕
-
按文件名查找
-
按大小查找
-
按目录深度查找
-
按时间查找
-
按文件属主和属组查找
-
按文件权限查找
-
按正则表达式查找
-
处理动作
实例
欢迎关注微信公众号:问渠清源
-