FACL:File system Access Control List
利用文件扩展保存额外的控制访问权限
setfacl:
-m:设定
u:UID:perm
g:GID:perm
-x :取消设定
u:UID:perm
g:GID:perm
为某个目录添加访问控制列表:在u,g前加 d:
程序访问文件的权限:
比较程序与文件下列的权限
owner->group->other
owner->facl,user->group->facl,group->other
getfacl:
获得文件的控制访问权限
终端类型:
console:控制台
pty:物理终端(VGA)
tty#:虚拟终端(VGA)
ttyS#:串行终端
pts/#:伪终端
几个命令:
w:显示那个用户已经登陆了,并且显示用户正在干什么
who:显示谁已经登陆了
whoami:显示当前用户
last:显示/var/log/wtmp文件,显示用户登陆历史及系统重启历史
-n #:显示最近#次的登陆信息
lastb:显示/var/log/btmp文件,显示用户错误的登陆尝试
-n #:显示最近#次错误的登陆尝试
lastlog: 显示每一个用户最近一次的成功登陆信息
-u USERNAME:显示特定用户的最近登陆信息
basename:
$脚本本身:执行脚本时的脚本路径及名称
生成随机数:
RANDOM: 0-32768
$:echo $RANDOM
随机数生成器:熵池
/dev/random:从熵池中取(熵池为空时,就会停止)
/dev/urandom:软件模拟
case用法
#!/bin/bash
DEBUG=0
ADD=0
DEL=0
for I in `seq 0 $#`; do
if [ $# -gt 0 ]; then
case $1 in
-v|--verbose)
DEBUG=1
shift;;
-h|--help)
echo "Usage:`basename $0` --add USER_LIST --del USER_LIST -v|--verbose -h|--help"
exit 0
;;
--del)
DEL=1
DELUSERS=$2
shift 2
;;
*)
echo "Usage:`basename $0` --add USER_LIST --del USER_LIST -v|--verbose -h|--help"
exit 7
;;
esac
fi
done
if [ $ADD -eq 1 ]; then
for USER in `echo $ADDUSERS |sed 's@,@ @g'`;do
if id $USER &> /dev/null ;then
[ $DEBUG -eq 1 ] && echo "$USER exits."
else
useradd $USER
[ $DEBUG -eq 1 ] && echo "Add user $USER finished."
fi
done
fi