一.特殊权限位
1.SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者
chmod u+s FILE
chmod u-s FILE
如果FILE本身原来就有执行权限,则SUID显示为s;否则显示S
2.SGID: 运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组
3.Sticky: 在一个公共目录,每个都可以创建文件,删除自己的文件,但不能删除别人的文件
二.文件访问控制列表
利用文件扩展保存额外的访问控制权限
1.setfacl--设置文件访问控制列表
-m: 设定
u:UID:perm
g:GID:perm
-x:取消
u:UID
g:GID
setfacl -m u:luochen:rw- inittab
2.getfacl--获取文件访问控制列表
三.常用命令
1.w--查看当前用那些用户登录到主机
2.whoami--查看当前登录用户
3.who--显示登录到当前的用户有哪些
4.lastlog---最后登录日志
5.last,显示/var/log/wtmp文件,显示用户登录历史及系统重启历史
-n #: 显示最近#次的相关信息
6.lastb,/var/log/btmp文件,显示用户错误的登录尝试
-n #:
四.终端类型
console: 控制台
pty: 物理终端 (VGA)
tty#: 虚拟终端 (VGA)
ttyS#: 串行终端
pts/#: 伪终端
五.case语句:选择结构
case SWITCH in
value1)
statement
...
;;
value2)
statement
...
;;
*)
statement
...
;;
esac
练习:
#!/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
;;
--add)
ADD=1
ADDUSERS=$2
shift 2
;;
--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 exists."
else
useradd $USER
[ $DEBUG -eq 1 ] && echo "Add user $USER finished."
fi
done
fi
if [ $DEL -eq 1 ]; then
for USER in `echo $DELUSERS | sed ‘s@,@ @g‘`; do
if id $USER &> /dev/null; then
userdel -r $USER
[ $DEBUG -eq 1 ] && echo "Delete $USER finished."
else
[ $DEBUG -eq 1 ] && echo "$USER not exist."
fi
done
fi
本文出自 “珞辰的博客” 博客,请务必保留此出处http://luochen2015.blog.51cto.com/9772274/1637732
原文地址:http://luochen2015.blog.51cto.com/9772274/1637732