Linux中有两种用户,root和普通用户
对于root用户,命令提示符是#,可以做任何事,不受限制
对于普通用户,命令提示符是$
su [用户名]
用这个命令可以切换登录用户
su user
su root
root可以省略,需要输入root用户的口令
我们可以通过ls -l命令查看文件夹内的详细信息
例如
我们依次来解释这些内容的意思
我们可以看到在file1这个文件中有一串是root root
这里其实对应了两个身份,第一个root的位置表示该文件的所属用户,第二个root表示该文件的所属用户组,即这个文件属于哪个组
还有第三个身份就是其他用户,即不属于组的用户
这里最前面有一串字符 -rw-rw-r–
这里其实是分块理解的,第一个字符表示文件类型
字符 | 说明 |
---|---|
d | 文件夹 |
- | 普通文件 |
l | 软连接(类似于快捷方式) |
b | 块设备文件 |
p | 管道文件 |
c | 字符设备文件(输入输出设备) |
s | 套接口文件 |
后面九个字符,三个三个一组,分别对应三种身份的各种权限
r表示有读权限
w表示有写权限
x表示有可执行权限
-表示没有这项权限
这里三个三个一组,如果用三位二进制数表示刚好是从0到7八个数字
例如
符号 | 八进制 | 二进制 |
---|---|---|
r– | 4 | 100 |
-w- | 2 | 010 |
rw- | 6 | 110 |
r-x | 5 | 101 |
chmod [参数] 权限 文件名
这里的权限要写明用户和具体权限
例如
chmod u+w file1
用户符号如下
符号 | 说明 |
---|---|
u | 拥有者 |
g | 拥有者同组用户 |
o | 其他用户 |
a | 所有用户 |
符号可以有+,-,=分别对应着添加,减少,赋予
第二种就是直接用三位八进制数字表示
chmod 664 file1
也就分别对应着 rw-rw-r–
chown [参数] 用户名 文件名
chown user1 f1
chown -R user1 filegroup1
-R表示修改文件或目录的所属组
新建的文件默认起始权限为0666,目录的默认起始权限为0777
当我们不想要这个起始的权限时,就需要修改文件掩码,计算公式如下
修改后的默认权限 = 起始权限 & (~掩码)
我们可以用umask命令来修改掩码
例如
umask 0002
一般来说root用户默认掩码为0022,普通用户掩码为0002
file是用来辨识文件类型的
file [选项] 文件或目录
-c 详细显示指令执行的过程
-z 尝试解读压缩文件的内容
修改/etc/sudoers文件分配文件
chmod 740 /etc/sudoers
vi /etc/sudoer
格式:接收权限的用户登录的主机 = (执行命令的用户)命令
使用sudo调用授权的命令
sudo -u 用户名 命令
sudo -u root /usr/sbin/useradd u2
目录没有可执行权限就无法进入
目录没有可读权限就无法用ls命令查看文件内容
没有可写权限就无法创建删除文件
如果用户拥有目录的写权限,就可以删除目录中的文件,并且可以无视对于文件本身的写权限
因此引入了粘滞位的概念,当一个目录被设置为粘滞位(chmod +t)时,则目录的文件只能由root、目录所有者、文件所有者删除