文件管理和用户管理

云计算基础第二章第一节

一、文件管理
1、Linux目录结构
[root@localhost ~]# ls /
bin dev lib media net root srv usr
boot etc lib64 misc opt sbin sys var
cgroup home lost+found mnt proc selinux tmp

图示

在这里插入图片描述

2、目录功能
bin 普通用户使用的命令 /bin/ls, /bin/date
sbin 管理员使用的命令 /sbin/service 
dev 设备文件 /dev/sda,/dev/sda1
root root用户的HOME
home 存储普通用户家目录 

tmp 临时文件(全局可写:进程产生的临时文件) 
var 存放的是一些变化文件,比如数据库,日志,邮件....

==设备(主要指存储设备)挂载目录==
media 移动设备默认的挂载点
mnt 手工挂载设备的挂载点

etc 配置文件(系统相关如网络/etc/sysconfig/network
proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态 ,硬件的状态

usr 系统文件,相当于C:\Windows
/usr/local 软件安装的目录,相当于C:\Program

boot 存放的系统启动相关的文件,例如kernel,grub(引导装载程序)

lib 库文件Glibc
lib64 库文件Glibc

lost+found fsck修复时,存储没有链接的文件或目录

二、文件管理命令

1、创建文件
语法:touch + 文件名.后缀
[root@localhost ~]#  touch   file1.txt
[root@localhost ~]#  ls      //查看文件
2、创建目录
语法:mkdir  空格   路径和目录名
mkdir -p   //递进,当创建目录没有上一级时,自动创建
[root@localhost ~]#  mkdir      dir1
3、复制
语法:cp  源文件路径   目标文件
cp -r  源目录   目标目录
[root@localhost ~]#cp  file1.txt   dir1/
[root@localhost ~]#ls   dir1/   //查看
4、移动
语法:mv  源文件路径  目标文件路径
[root@localhost ~]#mv   file3.txt     dir1/
5、删除
语法:rem -rf  文件或目录的路径
[root@localhost ~]#rm   -rf    file5.txt  file7.txt
[root@localhost ~]#ls
6、查看文件内容
[root@localhost ~]#cat  /root/file1.txt    //查看全部
[root@localhost ~]#more  /root/file1.txt     //翻页
[root@localhost ~]#head   /root/file1.txt      //查看头部(默认10行)
[root@localhost ~]# tail      /root/file1.txt    //查看尾部(默认10行)
语法:grep 关键字   文件名
[root@localhost ~]# grep      'abc'    /root/file1.txt    //针对文件内容过滤
7、修改文件内容

光标定位
hjkL //上下左右
0 $ //行首行尾
gg G //页首页尾
3G 进入第三行
/string (n N 可以循环的) //查找字符,按n键选下一个(重要)

文本编辑

文本编辑
yy 复制
dd 删除
p 粘贴
u undo撤销

进入其他模式

进入其它模式
a 进入插入模式
i 进入插入模式
o 进入插入模式
A 进入插入模式

: 进入末行模式(扩展命令模式)
v 进入可视模式
ESC 返回命令模式

扩展命令模式

保存退出

:w 保存
:q 退出
:wq 保存并退出

查找替换

:范围 s/原内容/新内容/全局
:1,5 s/root/qianfeng/g 从1-5行的root 替换为qianfeng

:set nu 设置行号
:set nonu 取消设置行号

:set list 显示控制字符

另存为

:w file9.txt 另存为 file9.txt

8、改变目录
cd 绝对路径       ls 列出当前路径的内容
绝对路径:从当前开始描述
相对路径:当前 ./         上一级../

三、文件的类型

- 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
d 目录文件(蓝色)
b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1
c 设备文件(字符设备)打印机,终端 /dev/tty1
l 链接文件(淡蓝色)
s 套接字文件
p 管道文件

本地文件系统:ext3 ext4 xfs ntfs

四、用户管理

1、用户概念

用户和群组:
. 系统上的每个进程(正在运行的程序)都以特定用户身份运行。
. 每个文件都由特定用户拥有。
. 对文件和目录的访问受用户限制。
. 与正在运行的进程关联的用户决定了该进程可访问的文件和目录。

2、用户的作用

查看当前登录的用户信息

[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root)

查看文件的owner

[root@localhost ~]# ll /home/ 
drwx------. 4 alice alice 4096 Jun 2 15:59 alice
drwx------. 2 root root 16384 Jun 1 23:09 lost+found
drwxr-xr-x 2 root root 4096 Jun 2 15:33 qianfeng

查看运行进程username

[root@localhost ~]# ps aux 
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19360 1536 ? Ss 13:29 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S 13:29 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 13:29 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 13:29 0:00 [ksoftirqd/0]
3、用户组信息存储的文件

用户基本信息文件

[root@localhost ~]# etc/passwd(冒号分割为7列字段)
 root:x:0:0:root:/root:/bin/bash
用户名:x:uid:gid:描述:HOME:shell
注:
root:用户名:登录系统的名字
X:密码占位符:,具体内容不在这里
0:UID: 用户的身份证号(系统约定:RHEL7 uid:0 特权用户 uid:1~999 系统用户 uid:1000+ 普通用户)
0:GID:GROUP 组号
root:描述:比如经理 manager
/root:家目录:登录系统时,所在目录
/bin/bash:登录shell:命令解释器
4、用户密码信息文件
[root@localhost ~]# /etc/shadow(9列)
 root:$1$MYG2N:15636:0:99999:7:   :   :
 注:
加密算法$id$salt$encrypted
$1: MD5
$5: SHA-256
$6: SHA-512
--------------------------------------
 root:$1$MYG2NDG6$a1wtyr5GDM2esAPjug0YP0:15636:0:99999:7:: :
--------------------------
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;   
星号代表帐号被锁定;
双叹号表示这个密码已经过期了。
$6$开头的,表明是用SHA-512加密的,
$1$ 表明是用MD5加密的
$2$ 是用Blowfish加密的
$5$ 是用 SHA-256加密的。 
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。(软限制。到期后多少天就不能用账号了。)
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。(硬限制。)
9) 保留
5、组信息文件
/[root@localhost ~]# /etc/group 
root:x:0:
组名:组密码:组ID:组成员(组成员默认为空)

五、关于用户常用命令

[root@localhost ~]# useradd user01     //创建用户(未指定选项)
[root@localhost ~]# id     user01
uid=1001(user01) gid=1001(user01)=1001(user01)
用户编号=具体数字(用户名)  组编号=具体数字(组名)  组=组ID(成员名字)
小结:
如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的Primary Group.
[root@localhost ~]# useradd user02 -u 1503   //创建用户user02,指定uid
[root@localhost ~]# useradd user03  -d  /user03  //创建用户user03 指定家目录
[root@localhost ~]# userdel -r user02   //删除用户
------------------------------------------------------------------------------
[root@localhost ~]# passwd alice   //root修改其他用户(alice)密码
[zhuzhu@localhost ~]$ passwd     //用户(zhuzhu)登录,自己修改密码
[root@localhost ~]# usermod -s /sbin/nologin   user02    //修改登录SHELL

组成员管理

[root@localhost ~]# id user02    //查看用户原先信息
uid=1002(user02) gid=1002(user02)=1002(user02)
[root@localhost ~]# usermod     user02    -aG hr    //将用户追加到hr组
[root@localhost ~]# id user02    //再次查看用户信息
uid=1002(user02) gid=1002(user02)=1002(user02),1005(hr)
语法:usermod -aG  组名  用户名
[root@localhost ~]# gpasswd  -d  user02  hr    //将用户移除组

用户组

[root@localhost ~]# groupadd hr    //创建一个hr组
[root@localhost ~]# tail -3 /etc/group
user03:x:1003:
user04:x:1004:
hr:x:1005:
[root@localhost ~]# groupadd net01 -g   1007     //创建组net01,并指定gid 1007
[root@localhost ~]# grep 'net01' /etc/group      //查看
[root@localhost ~]# groupdel net01   //删除组
分类

基本组:随用户创建,自动创建的同组名

附加组 :用户加入的其他组

六、提权

1、永久提权

永久提权Switching users with su

[user01@localhost ~]$ id user01
uid=1003(user01) gid=1003(user01)=1003(user01)
[user01@localhost ~]$ whoami
user01
[alice@localhost ~]$ useradd u1
-bash: /usr/sbin/useradd: 权限不够
[alice@localhost ~]$ su       -         root
password:
[root@localhost ~]# useradd u1
成功
2、临时提权

临时提权Running commands as root with sudo

sudo简介:
将当前用户切换到超级用户下
然后以超级用户身份执行命令,执行完成后,直接退回到当前用户。
具体工作过程如下:
当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
-->确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
-->若密码输入成功,则开始执行sudo后续的命令
-------------------------------------------------------------
sudo配置文件语法
##语法
##  user  MACHINE=COMMANDS
##  用户 登录的主机=(可以变换的身份) 可以执行的命令 
目标:创建普通用户xulei,使其具有sudo特权
------------------------------------------------------------------
示例:
以root身份,授权普通用户yy       //观察授权信息
[root@localhost ~]# vim /etc/sudoers     //系统的授权文件
%wheel    ALL=(ALL)     ALL
允许wheel用户组       不输入密码         使用所有命令
[root@localhost ~]# useradd yy -G wheel    //创建yy账号并加入组
[root@localhost ~]# id yy      //查看yy信息
uid=1001(xulei) gid=1001(xulei)=1001(xulei),10(wheel)
切换用户登录:
[root@localhost ~]# passwd yy
切换用户yy登陆,该用户一定要注销
使用sudo提权:
[yy@localhost ~]$ useradd gougou10
-bash: /usr/sbin/useradd: 权限不够
[yy@localhost ~]$ sudo useradd gougou10
[yy@localhost ~]$ id gougou10
uid=1002(gougou10) gid=1002(gougou10)=1002(gougou10)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ever Since!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值