su - 或su 切换root(需要root密码) ctrl+d 退回原用户
logout命令也可退出
su 用户名 切换成该用户(root切不需要密码,普通用户需要别人密码)
在linux环境下当我们使用ll命令显示文件详细信息时会出现
按照出现的顺序它们代表的意思依次是,文件类型+访问权限 连接数 所属用户 所属组 文件大小 文件最新修改日期 文件名
目录
1.文件类型
2.访问权限
3.八进制修改权限
4.文件拥有者+所属组更改
5.目录权限和普通文件区别
6. 粘滞位
文件类型有六种
d:文件夹类型,可使用makdir 名称创建
-:普通文件类型,可使用touch 名称创建
以下几种在基础阶段用到的不多就不逐个演示了
p:管道文件,可使用mkfifo 名称创建
使用 echo “内容”>名称 写入内容
c:字符设备文件(键盘,显示器设备)
s:套接口文件
b:块设备文件(磁盘设备)
l:软链接
我们在上面所看到有rwx-这四种不同的权限,其中三个为一组,一共三组,rwx出现顺序固定
每组的权限分别是拥有者u,所属组g,其他用户o rwxrwxr-- a所有用户(下面改权限时可用)
root用户权限是最高的,不受这些权限限制
拥有者的权限是不受所属组权限控制的
你是拥有者,这时有另一个人,你想让他看你写的文件代码,又不想让其他人看你的文件,你就可以把他拉到组里面只给他看
r: 只读
w:只写
x:仅可执行
-:什么都没有
我们可以使用chmod命令来实现对权限的更改
下面我们来验证一些拥有者权限和所属组权限问题
可以看出拥有者权限是高于所属组的,不受所属组权限影响,当拥有者权限归零时,虽然你还属于所属组,但是还是无法对文件进行操作
当拥有者所属组不同时,拥有者权限清零时,所属组的权限并不受影响
原因是权限只会认证一次,一旦判定你是什么,你的权限就只按照你所归属的位置来判断
除了上面的修改权限方式,我们还可以使用八进制方式修改,
r:4, w:2,x:1 rwx:7
修改时使用chmod 数字即可,例如chmod 666 文件名
chown 用户名 文件名 (更改拥有者)
chgrp 组名 文件名 (更改所属组)
注意普通用户是没有办法直接给别人的,需要su切换root才可以更改(需要root密码)
也可使用sudo chown 用户名 文件名字
sudo chown 用户名:所属组 文件名字(只需要自己的密码)
(上述操作需要被添加进root白名单)
目录权限rwx含义和普通文件有些不同
r:读权限 目录中起到的是,是否可以使用ls等命令查看目录下文件列表等
w:写权限 目录中起到的作用是在目录下创建删除文件权限
x:可执行权限 目录中的作用是控制是否可以进入cd到目录中
一个目录文件创建,起始权限777,一个普通文件创建,起始权限666
最终权限=起始权限&(~umask)//umask权限掩码
输入命令umask查看掩码,umask 数字 更改掩码 例如umask 0111
以目录文件为例起始权限777,系统默认umask0002
通过上面的介绍我们会发现一个漏洞,一旦有了w权限,我们就可以对其目录下文件进行删除创建,这就意味着你们同一组在相同目录下创建文件时同组的人员可以删除你创建的文件
一旦目录文件中有了w权限,我们在目录中自己创建的文件关闭同组w权限也不能阻止让别人删除,但是关闭r权限可以阻止别人读
这就有些不讲道理,通过使用粘滞位就可以解决这个问题
我们要注意的是粘滞位只能给目录文件设置,不能给普通文件设置
使用chmod +t 目录文件名进行粘滞位设置
我们可以看到只能给other用户权限添加粘滞位
粘滞位是谁设置谁才能取消,root除外
当目录设置粘滞位后,目录下的文件只有root,文件所有者,目录所有者可以删除