分享

linux之sodu与tar命令

 昵称QAb6ICvc 2022-03-22
普通用户权限提升

一.su切换用户权限提升

su 直接默认切换到root用户 (只赋予权限,不改变环境)
su - root 更改环境变量为root用户的
su -m root 保留环境变量不变

二、sudo命令
由于su对转换到root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。
假如用su来转换到root来管理系统,也不能明确哪些工作是由哪个管理员进行的操作。
特别是对于服务器的管理有多人参加和管理时,最好是针对每个管理员的技术特长和管理范围,
并且有针对性的下放给权限,并且约定其使用哪些工具来完成和其相关的工作,这时我们就必须要用到sudo。
通过sudo,我们能把某些root有针对性的下放,并且无需普通用户知道root密码,
所以sudo相对于权限无限制性的su来说,还是比较安全的,所以sudo也能被称为受限制的su;
另外sudo是需要授予许可的,所以也被称为授权许可的su;
sudo执行命令的流程是当前用户转换到root,然后以root身份执行命令,执行完成后,
直接退回到当前用户;而这些的前提是要通过sudo的配置,文档/etc/sudoers来进行授权;

配置sudo命令:赋予用户root权限

1.首先切换为root用户
su root

2.修改sudoers文件
vim /etc/sudoers

3.找到权限设置如下
root ALL=(ALL) ALL

若要给hyxy用户增加sodu权限,需要在下面加一句话
crx ALL=(ALL) ALL

保存后退出root用户就有sudo权限,当第一次使用sudo命令时,会向你要你赋予权限的用户的密码
若执行sudo命令的用户没有sodu权限 ,则会报以下错误
violet is not in the sudoers file. Thtis incident will be reported

注意:sudo 只有在执行这一条命令时,才会拥有管理员的身份,一旦执行完,就会恢复普通用户身份。
但普通用户要使用sudo特权前,要把自己的加入到/etc/sudoers文件下面

ln命令
1.功能说明
ln命令用来在文件或目录之间创建链接
Linux下的链接有两种,一种是硬链接(Hard Link),另一种是符号链接(Symbolic Link),
默认情况下ln命令产生的是硬链接。
1)硬链接 :是指通过文件的inode来进行链接,在Linux的文件系统中,保存在磁盘的所有类型的文件都会分配一个
编号,这个编号称为inode号(Inode Index),多个文件指向同一个inode在Linux系统中是允许的,这就是所谓的硬链接。
硬链接的作用是允许一个文件拥有多个有效的路径名,这样用户就可以对一些重要文件建立硬链接,以防止误删除操作。
因为对应该文件的inode有一个以上链接被删除后,文件的数据块及目录的链接才会释放,也就是说,此时文件才
会被真正删除。

一般文件的硬链接数是1;文件夹或目录的硬链接数是有多少种方式可链接
(绝对路径;相对路径;cd …等任何可以访问到的方式)

2)符号链接:也叫软链接,软链接类似于Windows中的快捷方式,因此软链接是一个指向真正的文件或者目录位置的符号链接。

ln的命令格式如下:
ln [选项] 源文件 目标链接名
[选项及其说明]
选项 说明
-f 如果在目标位置存在与链接名相同的文件,这个文件将被删除
-s 进行软链接
-d 允许系统盘管理员硬链接自己的目录
-b 对将在链接时会被覆盖或者删除的文件进行备份

文件硬链接举例1:
将/etc/inittab文件进行硬链接到/opt/backup目录下,此时/opt/backup下就生成一个inittab文件。
可以看到,两个文件并没有什么不同
[crx@master vitest]$ ll /etc/inittab
-rw-r–r--. 1 root root 884 Aug 26 23:59 /etc/inittab

[root@master vitest]# ln /etc/inittab /opt/backup
[root@master vitest]# ll /opt/backup
-rw-r–r--. 2 root root 884 Aug 26 23:59 /opt/backup

[root@master vitest]# ll /etc/inittab
-rw-r–r--. 2 root root 884 Aug 26 23:59 /etc/inittab

文件夹硬链接举例2:
[crx@master Desktop]$ mkdir aaa
[crx@master Desktop]$ ll
drwxrwxr-x. 2 crx crx 4096 Oct 27 08:19 aaa
[crx@master Desktop]$ cd aaa/
[crx@master aaa]$ cd …/aaa/

硬链接举例3:
[crx@master Desktop]$ touch aa1.txt aaa.txt
[crx@master Desktop]$ ls
aa1.txt aaa.txt

如果存同名文件,硬链接失败
[crx@master Desktop]$ ln aa1.txt aaa.txt
ln: creating hard link `aaa.txt’: File exists
[crx@master Desktop]$ ls
aa1.txt aaa.txt

[crx@master Desktop]$ ll
total 0
-rw-rw-r–. 1 crx crx 0 Nov 7 16:18 aa1.txt
-rw-rw-r–. 1 crx crx 0 Nov 7 16:18 aaa.txt
[crx@master Desktop]$ echo “hello world” >> aaa.txt
[crx@master Desktop]$ ls
aa1.txt aaa.txt

[crx@master Desktop]$ ll
total 4
-rw-rw-r–. 1 crx crx 0 Nov 7 16:18 aa1.txt
-rw-rw-r–. 1 crx crx 12 Nov 7 16:21 aaa.txt

【-b】选项先备份aaa.txt文件,然后再把aa1.txt硬链接到aaa.txt
下面的aaa.txt~–>原aaa.txt就是"-b"硬链接产生的文件12字节
[crx@master Desktop]$ ln -b aa1.txt aaa.txt(aa1.txt需已存在)
[crx@master Desktop]$ ll
total 4
-rw-rw-r–. 2 crx crx 0 Nov 7 16:18 aa1.txt
-rw-rw-r–. 2 crx crx 0 Nov 7 16:18 aaa.txt
-rw-rw-r–. 1 crx crx 12 Nov 7 16:21 aaa.txt~

恢复状态
[crx@master Desktop]$ ll
-rw-rw-r–. 1 crx crx 0 Nov 7 16:18 aa1.txt
-rw-rw-r–. 1 crx crx 12 Nov 7 16:21 aaa.txt

【-f】会删除原aaa.txt文件
total 0
-rw-rw-r–. 2 crx crx 0 Nov 7 16:18 aa1.txt
-rw-rw-r–. 2 crx crx 0 Nov 7 16:18 aaa.txt

软链接:
ln -s 被链接的源文件 链接文件
建立文件的软链接,类似于Winodws下的快捷方式(创建软链接要使用绝对路径 移动后有效)
[crx@master jdk]$ ls -s /home/crx/soft/jdk jdk

删除软链接:
正确的删除方式(删除软链接,但不删除实际数据)
rm -rf jdk

错误的删除方式
rm -rf jdk/ (这样就会把原来/home/crx/soft/jdk下的内容删除,软连接没有删除)

打包压缩
打包压缩是日常工作中备份文件的一种方式
在不同操作系统中,常用的打包压缩方式是不同的

1)windows常用rar
2) Mac 常用zip
3) Linux常用 tar.gz

———————————————————————
tar命令
1.功能说明
tar 是Linux下经常使用的归档工具,对文件或者目录进行打包归档,归档成一个目录,但是并不进行压缩。

格式:
tar [主选项+辅助选项] 文件或目录

主选项 说 明
-c 新建文件
-r 把要归档的文件追加到档案文件的末尾
-t 列出档案文件中已经归档的文件列表
-x 从打包的档案文件中还原出文件
-u 更新档案文件,用新建文件替换档案中的原始文件

辅助选项 说 明
-z 调用gzip命令在文件打包的过程中压缩/解压文件
-w 在还原文件时,把所有文件的修改时间设定为现在时间
-j 调用bzip2命令在文件打包的过程中压缩/解压文件
-Z 调用compress命令过渡档案
-f “-f"选项后面紧跟档案文件的存储设备,默认是磁盘,需要指定档案文件名;
如果是磁盘,只需指定磁带设备名即可。
注意,在”-f"选项之后不能再跟任何其他选项,
也就是说,"-f"必须是tar命令的最后一个选项

-v 指定在创建归档文件过程中,显示各个归档文件的名称
-p 在文件归档的过程中,保持文件的属性不发生变化

举例:
1)将/etc目录下的所有文件打包,并显示打包的详细文件,设置打包文件名为etc.tar,同时保存文件到/opt目录下
[root@master opt]# tar -cvf /opt/etc.tar /etc
[root@master opt]# ls
etc.tar
这里的档案名"etc.tar"名字是我们自己随便取的,Linux上利用tar命令打包出来的档案文件一般用.tar作为标识

2)将/etc目录下的所有文件打包并压缩,然后显示打包的详细文件,
设置打包文件名为etc.tar.gz,同时保存文件到/opt目录下

【-z 调用gzip命令在文件打包的过程中压缩/解压文件】

[root@master opt]# tar -zcvf /opt/etc.tar.gz /etc

[root@master opt]# ll
total 48924
-rw-r–r--. 1 root root 39055360 Nov 12 13:46 etc.tar
-rw-r–r--. 1 root root 11031818 Nov 12 13:52 etc.tar.gz

【-j 调用bzip2命令在文件打包的过程中压缩/解压文件】
[root@master opt]# tar -jcvf /opt/etc.tar.bz2 /etc

[root@master opt]# ll
total 58144
-rw-r–r--. 1 root root 39055360 Nov 12 13:46 etc.tar
-rw-r–r--. 1 root root 9438125 Nov 12 13:59 etc.tar.bz2
-rw-r–r--. 1 root root 11031818 Nov 12 13:52 etc.tar.gz

"zcvf"选项表示在打包完成后调用gzip命令对档案文件进行压缩,这里的档案名"etc.tar.gz"也是我们随便取的,
“.tar"表示是用tar命令打包的,”.gz"表示调用了gzip命令进行了压缩。

同理,“jcvf"选项表示在打包完成后调用bzip2命令对档案文件进行压缩,
档案命名标识中”.bz2"表示调用了bzip2命令进行了压缩处理

3)查阅上面/opt/etc.tar.gz 和 etc.tar.bz2 压缩包的内容
【-t 列出档案文件中已经归档的文件列表】
[root@master opt]# tar -ztvf /opt/etc.tar.gz
[root@master opt]# tar -jtvf /opt/etc.tar.bz2

4)"etc.tar.gz"可能包含很多个文件,无法一个屏幕显示完毕,这时可以使用more命令
[root@master opt]# tar -ztvf /opt/etc.tar.gz | more

5)将/opt/etc.tar.gz 解压到/usr/local/src下

[root@master src]# cd /usr/local/src
[root@master src]# tar -zxvf /opt/etc.tar.gz

[root@master src]# ls
etc

解压缩到指定路径
tar -zxvf 打包文件.tar -C 目标路径
[root@master src]# tar -zxvf /opt/etc.tar.gz -C /usr/local/src/

6)在/opt目录下,仅解压/opt/etc.tar.gz压缩文件中的/etc/inittab文件
[root@master src]# cd /opt/
[root@master opt]# ls
etc.tar etc.tar.bz2 etc.tar.gz
[root@master opt]# tar -zxvf etc.tar.gz etc/inittab
etc/inittab
[root@master opt]# ls
etc etc.tar etc.tar.bz2 etc.tar.gz
[root@master opt]# cd etc
[root@master etc]# ls
inittab

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多