第八课-第一讲 08_01_facl及用户及Linux终端

文件系统访问列表 FACL:File Access Control List 利用文件扩展属性保存额外的访问控制权限 一. 设置命令 setfacl 设置facl -m 设定 u:UID:perm g:GID:perm -x 取消设定的额外的访问控制列表 u:UID g:GID

为目录设置默认的访问控制列表:任何在此目录当中创建的文件都自动从这个目录上继承这个访问控制列表,为某个用户设定的访问控制列表 setfacl -m 设定 d:u:UID:perm d:g:GID:perm -x 取消设定的额外的访问控制列表 d:u:UID d:g:GID setfacl -m u:hadoop:rw- inittab setfacl -m g:mygroup:rw- inittab

setfacl -x u:hadoop setfacl -x g:mygroup

getfacl file 获取facl #file:file #owner:root #group:root user::rw- group::r-- other::r-- getfacl file #file:file #owner:root #group:root user::rw- user:hadoop:rw- group::r-- mask::rw- other::r-- getfacl file #file:file #owner:root #group:root user::rw- user:hadoop:rw- group::r-- group:mygroup:rw- mask::rw- other::r--

二. 进程安全上下文的访问步骤

  1. Owner->Group->Other
  2. Owner->facl中的user->Group->facl中的group->Other

三. mask的作用:无论你给的user或者group什么权限,不能超出mask的权限 1.mask 的权限会根据你设定的user或者group的权限而变化,保证不超过mask权限 2.setfacl --mask 指定固定值的mask权限,此时mask值不会随setfacl设定的user或者group的权限变化。也就是固定值的mask,此时setfacl设置的权限就一定要小于mask的值,否则多出的权限会被切掉。

四. 有扩展属性的(就是serfacl增加过权限的)的文件使用ls -l查看时,最后有个加号 ls -l -rw-rwxr--+ root root 1670 Mar 8 inittab 带有加号 的文件在复制和归档时,这个加号代表的扩展属性不会被归档。要特殊处理。在后面会讲到。

五. 几个命令 whoami 显示当前登录系统的用户是谁

who 显示登录到系统的用户有哪些个(su的不是登录用户,所以不显示) 第一 第二 第三

用户名	      哪个终端登录的   登录时间及登录地址
who -r 显示当前运行级别
who -h 显示表头

w 显示的信息比who详细

last 显示当前系统的登录历史及系统重启历史 就是查看了/var/log/wtmp last -n # 最近#次的登录信息

lastb (bad) 显示用户错误的登录尝试 就是查看了/var/log/btmp lastb -n # 最近#次的错误登录信息

lastlog 显示系统的每一个用户上一次的成功登录信息 lastlog -u USERNAME 显示特定用户最近的登录信息

basename 显示路径基名 basename /etc/abc/me 结果是: me basename $0 脚本的名字,执行脚本时的脚本路径及名称 $0,$1,$2:$0 就是命令本身,或者脚本本身

mail :本机上不同用户间发送接收邮件。邮件存在家目录下mbox下面 q 退出 cat /etc/inintal | mail -s "How are you ?" root 管道符 mail -s "How are you?" root < /etc/inittab 输入重定向

hostname 显示当前主机的主机名 echo $HOSTNAME 环境变量 hostname www.my.com 修改主机名 echo $HOSTNAME 没有改变,还是以前的,此次修改对此环境变 量无效。登录时任然显示$HOSTNAME的名字。

RANDOM 系统内置环境变量,取值范围 [0-32768] echo $RANDOM

Linux系统随机数生成器:有2个,熵池 /dev/random:熵池空后就阻塞用户进程等待熵池填满。这个安全 /dev/urandom:熵池空后软件模拟不会阻塞用户进程。这个好用

六. 终端类型:终端是物理设备,一定要关联到某个硬件上

console 控制台,直接连到主机上(linux安装的那台机器)的显示器和键盘,控制台不是终端,它只是可以直接连进你的硬件设备的一个显示界面。通常是软硬件的结合。 pty 物理终端(VGA卡显卡),通常也console不去区分。控制台就是物理终端,物理终端就是控制台 tty# 虚拟终端(VGA卡显卡),附加在某个物理终端上的 ttyS# 串行终端 pts/n 伪终端,模拟出来的,假的。