| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux常用命令及知识点汇总(二) -> 正文阅读 |
|
[系统运维]Linux常用命令及知识点汇总(二) |
目录 1.Linux文件系统?1.1存储结构linux文件的存储方式为
目录也是一样的也有inode,但是目录数据区的内容如下 所以文件的名字是存在目录中的,inode本生不记录文件名。
1.2挂载点每个文件系统都有独立的inode、区块、超级区块等信息,把文件系统与目录树结合称为【挂载】,挂载点是个目录,通过该目录即可访问该文件系统。 输出ls -lid / /root /home命令,因为他们都是独立的文件系统挂载点,所以inode可以一样,且xfs文件最顶层的目录一般为64和128号,所以这三个挂载点的inode相同。
1.3查看磁盘使用情况
1.4硬连接和符号连接硬连接的本质就是一个数据区对应了多个文件,这多个文件的inode都指向该数据区的内容。 所以你删除一个硬连接,真正的内容不会被删除,另外一个硬连接还是可以正常访问的,但是硬连接不能跨文件系统,这点很好理解。 符号链接就是个快捷方式,当源文件被删除了符号链接就打不开了。由符号链接建立的文件会创建它独有的inode和数据区。
2.磁盘操作2.1查看磁盘分区情况
2.2磁盘分区
/etc/fstab中的条目为: [设备/UUID等] [挂载点] [文件系统] [文件系统参数] [dump?] [fsck?] 后面4个直接写默认的即可。 3.压缩与打包
3.1gzipgzip应用最广,后缀为*.gz。 gzip [参数] 文件名
压缩后原始文件不保留,生成一个.gz的文件。 3.2bzip2升级版的gzip,压缩比更高了,后缀名为.bz2。 bizp2 [参数] 文件名
3.3xz压缩比更高了,但是压缩的时间较长,用法一模一样,后缀为.xz。 xz [参数] 文件名 解压缩为unxz 3.4tar打包打包命令,生成的后缀为.tar文件。 ①:这三个参数只能出现一个
②:打包并且压缩的参数,这三个参数最多只能出现一个
其他参数:
?示例: 单纯的打包操作,不压缩: tar -cv -f? test.tar? aa.txt? bb:将aa.txt文件和bb目录打包为test.tar包 tar -xv -f test.tar:将test.tar包解包出来,解到当前路径下 tar -xv -f test.tar -C /etc:将test.tar解包到/etc下
tar -zcvf? t.tar.gz? aa.txt? bb:将aa.txt文件和bb目录打包为一个文件并且使用gzip进行压缩(bzip2使用-j) tar -zxvf? t.tar.gz? :使用gzip解压缩并且解包。
从上述的规律看出,我们只需要记住: 打包使用-cvf,解包使用-xvf即可,如有压缩的情况只需记住常用的-z(gzip)、-j(bzip2)即可 4.账号管理和ACL权限设置4.1用户管理/etc/shadow文件示例:bin:*:18353:0:99999:7::: 每一栏的作用分别为:①账号名称、②密码、③最近修改密码日期、④密码不可被修改日期、⑤密码需要重新修改的天数、⑥密码需要修改期限前的警告天数、⑦密码过期后的宽限天数、⑧账号失效日期、⑨保留
文件①/etc/default/useradd
文件②/etc/login.defs
4.2组管理主要是管理/etc/group和/etc/gshadow两个文件。 /etc/group文件示例:lxc:x:1001:? ? ? ①组名、②密码、③gid、④组内的成员,用逗号分隔 /etc/gshadow文件示例:lxc:!::? ?①组名、②密码,!表示没有密码,也表示没有用户组管理员、③用户组管理员的账号、④组内的成员,和group文件相同
4.3ACL权限管理????????setfacl? 选项? 文件名:设定ACL权限
①针对特定用户使用【u:用户账号:权限】:setfacl -m u:lxcc:rx aa.txt。特别的如果用户账号为空代表文件拥有者。 ②针对特定组使用【g:用户组名:权限】:setfacl -m g:lxc1:rw aa.txt 。同上,如果为空代表本组 ③针对有效权限设置使用【m:权限】:即getfacl中的mask,用户或用户组所设置的权限必须在mask范围内存在,否则的话也不能生效。 getfacl? 文件名:查看acl等信息 目录的ACL的权限默认不会继承到它的子目录或文件,如果想让子目录/文件都继承的话需要使用默认权限设置:d:[u|g:[user|group]:权限],就是在前面加上一个额外的d,即可实现继承,和-R的区别就是,新建的文件也会自动继承。 4.4用户身份切换su? [-] [选项] [username]:身份切换命令,省略username就是切换root用户;如果中间加上-的话,就是以login shell进行登录,不加是以nologin shell启动,且当前很多环境是不会变的,所以最好加上-
sudo:允许一个已授权用户以超级用户或者其它用户的角色运行一个命令,而无需root的密码
如sudo -u sshd touch /tmp/hi,用系统用户sshd的身份创建一个文件,该文件的拥有者是sshd 只有/etc/sudoers文件中指定的用户才能运行sudo这个命令,只需输入自己的密码即可开始执行 visudo:修改/etc/sudoers文件提供的命令,不建议直接vim修改。 如何修改sudoers文件?基本语法为:? 使用者账号? 登录者的来源主机=(可切换的身份)? 可执行的命令 如root?? ?ALL=(ALL) ?? ?ALL? ? ? ? ?:代表root用户可使用sudo,且来源主机可以是任何主机,可以切换任何人的身份去执行任何命令。 ①某个用户可使用root所有命令 增加 lxc? ALL=(ALL) ?? ?ALL ②利用组批量设置 centos7默认sudoers里就有这么一行:%wheel?? ?ALL=(ALL)?? ?ALL,其中前面的%,代表是一个组,wheel是组名,表示只要是这个组的用户都能够执行sudo命令切换身份,执行任何操作。 ③无需密码的设置 只需在按照lxc? ALL=(ALL)? ? ?NOPASSWD:ALL,就表示sudo切换身份时lxc不用输入自己的密码。 ④有限制的命令操作 上面的设置可以让用户能做任何事,包括修改root的密码,不太好,我们需要加以限制。 如 lxc? ALL=(root)? /usr/bin/passwd? ,就是让lxc用户仅能够切换root,执行passwd命令,注意这里的可执行命令这一栏一定要填绝对路径,否则报错。 上面的操作并不能解决lxc能够修改root密码的问题,lxc依然能够使用 sudo passwd修改,可以使用 lxc? ALL=(root)? !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root 修改解决该问题,即lxc用户只能sudo切换为root,且不能修改root的密码 其中可以支持正则表达式,!的作用是不允许执行。?多个命令中间必须有空格。 ⑤通过变量设置 前面的都是单个用户或组的设置,也可以通过变量方式设置,就是将多个用户一起定义为一个变量,如mywork,然后myworl ALL=(ALL)? xxx,来减少工作量。不一定是多个用户一个变量也可以是多个操作一个变量。 ⑥sudo搭配su 可以设置一些用户可以执行的命令为 su - ,即允许他们登入管理员账号。 4.5用户信息传递
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 5:56:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |