初衷:
4.2 系统 *** 作
4.2.1 多模式文本编辑器
4.2.1.1 正常模式(Normal-mode)或称-普通模式4.2.1.2 插入模式(Insert-mode)4.2.1.3 命令模式(Command-mode)或称-命令行模式 或称-末行模式4.2.1.4 可视模式(Visual-mode) 4.2.2 用户、用户组与权限管理
4.2.2.1 新建用户 useradd4.2.2.2 删除用户 userdel4.2.2.3 修改用户密码 passwd4.2.2.4 修改用户属性 usermod4.2.2.5 修改用户属性 chage(用户生命周期)4.2.2.6 新建用户组 groupadd4.2.2.7 删除用户组 groupdel 4.2.3 su和sudo命令的区别和使用方法
4.2.3.1 su命令4.2.3.2 sudo命令 4.2.4 用户和用户组的配置文件
4.2.4.1 用户配置文件 /etc/passwd4.2.4.2 用户及用户密码相关信息配置文件 /etc/shadow4.2.4.3 用户组配置文件 /etc/group 4.2.5 文件和目录的权限
初衷:写这篇文章的主要目的是为了以后自己再去查看Linux资料时能有有个参照,其实自己在本地有文件存储了该流程配置,但是要一直备份,现在想要放到网上,一来只要有网就能查看,方便学习;二来也能帮助和我一样的小伙伴(其实网上该类似的文章不少,比我写的全的、好的也不计其数,自己选择适合自己的即可)。
注:图片截图来自于网络:https://www.cnblogs.com/xs104/p/4510114.html
4.2 系统 *** 作 4.2.1 多模式文本编辑器
1、普通模式
使用vim打开文件后,默认是处于普通模式普通模式下,可以使用很多处理文本的快捷键。但是不可以直接通过键盘键入文字其他三种模式都需要通过普通模式进入esc键可以从其他模式中退回至普通模式
2、插入模式
同其他文本编辑器一样,通过键盘输入字符
3、命令行模式
执行命令,通过命令处理文本。用于满足较为复杂的需求。
4、可视模式
用于选中文本。(类似其他编辑器,复制粘贴文本前,需要先选中文本。)
4.2.1.1 正常模式(Normal-mode)或称-普通模式按Esc进入正常模式
按h光标向左
按j光标向下
按k光标向上
按l光标向右
按yy进行一整行复制
按y$进行复制从光标开始到本行结束的文本
按数字+yy进行多行复制:比如复制第二行到第四行,将光标移到第二行,按3 yy则会复制第二行开始往下的三行文本
按p进行粘贴
按dd剪切本行
按d$剪切从光标开始到本行结束的文本
按数字+dd进行多行剪切,同多行复制
按u进行撤销命令
按Ctrl+r进行多次撤销之后的重做命令
按x进行指定单个字符的删除
按r进行指定单个字符的替换
按g进行光标移动到首行
按G进行光标移动到尾行
按数字+G进行光标移动到指定行
按^进行光标移动到本行的开始
按$进行光标移动到本行的结尾
进入插入模式命令(i、I、o、O、a、A)
i 在光标当前位置进入
I 在光标当前行的开头进入
a 在光标当前位置的下一位进入
A 在光标当前行的结尾进入
o 在光标当前行的上一行进入,会添加空行
O 在光标当前行的下一行进入,会添加空行
- 按:w可对文本进行保存,按:wq可对文本进行保存退出,按:w+空格+文件名可对文本进行命名保存按:q可对文本进行退出,按:q!可对文本进行强制退出按:!+其他linux命令在vim模式下执行此命令,按Enter退出按/进行查找字符,按n进行向下查找,按N进行向上查找按/old/new可用new字符替换old字符,只针对光标所在行替换,并且是对所匹配到的一个字符按:%s/old/new可用new字符替换old字符,针对文件替换,并且是对所匹配到的一个字符按:%s/old/new/g可用new字符替换old字符,针对文件替换,并且是所匹配到的全部字符按:3,5s/old/new/g可用new字符替换old字符,针对第三行到第五行替换,并且是所匹配到的全部字符按:set nu显示行号,按:set nonu取消显示行号,单次生效,退出文本再进入则失效按:set hlsearch进行高亮显示,按:set nohlsearch取消高亮显示按vim /etc/vimrc在文本的最后一行加上set nu则行号显示永久生效
- 按v 字符可视模式按V 行可视模式按ctrl+v 块可视模式,配合d和I(大写i)命令进行块的便利 *** 作
正常创建新用户
– 添加用户 *** 作
[root@hadoop04 ~]# useradd hjq
[root@hadoop04 ~]# id hjq
uid=1001(hjq) gid=1001(hjq) groups=1001(hjq)– 添加用户、并指定用户组
– 新建用户user2,并指定用户组为group1
[root@hadoop04 ~]# useradd -g group1 user2
[root@hadoop04 ~]# id user2
uid=1003(user2) gid=1002(group1) groups=1002(group1)
查看用户是否存在
– 查看root用户
[root@hadoop04 ~]# id root
uid=0(root) gid=0(root) groups=0(root)– 查看普通用户
[root@hadoop04 ~]# id hjq
uid=1001(hjq) gid=1001(hjq) groups=1001(hjq)– 查看不存在的普通用户
[root@hadoop04 ~]# id aeb
id: aeb: no such user
新增用户影响的文件
/etc/passwd(最后一行会添加如下信息)
hjq:x:1001:1001::/home/hjq:/bin/bash
/etc/shadow(最后一行会添加如下信息,没有设置密码)
hjq:!!:18508:0:99999:7:::
注意点:
root用户的uid是0只有root用户(管理员用户)才有创建新普通用户的权限创建新普通用户时,不指定用户组,会默认创建一个同名用户组
正常删除用户
– 注意:不加 -r 删除用户时,会保留/home/aeb文件夹
[root@hadoop04 ~]# userdel -r aeb
设置其他用户密码
[root@hadoop04 ~]# passwd hjq
Changing password for user hjq.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
设置自己用户密码
[root@hadoop04 ~]# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
更改用户的家目录
– 此命令会把创建好的username用户的家目录/home/username目录移动到/home/usernametest目录
[root@hadoop04 ~]# usermod -d /home/usernametest username
更改用户的用户组
– 把用户user1的用户组由user1更改为group1
[root@hadoop04 ~]# id user1
uid=1002(user1) gid=1003(user1) groups=1003(user1)[root@hadoop04 ~]# usermod -g group1 user1
[root@hadoop04 ~]# id user1
uid=1002(user1) gid=1002(group1) groups=1002(group1)
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。 -M:密码保持有效的最大天数。 -w:用户密码到期前,提前收到警告信息的天数。 -E:帐号到期的日期。过了这天,此帐号将不可用。 -d:上一次更改的日期。 -i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。 -l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
普通用户密码策略信息如下:
[hadoop@hadoop04 ~]$ chage -l hadoop
Last password change : Aug 05, 2021(最近一次密码修改时间)
Password expires : never(密码过期时间)
Password inactive : never(密码失效时间)
Account expires : never(帐户过期时间 )
Minimum number of days between password change : 0(两次改变密码之间相距的最小天数)
Maximum number of days between password change : 99999(两次改变密码之间相距的最大天数 )
Number of days of warning before password expires : 7(在密码过期之前警告的天数)
正常新建用户组
[root@hadoop04 ~]# groupadd group1
正常删除用户组
[root@hadoop04 ~]# groupdel group1
切换当前用户【相当于使用login shell 方式切换用户】
– 切换用户时,也把linux运行环境切换到对应用户
[root@hadoop04 ~]# su - user1
– 切换用户时,不切换用户运行环境
[root@hadoop04 ~]# su user1
以其他用户身份执行命令
– 设置需要使用 sudo 的用户(组)
[root@hadoop04 hadoop]# visudo
visudo: /etc/sudoers.tmp unchanged
配置 sudo 权限
打开配置文件
– 设置需要使用 sudo 的用户(组)
[root@hadoop04 hadoop]# visudo
visudo: /etc/sudoers.tmp unchanged
配置文件内容
#文件下方会出现下面行,在此另起一行配置即可
#%wheel ALL=(ALL) NOPASSWD: ALL
%wheel ALL=(ALL) ALL
注解
【1】:第一列为哪个用户或用户组,用户直接写,用户组前面加上%
【2】:第二列为在哪个主机上可以执行哪些命令;多个命令用逗号,分割;
主机用localhost
【3】:第三列为是否要密码验证
示例:使用user1用户可以在所有主机上执行shutdown -c命令,输入密码
user1 ALL=/sbin/shutdown -c
用户配置文件
[root@hadoop04 hadoop]# ll /etc/passwd
-rw-r–r-- 1 root root 2437 Sep 3 22:25 /etc/passwd
[root@hadoop04 hadoop]# vim /etc/passwd
文件内容详解
-- 示例 root:x:0:0:root:/root:/bin/bash ntp:x:38:38::/etc/ntp:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin hadoop:x:1000:1000:hadoop:/home/hadoop:/bin/bash mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false hjq:x:1001:1001::/home/hjq:/bin/bash user1:x:1002:1002::/home/user1:/bin/bash user2:x:1003:1002::/home/user2:/bin/bash
第一列:用户名称第二列:是否需要密码验证;x-指需要密码验证第三列:用户的用户ID,uid第四列:用户的用户组ID,gid第五列:用户注释第六列:用户的家目录第七列:用户登录的命令解释器
用户及用户密码相关信息配置文件
[root@hadoop04 hadoop]# ll /etc/shadow
---------- 1 root root 1441 Sep 3 22:25 /etc/shadow
[root@hadoop04 hadoop]# vim /etc/shadow
文件内容详解
-- 示例 root:$UPOT8N3c$xs9tntWMvqsLljNNtHqz88XdzcdUDEwMKqcNNzenrpnByhXqfgl493paMWP58aaXepaC6KcAeEl/7p.0jkkZv/:18508:0:99999:7::: hadoop:$QBYWiUJYMjbwkluB$tBxyBoh5waphaGJ04dlZaf/MbonIP1xbi.mN4TCFgSVX3/Sh9EIpDyEhhhMj04ZUKIYgCPMj4QJ0WlpoZBJUj/::0:99999:7::: mysql:!!:18442:::::: hjq:$j/mDZDJB$rQNtF.i37G66Su12wZWxu/GpTK5feJgaIUzQEDhhKpy69NSDBIgiHxGPaHQ3QpMwP7.W1M/97SzQYAWjuvbJ.1:18508:0:99999:7::: user1:!!:18508:0:99999:7::: user2:!!:18508:0:99999:7:::
第一列:用户名称,用来和/etc/passwd对应第二列:用户加密密码;不同用户设置相同密码,加密之后也不一样第三列:第四列:第五列:
用户组配置文件
[root@hadoop04 hadoop]# ll /etc/group
-rw-r–r-- 1 root root 1022 Sep 3 22:19 /etc/group
[root@hadoop04 hadoop]# vim /etc/group
文件内容详解
-- 示例 root:x:0: stapusr:x:156: stapsys:x:157: stapdev:x:158: hadoop:x:1000:hadoop mysql:x:27: hjq:x:1001: group1:x:1002: user1:x:1003:
第一列:用户组名称第二列:用户组是否需要密码验证第三列:用户组ID,gid第四列:其他组设置,填写用户名即可设置用户属于这个组
文件和目录的权限
– 示例
drwxr-xr-x. 2 hadoop hadoop 6 Jun 27 19:17 Music
-rw-r–r--. 1 root root 25548 Apr 7 2017 mysql57-community-release-el7-10.noarch.rpm
第一块:文件类型,Linux一切皆文件第二块:用户(rw-)、用户组(r–)、其他用户(r–)权限第三块:所属用户和用户组第四块:文件大小第五块:文件最后修改时间第六块:文件名
文件类型
- 普通文件 d 目录文件 b 块特殊文件,如应用盘 c 字符特殊文件 l 符号链接 f 命名管道 s 套接字文件
文件权限
字符权限表示
r 读w 写x 执行 数字权限表示
r = 4w = 2x = 1 创建新文件有默认权限,根据umask值计算,属主和属组根据当前进程的用户设定(666-umask即为默认权限)
目录权限
字符权限表示
x 进入目录rx 显示目录内的文件名wx 修改目录内的文件名
修改权限
chmod 修改文件、目录权限chown 更改属主、属组chgrp 可以单独更改属组,不常用
特殊权限
SUID 用于二进制可执行文件,执行命令时取得文件属主权限SGID 用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组SBIT 用于目录,该目录下新建的文件和目录,仅root和自己可以删除
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)