学习资源来自:www.magedu.com
学习记录过程中难免出现错误,如有发现,还望大神们指出。
示例操作部分有的与历史操作有关,如果先前的示例操作没有执行过的话,可能会有部分示例的操作无法执行。示例仅供参考(练习题在附录)。
文件系统访问控制列表
文件系统访问控制列表(FACL):Filesystem Access Control List
利用文件扩展保存额外的访问控制权限
setfacl(设定facl)
-m: 设定
u:UID:perm
g:GID:perm
为某个目录设定默认的访问控制列表:
d:u:UID:perm
d:g:GID:perm
-x:取消
u:UID
g:GID
getfacl(获取facl)
示例:(使用facl赋予用户hadoop对root创建的文件inittab的读写权限)
mkdir /backup
cd /backup
cp /etc/inittab ./
getfacl inittab
su - hadoop
cd /backup
ls
echo 123 > inittab —— 拒绝执行
exit
setfacl -m u:hadoop:rw inittab —— 设置inittab的额外访问权限
getfacl inittab
su - hadoop
cd /backup
echo 123 >> inittab —— 执行成功
tail -5 inittab
exit
setfacl -m g:mygroup:rw inittab —— 设置组权限
getfacl inittab
setfacl -x u:hadoop inittab —— 取消权限
setfacl -x g:mygroup inittab
getfacl inittab
权限应用次序:
没有facl时:Owner --> Group --> Other
有了facl以后:Owner --> facl,user --> Group --> facl --> Other
终端类型:
console:控制台 直接连到主机上的显示器、键盘(可以验证用户身份的软硬件)
pty:物理终端(VGA)
tty#:第#个虚拟控制台(VGA)
ttyS#:第#个串行终端
pts/#:第#个伪终端
几个命令:
w:显示登录到当前系统的用户都有哪些以及正在执行什么命令
who:显示登录到当前系统的用户都有哪些(用户,终端,时间)
-r:显示当前运行级别
-H:显示表头;
who | grep "hadoop" —— 查看hadoop是否已经登录
sleep:进程延时
sleep 5 —— 每隔5秒钟
whoami:显示当前登录到系统的有效用户
last:显示/var/log/wtmp文件,显示用户登录历史及系统重启历史
-n #: 显示最近#次的相关信息
lastb:/var/log/btmp文件,显示用户错误的登录尝试
-n #:显示最近#次的相关信息
lastlog: 显示每一个用户最近一次的成功登录信息;
-u USERNAME: 显示特定用户最近的登录信息
basename:取得路径的基名
$0: 执行脚本时的脚本路径及名称(引用脚本名称)
示例:
basename /etc/passwd
mail:邮件
输入编号查看邮件
q:退出
示例:(发送邮件)
cat /etc/fstab | mail -s "How are you" root
mail -s "How are you" root < /etc/fstab
hostname: 实时获取主机名
hostname HOSTNAME:重命名
echo $HOSTNAME:获取主机名(非实时)
示例:
如果当前主机的主机名不是www.magedu.com,就将其改为www.magedu.com
[ `hostname` != www.magedu.com ] && hostname www.magedu.com
如果当前主机的主机名是localhost,就将其改为www.magedu.com
[ `hostname` != localhost ] && hostname www.magedu.com
如果当前主机的主机名为空,或者为(none),,就将其改为www.magedu.com
[ -z `hostname` ] || [ `hostname` == ‘(none)‘ ] && hostname www.magedu.com
-z(主机名为空)
生成随机数
RANDOM(系统内部命令): 0-32768 —— 有规律
echo $RANDOM
随机数生成器(无规律):熵池
/dev/random:
/dev/urandom: