1. linux的ACL
ACL可以针对单一用户、单一文件或目录进行设置r、w、x的权限设置,对于需要使用特殊权限的使用状况非常有帮助。首先需要查看系统是否支持acl
ACL的设置技巧
getfacl:取得某个文件或目录的ACL设置项目
setfacl:设置某个文件或目录的ACL规定
1.setfacl的用法
-m: 设置后续的acl参数给文件使用
-x:删除后续的acl参数
-b:删除所有的acl参数
-k:删除默认的acl参数
-R:递归设置
-d:设置默认acl参数
针对特定用户的方式 u:[用户账号列表]:[rwx]
针对特定用户组的方式g:[用户组列表]:[rwx]
针对有效权限mask的设置方式m:rwx
例题:根据鸟哥的例子编写脚本如下
#!/bin/bash
groupadd projecta
I=0
for(( I=1 ; I<=5 ;I=I+1 ))
do
if ! id pro$I > /dev/null;then
useradd -d /home/pro$I -c ‘projecta user‘ -G projecta -s /bin/bash pro$I
echo "password" | passwd --stdin pro$I
else
echo "当前用户已存在"
fi
done
mkdir -pv /home/projecta
chgrp projecta /home/projecta
chmod 2770 /home/projecta
这样就可以创建5个用户以及一个共同需要开发的目录了。下面我们测试下acl的控制:
创建完成acl的权限之后,
2.用户信息传递
查询用户
w、who、lastlog
用户对谈
write、mesg
用户邮件信息
2. linux的终端类型
借鉴别人的内容:http://blog.chinaunix.net/uid-28253945-id-3672532.html
1.tty:终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
2. 虚拟终端(/dev/pts/n):使用xshell或者远程telnet到主机时使用的终端交互就是虚拟终端(pseudo-tty)。
3. /dev/ttySn:使用计算机串行端口连接的终端设备。计算机把每个串行端口看作是一个字符设备。例如,在命令行提示符下键入:echo test > /dev/ttyS1会把单词”test”发送到连接在ttyS1(COM2)端口的设备上。可接串口来实验。
4. 控制台终端(/dev/ttyn, /dev/console) 在Linux 系统中,计算机显示器通常被称为控制台终端 (Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当你在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。你可以登录到不同的虚拟终端上去,因而可以让系统同时有几个不同的会话期存在。
5.其他类型:Linux系统中还针对很多不同的字符设备存在有很多其它种类的终端设备特殊文件。例如针对ISDN设备的/dev/ttyIn终端设备等。
console: 控制台
pty: 物理终端 (VGA)
tty#: 虚拟终端 (VGA)
ttyS#: 串行终端
pts/#: 伪终端
上述pts和tty、console比较常见,pty和ttyS没怎么用过。
原文:http://my.oschina.net/alfredliukai/blog/510558