一、文件系统访问控制列表
1、FACL:Filesystem Access Control List
利用文件扩展保存额外的访问控制权限;
2、使用命令:
a)getfacl 查询文件额外的权限
b)setfacl
-m 设定
u:UID:perm
g:GID:perm
-x 取消
u:UID,如:setfacl -x u:hadoop /tmp/backup/inittab ;
g:GID
如:[root@localhost backup]# setfacl -m u:hadoop:rw ./inittab
[root@localhost backup]# ls -l
total 8
-rw-rw-r--+ 1 root root 1677 May 11 14:59 inittab
[root@localhost backup]# getfacl ./inittab
# file: inittab
# owner: root
# group: root
user::rw-
user:hadoop:rw-
group::r--
mask::rw ---->表示user和group的权限不能超出mask,但是会随着权限更改而变化;
other::r--
c)用户访问文件正常顺序:Owner-->Group-->Other;
d)用户用额外权限访问文件顺序:Owner-->facl,user-->Group-->facl,group-->Other;
二、几个用户命令
1、whoami,显示当前系统的有效用户,并非是登录用户
2、who,显示当前登录系统的用户和终端有哪些
-H :显示用户相关的标题
-r :用户登录级别
3、w,登录用户正在做什么,比who显示更详细
4、last,显示/var/log/wtmp文件,显示用户登录历史及系统重启历史
-n #: 显示最近#次的相关信息
5、lastb,/var/log/btmp文件,显示用户错误的登录尝试
-n #:
6、lastlog: 显示每一个用户最近一次的成功登录信息;
-u USERNAME: 显示特定用户最近的登录信息
7、basename,取文件基名
$0: 执行脚本时的脚本路径及名称
8、mail,查收或发送邮件
如:cat /etc/fstab | mail -s "Hello" root
9、hostname: 显示或更改主机名;
练习1:
1、如果当前主机的主机名不是www.magedu.com,就将其改为www.magedu.com
[ `hostname` != 'www.magedu.com' ] && hostname www.magedu.com
2、如果当前主机的主机名是localhost,就将其改为www.magedu.com
[ `hostname` = 'localhost' ] && hostname www.magedu.com
3、如果当前主机的主机名为空,或者为(none),或者为localhost,就将其改为www.magedu.com
[ -z `hostname` ] || [ `hostname` == '(none)' -o `hostname` == 'localhost' ] && hostname www.magedu.com
10、生成0-32768随机数,如:echo $RANDOM
a)随机数生成器:熵池
/dev/random:
/dev/urandom:
三、Linux终端
1、终端类型:
console :控制台
pty :物理终端(VGA)
tty# :虚拟终端(VGA)
ttys# :串行终端
pts/# :伪终端 ;
练习2,写脚本:
写一个脚本,利用RANDOM生成10个随机数,并找出其中的最大值,和最小值;
参考答案:
#!/bin/bash
#
declare -i MAX=0
declare -i MIN=0
for I in {1..10}; do
MYRAND=$RANDOM
[ $I -eq 1 ] && MIN=$MYRAND --->给个初始值
if [ $I -le 9 ]; then
echo -n "$MYRAND," --->不换行循环显示前9个数字
else
echo "$MYRAND"
fi
[ $MYRAND -gt $MAX ] && MAX=$MYRAND
[ $MYRAND -lt $MIN ] && MIN=$MYRAND
done
echo $MAX, $MIN 。