变换用户身份 su 命令 从普通用户切换到root用户需要密码,从root用户切换到普通用户不需要密码。
这样的切换只是登陆的身份变为了root,文件的环境仍然没变。 su -命令 完全切换
只允许root登陆,不允许其他普通用户登陆(是root登陆) 可以在/etc目录下建一个名为nologin的文件
权限的管理chmod
-a 所有的权限 -u 文件所有者的权限 -g 组权限 -o 其他用户的权限
可以使用运算符来设置权限 + - =
r 可读 w 可写 x 可执行
也可以用八进制的数字代表全权限: 0 1 2 3 4 5 6 7
0 代表什么权限也没有 1 x 可执行的 2 w 可写的 3 w+x wx 4 r 可读的 5 r+x 6 r+w 7 r+w+x
改变文件或目录的权限 chmod 权限 目录名 目录的权限被改变了,但是目录下的子文件的权限并未被改变
chmod -R 权限 目录名 目录的权限被改变了 同时目录下的子文件的权限也被改变了
改变文件的所有者身份
chown命令
chown 权限 目录名 目录的所有者被改变了,但是目录下的子文件的所有者并未被改变
chown -R 权限 目录名 目录的所有者被改变了 同时目录下的子文件的所有者也被改变了
chgrp 改变文件或目录的所属组
-R 改变目录及子文件的所属组
三个命令同样的道理 使用-R 可以改变目录及目录下子文件的权限
想改变所属主也想改变所属组,怎么办/ chwon [所属主].[所属组] [文件或目录]
新添加的目录默认的权限是755 文件的权限是644,我们可以改变新添加目录或文件的权限? umask 命令 默认的是[0022]
umask [权限]
文件的特殊权限
linux中除了常见的读(r)、写(w)、执行(x)权限以外,还有3个特殊的权限, 分别是setuid、setgid和stick bit
特殊权限值对可执行的文件有效: setuid u+s 让普通用户拥有可以执行“只有root权限才能执行”的特殊权限
setgid g+s 同上道理几乎一样 要是一个可执行的文件具有了suid 或sgid 它所执行所使用的用户身份,组身份都是root。 比如touch 具有suid 普通用户创建的文件的所有者都是root,哪怕touch所有者属于普通用户, 创出的文件所有者也是root sgid原理一样
suid 只对文件使用
sgid 文件 目录都可以使用
bit 也叫粘着位 就是t权限 对目录使用 目录具有了t权限,用户只能删除自己添加的文件或目录,对其他用户创建的目录,文件无可删除权限。