1.权限
2.常用工具
1.权限:
Linux是一个多用户操作系统:可以同时多个用户登录上来,各操作各的,互不影响。因为用户多了,就不可避免出现一些意外情况:谁把我的代码删了,谁改了我的代码等,因此系统进行了权限的控制。
1.1系统操作权限
主要是将用户分为两类用户:管理员-root用户;其他用户都是普通用户。
普通用户在系统上的操作都是受限的:比如安装或者卸载软件,修改系统时间······
涉及的指令:
su 切换用户; useradd 添加用户; userdel 删除用户; passwd 设置用户密码
作为普通用户,不可避免就要进行一些系统操作,比如安装一个工具,就需要管理员权限,但是每次切换用户太麻烦。
sudo:不是一个单独的指令,用于给普通用户当前的操作进行临时提权
前提条件:使用户需要被添加到sudoers配置文件中, visudo 修改配置文件
1.2文件操作权限:
系统将对文件访问的用户分为了三类:
u 文件所有者:默认都是文件的创建者,文件的访问权限都是所有者进行控制的
g 文件所属组:某一类用户可以对这个文件能够进行某些操作
o 其他用户:除了所有者和所属组成员外,剩下的统称其他用户
系统对用户能够对文件进行的操作分为了三类:
r 可读:可以查看文件内容(对于目录所说,就是是否可以查看目录文件中的文件信息)
w 可写:可以修改文件内容(对于目录所说,就是是否可以在目录中创建或删除文件)
x 可执行:可以执行这个文件(对于目录来说,就是是否可以进入这个目录)
权限的标识:
哪个位置是-表示不具备对应的操作权限
例如:有个文件,所有者可读可写可执行,所属组成员是可读可写,其他用户不具备任何权限,权限表示为:rwxrw----
权限的另类表示:
权限如果以字符形式存储,比较耗费磁盘空间,因为权限至少要占据9个比特位,因为权限只需要表示是否具备即可,因此用二进制的比特位表示最合适:因为二进制就是0或1
rwxrw-r-- -->111110100 --> 764
三个比特位刚好就是一个八进制数字,因此某类用户的权限,也可以使用八进制的数字进行表示
权限的相关指令:
umask 查看或设置文件的创建权限掩码
掩码影响了文件出来后的默认权限,默认权限是掩码取反(仅限于命令行终端中使用用户创建)
实际的计算方式:创建文件时给定的权限,与掩码取反的值进行相与
简单方法:在命令行中创建文件,默认权限就是使用777减去掩码的值。在系统中当前umask的值是033,则创建一个文件后,所属组用户具有什么权限:744,如果说的普通文件默认没有可执行权限就是644;
chmod 修改一个已存在的文件的权限
可以给指定用户添加或移除指定的权限: chomd [augo]+[rwx] 例:chmod u+x file
直接通过八进制数字表示的权限进行设置: chmod 777 file
chown 修改文件所有者 chown zhangsan test/
chgrp 修改文件所属组 chgrp zhangsan test/
粘滞位:
粘滞位的背景: 在使用Linux的时候,可能会有一些共享目录,被所有普通用户共享,用来保存普通用户产生的临时数据。共享的目录通常是root提供的,里面的文件被所有人共享的时候,文件权限会受到约束,但是却拦不住别人删我的文件!
怎么实现添加粘滞位
我们通过chmod +t命令设置其它用户权限位中的粘滞位
注:
在给目录添加粘滞位后,系统会首先识别此目录是否有粘滞位。若有,则不管其他用户是否拥有读写权限,都不允许删除目录内文件;若没有,则按照其他用户实际所拥有的权限进行处理。
添加粘滞位的目录谁能删除
当一个目录被设置为"粘滞位"(chmod +t),则该目录下的文件只能由:
超级管理员删除
该目录的所有者删除
该文件的所有者删除
2.常用工具(linux下与编程相关的一些文件)
工具:yum,gcc/g++,gdb,makefile,git
2.1 yum
yum:软件包管理工具(类似于手机上的应用商店)
三板斧操作:
查看软件包:yum list | grep lrzsz yum search lrzsz
lrzsz工具:文件传输工具,可以实现虚拟机或者服务器与当前我们主机之间的文件传输(前提是使用xshell这种远程客户端)
sz zhangsan.c 将linux上的文件传输到主机
rz 将主机上的文件传输到linux
安装软件包:yum install lrzsz
卸载软件包:yum remove lrzsz
2.2 vim
vim:编辑器--就是个写代码的工具
特点:只能键盘操作
vim的操作模式:共有12中操作模式,但是其中三种是必用模式
普通模式:vim打开文件后的默认模式,通过命令进行文本操作(复制,粘贴,剪切,光标移动
插入模式:数据插入,编辑文档内容
底行模式:文件的保存和退出
模式切换:vim filename 打开文件(文件不存在会自动创建文件);所以的模式都是通过普通模式来切换的。
普通模式切换到插入模式:i o a I A O
插入模式切换到普通模式:ESC
普通模式切换到底行模式:英文冒号 :
底行模式下的操作: :w 保存 :q 退出 :wq 保存并退出 :q! 不保存强制退出
普通模式下的操作:
移动光标:hjkl-上下左右; ctrl+f/b-上下翻页; gg/G-文档首行和尾行
内容操作:yy-复制光标所在行;p-进行粘贴