远程连接和文件ACL
(一)远程连接
1、VNC
1)首先确定vnc-server是否安装
2)然后配置vnc
(1)执行vncpasswd命令,密码输入两次即可
现在连接会失败,因为vnc尚未启动
(2)客户端安装VNC
点击Next,
选中I accept the agreement,单击Next
现在我们仅仅需要使用客户端,所以我们勾销VNC Server。
选择安装路径,默认即可
程序名称,默认即可
选择是否创建桌面快捷方式和快速启动方式
点击Install确认安装
(3)现在我们启动vncserver
执行vncserver :1,
注意:1前必须有空格
(4)启动成功后,执行ifconfig查看本机IP地址
(5)然后执行netstat -lntp,
执行vncserver :1,表示启动vncserver并绑定到1号端口上,这里的1号端口代表5901,
vncserver启动是从5900开始启动的,0已经被server占用
通过netstat -lntp命令显示5901已经启动。
l: 表示listen监听的端口
n:表示不作域名的反向解析
t:表示tcp
p:print打印
(6)现在我们在客户端打开vnc,在VNC server输入刚才查看的IP地址和端口172.16.252.201:1
点击connect连接
输入密码,点击OK;
如果连接失败,
(7)执行vi /root/.vnc/xstartup, 注释掉unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc和twm &这三行,然后最末端添加gnome-session &
重新启动vnc-server
重启方法:执行ps -ef |grep vnc找到其pid
然后执行kill 6110,然后再次执行vncserver :1启动vnc
2、生产中使用比较广泛的是ssh
ssh:Secure Shell, 由IETF的网络工作小组(Network Working Group)所制定;SSH为创建在应用层和传输层基础上的安全协议。
传统的网络服务程序,如rsh、FTP、POP和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。
而SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
SSH之另一项优点为其传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、POP、甚至为PPP提供一个安全的“通道”。
默认是启动的.执行ps -ef | grep ssh
执行netstat -lntp | grep 22 查看22号端口的进程
也可以执行lsof -i:22查看22号端口由哪个进程使用
ssh的配置文件默认存放在/etc/ssh/sshd_config
3、打开SecureCRTPortable ,在主机名出输入远程主机的IP地址,
端口默认是22,用户名我们使用的root,然后点击连接
然后输入密码
进入界面
4、
1)运行Xbrowser,选中Xshell,单击New,
2)双击server,询问是否保存密码,点击Accept&Save,
3)输入用户名,勾选Remember User Name,下次使用不用再次输入用户名
4)输入密码,勾选Remember Password,下次使用不用再次输入密码
5)显示如图
5、XDMCP协议需要远程主机安装gdm
1)执行rpm -qa | grep gdm查看是否安装gdm
如果未安装,执行yum install gdm安装gdm
2)gdm的配置文件是/etc/gdm/custom.conf
vi /etc/gdm/custom.conf
在[security]下添加AllowRemoteRoot=true 允许root从远
程登录
在[xdmcp]下添加Enable=true
fort=177
修改结果
3)执行gdm回车,启动gdm
4)选中XDMCP,点击New新建,
双击server,
(二)特殊权限和ACL
1、特殊权限
1)我们可以使用ls -l 或者stat命令查看文件的基本权限
2) 现在我们创建一个文件testfile,并查看其基本的权限
3)执行cp testfile tesfile2,再次查看属性,显示已
经发生变化
4)lsattr testfile
13 个- 表示文件特殊权限
5)重新创建一个testfile文件
6)现在我们执行chattr +A testfile给testfile加个A的
特殊权限
7) cp testfile testfile2
发现Access time没有变化。
A特殊权限,可以避免大量读取文件造成资源的消耗。
8)a的特殊权限,只能往文件里添加内容,而不能修改或删除原始内容.
(1)创建testfile1并编辑写入line1
(2)执行chattr +a testfile1 ,添加a权限
(3)现在我们执行vi testfile1修改后保存退出,显示
(4)加上a权限的文件,无法再用vi编辑该文件,只能使用
echo命令添加内容
执行echo "line 2" >> testfile1
>>表示追加写入
如果执行echo "line 2" > testfile1,显示失败。
文件也无法删除
a权限加在一些比较特殊和关键的系统日志,避免误删。
9)c权限,读取压缩文件时可以直接读取解压后的文件。
但是c、s 、u权限还不能在ext2和ext3格式下使用
10)D权限,只能加在目录上,表示一旦发生写的操作,就会同
步数据。例如vi /etc/fstab,在需要同步的分区下加入
dirsync表示/目录下,只要发生写操作,立即同步数据到硬
盘
11)当文件有d的权限,我们使用dump的操作来保存目录文件时,
该文件会被跳过。例如一些不起作用的系统日志。
12)E权限,当问文件压缩有错误时,会提示。
13)i权限,当文件被赋予i权限时,我们就不能删除或者重命名
该文件。也不能创建硬连接,可以创建软连接
touch testfile 创建
14)s权限,文件删除后,立即将硬盘清零。
15)S权限,文件有变动,同步到硬盘。
16)u权限,当文件删除后会被保存到别的位置。类似于回收站
的功能
2、文件ACL
文件ACL可以更加细化的分配文件的权限
1)首先我们在虚拟机上新加一块虚拟硬盘
2)执行fdsik /dev/sdb分区,
3)构建文件系统
mkfs -t ext3 /dev/sdb1
4)将新建的分区挂载到/mnt/
mount -o defaults,acl /dev/sdb1 /mnt
5)进入/mnt/目录,创建redhat目录
6)现在我们新添一个用户user1,并切换到user1用户下,进入
/mnt/redhat/目录下,执行touch file无法创建
7)我们创建一个user1可以在该目录下创建文件,其他用户不能创建的权限。切换回root用户,
执行setfacl -m u:user1:rwx redhat/
修改
8)切换到user1用户,进入到/mnt/redhat目录下,现在user1
用户可以在该目录下创建文件了,并且文件的所有者和所有组
都是user1
9)切换到root用户,查看/mnt/redhat/目录的权限
显示一个 + ,表示该目录具有acl
10)再添加一个新用户user2,进入/mnt/redhat/目录下,
无法创建文件。
ACL权限可以精确到用户来确立文件或目录的权限
11)再次切换到root用户下,在/mnt/redhat/下创建一个dir1
目录,然后切换到user1用户下,在/redhat/目录下可以创
建文件;但是在/mnt/redhat/dir1/目录下不能创建文件。
说明在赋予acl权限的目录下,权限是不继承的。
11)如果需要在赋予acl权限的目录下创建的继承acl权限,
执行setfacl -m d:u:user1:rwx /mnt/redhat/ ,
然后我们切换到user1用户下,进入/mnt/redhat/dir1/,
仍然不能创建文件。
查看其相关权限
12)回到root用户下,在/mnt/redhat/目录下创建一个dir2目
录,并查看其权限。显示已经将权限继承下来。
在执行setfacl -m d:u:user1:rwx /mnt/redhat/命令之前创建的文件夹或目录无法继承acl权限,只有在该命令执行之后创建的文件或目录才会继承下来。
如果赋予拥有组acl权限,命令格式为
setfacl -m d:g:user1:rwx 目录
13)去除文件的acl权限
setfacl -kb /mnt/redhat/
k:去掉acl权限
b:去掉默认权限
也可以指定去掉用户的权限
setfacl -x u:user1 /mnt/redhat/dir2
setfacl -x u:user1 /mnt/redhat/dir3
然后去掉默认权限
setfacl -b /mnt/redhat/dir2
setfacl -b /mnt/redhat/dir3