linux笔记2

上条博客linux笔记-CSDN博客

2.6查找根目录下的文件

根据文件类型查找:find 路径 -type f/d/l/b/c/p/s
根据文件的权限查找:find 路径 -perm 755
根据文件的所属者查找:find 路径 -user/uid 用户名/用户名的编号
根据文件的所属组查找:find 路径 -group/-gid 组名/组编号
根据文件的大小查找:find 路径 -size 2k/+2k/-2k
根据文件的atime时间查找:find 路径 -atime +2/-2/2
根据文件的mtime时间查找:find 路径 -mtime +2/-2/2
根据文件的ctime时间查找:find 路径 -ctime +2/-2/2
根据文件的名字查找:find 路径 -name 文件名/“*host”/“host*”/“*host*”
#将find找到的文件复制到指定目录操作:
利用-exec  \
find / -group redhat -exec cp -r {} /root/redhat \
{}表示find找到的文件

2.7文件的打包压缩

#压缩文件的后缀:.zip,.tar.gz,.tar.bz2,.tar.lz等等
#zip压缩与解压缩
[root@rhel9-1 ~]# zip /root/pc.zip /root/ceshi /root/passwd
  adding: root/ceshi (stored 0%)
  adding: root/passwd (stored 0%)
​
#解压缩
#这样解压缩会在工作目录下生成root目录
[root@rhel9-1 ~]# unzip /root/pc.zip
Archive:  /root/pc.zip
 extracting: root/ceshi  //相对路径       
 extracting: root/passwd  
#可以cd到其他目录中进行解压缩操作
#也可以用-d选项指定目录
[root@rhel9-1 ~]# unzip /root/pc.zip -d /root/dir
Archive:  /root/pc.zip
 extracting: /root/dir/root/ceshi    
 extracting: /root/dir/root/passwd   
[root@rhel9-1 ~]# tree /root/dir
/root/dir
└── root
    ├── ceshi
    └── passwd
​
#gzip的压缩与解压缩,查看内容zcat
[root@rhel9-1 ~]# gzip /root/passwd /root/ceshi
直接在工作目录中压缩为两个文件
#gzip -c 可以指定文件压缩到的目录,也可以重新命名
[root@rhel9-1 ~]# gunzip -c /root/ceshi.gz > /home/ceshi1
[root@rhel9-1 ~]# ll /home
总用量 8
-rw-r--r--.  1 root      root         6  9月 18 01:17 ceshi1
drwx------. 14 xuehanwen xuehanwen 4096  9月 17 00:48 xuehanwen
​
#当我们用gzip压缩文件时,发现无法压缩目录文件,这时需要先用tar命令将目录文件和普通文件打包成普通文件,之后再进行压缩
[root@rhel9-1 ~]# tar -czf /root/sd.tar.gz /root/dir/ /root/test1
tar: 从成员名中删除开头的“/”
tar: 从硬连接目标中删除开头的“/”
#不解压缩的情况下看文件结构
[root@rhel9-1 ~]# tar -tf /root/sd.tar.gz
root/dir/
root/dir/test
root/test1
#解压缩,-xf,会在/root下创建root目录
[root@rhel9-1 ~]# tar -xf /root/sd.tar.gz
#-C选项:指定文件压缩位置
[root@rhel9-1 ~]# tar -xf /root/sd.tar.gz -C /root/dir2

2.8文件在不同主机上的传输

#windows和linux间传输文件
sftp或者xftp
​
#linux和linux
#下载192.168.168.130主机的/root/file3到当前工作目录
scp root@192.168.168.130:root/file3 ./
#上传test.tar.gz到192.168.168.130主机的/root/dir/目录中
scp /root/test.tar.gz root@192.168.168.130:/root/dir

3.用户和用户组的管理

3.1用户的管理

#用户的个人信息文件:root,系统账号(运行系统的程序),普通用户
[root@rhel9-1 ~]# ll /etc/passwd
-rw-r--r--. 1 root root 2104  9月 12 21:14 /etc/passwd
[root@rhel9-1 ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码:uid:gid:用户的描述信息:家目录:命令解释器(shell)
#添加账号,-r添加系统账号
[root@rhel9-1 ~]# useradd xiaoming
[root@rhel9-1 ~]# id xiaoming
用户id=1001(xiaoming) 组id=1001(xiaoming) 组=1001(xiaoming)
[root@rhel9-1 ~]# grep xiaoming /etc/passwd
xiaoming:x:1001:1001::/home/xiaoming:/bin/bash
#修改账号信息
[root@rhel9-1 ~]# usermod -l daming xiaoming
 id daming
用户id=1001(daming) 组id=1001(xiaoming) 组=1001(xiaoming)
此时的gid显示还是xiaoming
#删除账号
[root@rhel9-1 ~]# userdel daming
此时发现home目录下依旧存在/xiaoming文件
#userdel -r选项同时删除该账号的家目录
[root@rhel9-1 ~]# userdel -r daming
#账号的密码管理
[root@rhel9-1 ~]# ll /etc/shadow
----------. 1 root root 1141  9月 18 14:58 /etc/shadow
#普通用户和root账号改密码的区别:普通用户只能改自己的密码,修改密码时需要原密码
[root@rhel9-1 ~]# passwd xiaohei
更改用户 xiaohei 的密码 。
新的密码: 
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
​
#非交互式修改root密码
[root@rhel9-1 ~]# echo 123 | passwd --stdin root
更改用户 root 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@rhel9-1 ~]# 
[root@rhel9-1 ~]# echo 123 | passwd --stdin xuehanwen
更改用户 xuehanwen 的密码 。
passwd:所有的身份验证令牌已经成功更新。
​
​

3.2用户组的管理

基本组:用户必须拥有的组,有且仅有一个
附加组:除了基本组以外的都叫附加组,可以有很多个附加组
#添加组:groupadd
[root@rhel9-1 ~]# groupadd xiaoming
[root@rhel9-1 ~]# grep xiaoming /etc/group
xiaoming:x:1001:
组名:组密码:gid:组成员(以该组为附加组的成员)
#useradd的-G表示指定用户的附加组
[root@rhel9-1 ~]# useradd user3 -g xiaoming
[root@rhel9-1 ~]# useradd user2 -G xiaoming
[root@rhel9-1 ~]# id user2
用户id=1002(user2) 组id=1003(user2) 组=1003(user2),1001(xiaoming)
#组密码配置文件
[root@rhel9-1 ~]# ll /etc/gshadow
----------. 1 root root 705  9月 19 10:41 /etc/gshadow
[root@rhel9-1 ~]# grep xiaoming /etc/gshadow
xiaoming:!::user2
组名:组密码:组管理员:组成员(以该组为附加组的成员)
#修改组信息:groupmod
#修改组名
[root@rhel9-1 ~]# groupmod -n zu1 xiaoming
[root@rhel9-1 ~]# grep zu1 /etc/group
zu1:x:1001:user2
#删除组:groupdel
#不能删除用户的基本组,可以删除附加组
[root@rhel9-1 ~]# groupdel group2
[root@rhel9-1 ~]#
[root@rhel9-1 ~]# groupdel group1
groupdel:不能移除用户“user1”的主组

3.3用户登录情况查看

[root@rhel9-1 ~]# w
 02:38:55 up 16 min,  2 users,  load average: 1.51, 0.35, 0.11
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0     02:24    0.00s  0.07s  0.01s w
xuehanwe tty2      02:38   16:30   0.04s  0.04s /usr/libexec/gnome-session-bina
​
查看哪个ip连接此系统
[root@rhel9-1 ~]# who
root     pts/0        2023-09-20 02:24 (192.168.225.1)
xuehanwen tty2         2023-09-20 02:38 (tty2)
xuehanwen pts/1        2023-09-20 02:39 (192.168.225.1)
​

3.4用户的提权

#用户提权 su - 用户名【必须知道该用户名的密码】
#用户提权 sudo -u 用户名 command【是当前用户的密码】
​
当我们新创建一个用户user1,并为其设置密码,发现其无法使用sudo -u
[root@rhel9-1 ~]# useradd user1
[root@rhel9-1 ~]# echo 123 | passwd --stdin user1
[root@rhel9-1 ~]# su - user1
[user1@rhel9-1 ~]$ sudo -u root ls -l /root
​
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
​
    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。
​
[sudo] user1 的密码:
user1 不在 sudoers 文件中。此事将被报告。
​
屏幕输出这些话,并有重要信息:user1 不在 sudoers 文件中。此事将被报告。
所以我们可以通过vim修改sudoers文件
我们先用find找一下该文件
[root@rhel9-1 ~]# find / -name sudoers
/etc/sudoers
/usr/share/doc/sudo/examples/sudoers
​
我们知道usr/是资源目录,里面放了可执行命令,所以应该不是修改此文件
etc/是系统配置文件,应该修改此文件
​
[root@rhel9-1 ~]# vim /etc/sudoers
进入此文件中,我们找到该语句
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
以相同语法添加新用户
user1   ALL=(ALL)       ALL
当然我们也可以修改ALL为指定允许的命令的路径(注意是路径)
​
​
但我们发现我们的xuehanwen用户却可以直接使用sudo -u root
[xuehanwen@rhel9-1 ~]$ id xuehanwen
用户id=1000(xuehanwen) 组id=1000(xuehanwen) 组=1000(xuehanwen),10(wheel)
我们id了一下这个用户,发现其在wheel副组中
[xuehanwen@rhel9-1 ~]$ grep wheel /etc/group
wheel:x:10:xuehanwen
​
我们刚刚也在/etc/sudoers文件中看到了
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
​
所以当我们创建新用户时指定其副组为wheel组,也可直接进行提权
​
当然我们还有别的方法,修改用户的uid(不建议使用)
我们vim进/etc/passwd文件
user1:x:1001:1002::/home/user1:/bin/bash
修改1001为0,并为user1设置密码
当我们想要su进user1用户时,发现输入密码后进入了root用户。

4.文件权限

  • 修改文件的所属者和所属组

    [root@rhel9-1 ~]# ll /root/file1
    -rw-r--r--. 1 root root 0  9月 20 23:43 /root/file1
    ​
    #修改文件的所属者和所属组
    [root@rhel9-1 ~]# chown user1:group1 /root/file1
    [root@rhel9-1 ~]# ll /root/file1
    ​
    #修改文件的所属者,所属组不变
    [root@rhel9-1 ~]# chown user1 /root/file1
    [root@rhel9-1 ~]# ll /root/file1
    -rw-r--r--. 1 user1 group1 0  9月 20 23:43 /root/file1
    ​
    #修改文件的所属者为user1,所属组为所属者的基本组(user1)
    [root@rhel9-1 ~]# chown user1: /root/file2
    [root@rhel9-1 ~]# ll /root/file2
    -rw-r--r--. 1 user1 user1 0  9月 20 23:43 /root/file2
    ​
    #修改文件的所属组,所属者不变
    [root@rhel9-1 ~]# chown :user1 /root/file3
    [root@rhel9-1 ~]# ll /root/file3
    -rw-r--r--. 1 root user1 0  9月 20 23:41 /root/file3

  • 修改文件的某一类人【所属者、所属组、其他人的权限】

#所属者user,u;所属组group,g;其他人other,o;all-a表示所有人
[root@rhel9-1 ~]# ll /root/file1
-rw-r--r--. 1 xuehanwen group1 0  9月 20 23:43 /root/file1
​
#chmod
chmod u/g/o/a + - = rwx 文件
chmod  750  文件
[root@rhel9-1 ~]# chmod u=rwx,g=wx,o=w /root/file1
[root@rhel9-1 ~]# ll /root/file1
-rwx-wx-w-. 1 xuehanwen group1 0  9月 20 23:43 /root/file1
​

4.1用户对于普通文件的权限

权限r---w---x
普通用户可以执行的命令读,cat写,vim,但是不能查看内容执行,啥也干不了
[root@rhel9-1 ~]# cd /test
[root@rhel9-1 test]# echo hello > /test/hi
[root@rhel9-1 test]# ll
总用量 4
-rw-r--r--. 1 root root 6  9月 21 10:47 hi
[root@rhel9-1 test]# cat /test/hi
hello
​
普通文件可能出现的正常的权限:---,r--,rw-,r-x,rwx

4.2用户对于目录文件的权限

权限r---w---x
可以执行的命令读,只能看到文件的名字,看不见属性写,啥也干不了执行,cd
#g=r
[root@rhel9-1 dir1]# chmod g=r /dir1/
[user2@rhel9-1 ~]$ ll /dir1
ls: 无法访问 '/dir1/test1': 权限不够
总用量 0
-????????? ? ? ? ?             ? test1
​
[user2@rhel9-1 ~]$ ll /dir1/test1
ls: 无法访问 '/dir1/test1': 权限不够
​
#g=w:什么也做不了
​
#r-x:可读不可写
[user2@rhel9-1 ~]$ touch /dir1/test2
touch: 无法创建 '/dir1/test2': 权限不够
​
#rwx:什么都能做
​
目录文件可能出现的权限:---,

总结:

1.你是谁

2.你在哪,仅限于使用相对路径才需要考虑当前的工作目录在哪

3.你要干什么

4.3特殊权限

  • suid:u+s,二进制文件,/bin和/sbin:用户执行指令的时候,先找到指令的可执行文件,执行文件后会变成一个进程,该进程的所属者会变成该程序文件的所属者。

    [root@rhel9-1 ~]# ll /usr/bin/passwd
    -rwsr-xr-x. 1 root root 3
    2648  8月 10  2021 /usr/bin/passwd
    用户修改密码:密码信息存储在/etc/shadow(只有root才能修改该文件)
    ​
  • sgid:g+s:目录文件:任何人在该目录下创建的文件的所属组和目录的所属组保持一致

    [root@rhel9-1 ~]# chmod g+s /dir1
    [root@rhel9-1 ~]# ll -d /dir1
    drwxr-srwx. 2 root root 19  9月 23 21:06 /dir1
    [xuehanwen@rhel9-1 ~]$ touch /dir1/test2
    ​
    [root@rhel9-1 ~]# ll /dir1
    总用量 0
    -rw-r--r--. 1 xuehanwen xuehanwen 0  9月 23 21:06 test1
    -rw-r--r--. 1 xuehanwen root      0  9月 23 21:07 test2
  • sticky:o+t,用户不能删除别人创建的文件,只能删除自己创建的文件

    [root@rhel9-1 ~]# mkdir /dir2
    [root@rhel9-1 ~]# chmod o+t /dir2
    [xuehanwen@rhel9-1 ~]$ touch /dir2/test1
    ​
    #由于文件时xuehanwen用户创建的,所以user1用户无法删除
    [user1@rhel9-1 ~]$ rm -rf /dir2/test1
    rm: 无法删除 '/dir2/test1': 不允许的操作
    ​
    [xuehanwen@rhel9-1 ~]$ rm -rf /dir2/test1
    [xuehanwen@rhel9-1 ~]$ ll /dir2
    总用量 0
    ​

4.4 umask(权限掩码)--可以控制用户创建文件的权限

[root@rhel9-1 ~]# umask
0022
普通文件的权限属性:666
目录文件的权限属性:777
​
xxx-022=权限

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值