企业6单用户修改密码,禁用selinux
echo westos | passwd --stdin root
关于内核的文档:
[root@desktop26 ~]# rpm -q kernel-doc
package kernel-doc is not installed
[root@desktop26 ~]# yum install kernel-doc //这些是内核参数的文档
[root@desktop26 ~]# cd /usr/share/doc/kernel-doc-2.6.32/Documentation/
[root@desktop26 ~]# less kernel-parameters.txt
[root@desktop26 Documentation]# less kernel-parameters.txt
三个传递内核参数的实验:
console=ttyS0 //这里注意字母S是大写,后面是数字0 ,这里是串口
setenforce=0||1
selinux=0||1
当值为0时,getenfore的结果是:Disabled
当值为1时,getenfore的结果是:Enforcing //据我观察,开机时间比较长。
init=/bin/bash 获得一个 bash-4.1# 的shell
图形界面下,FTP服务管理:
服务起来后默认在 /var/ftp/路径下的文件,都可以通过ftp协议进行发布
[root@desktop26 ~]# grep local_enable /etc/vsftpd/vsftpd.conf //这里grep的用法也值得学习一下,老师写的,很灵活,我都用管道,很死板
local_enable=NO //这里为了增强安全性禁止本地用户登录,否则能直接查看根目录,相当不安全
图形界面下,httpd服务管理:
默认发布目录是 /var/www/html/ (以下软链接)可以将ftp发布的内容用Apache来进行发布
[root@desktop26 html]# ln -s /var/ftp/pub/ /var/www/html/
安全机制Selinux初期探索:(与Apache服务结合实验,看效果)
[root@localhost mnt]# pwd
/mnt
[root@localhost mnt]# ll -Z //-Z 参数是用来查看selinux安全上下文的。
-rw-r--r--. root root unconfined_u:object_r:mnt_t:s0 index.html
[root@localhost mnt]# cp index.html /var/www/html/
[root@localhost html]# ll -Z index.html
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html
可以发现此时通过拷贝两者的安全上下文已经不一样了,说明通过了selinux的允许。浏览器访问成功。
而如果刚刚是剪切过去,通过以下命令查看,两者的安全上下文的结果是一样的,这是selinux所不允许的。
[root@localhost html]# ll -Z
-rw-r--r--. root root unconfined_u:object_r:mnt_t:s0 index.html
//通过对比发现剪切过去是一样的,收到selinux的限制,浏览器访问失败。
这就是selinux的一个典型的实验。
另外selinux的日志文件在 /var/log/audit/ 下名为 audit.log 的文件。内容很多:(其中一条记录如下)
type=USER_END msg=audit(1311993601.089:61): user pid=5322 uid=0 auid=0 ses=5 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:session_close acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'
关于挂载选项略叙:
[root@localhost ~]# mount // 可以发现我们本机的挂载有很多的选项:
/dev/mapper/VolGroup-LogVol01 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda9 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /media/5B35-2C7B type vfat (rw,nosuid,nodev,uhelper=udisks,uid=500,gid=500,shortname=mixed,dmask=0077,utf8=1,flush)
[root@localhost ~]# cat /etc/fstab //其中一条记录,如下,注意 defaults 选项
proc /proc proc defaults 0 0
通过查看man文档,获得一些帮助:
defaults : Use default options: rw, suid, dev, exec, auto, nouser, and async.
等等,有很多的默认的选项,老师给出一个示例,个人觉得还比较典型:
[root@localhost ~]# cd /boot/ //这里以/boot/分区做测试
[root@localhost boot]# vi file
echo `date`
[root@localhost boot]# chmod +x file
[root@localhost boot]# ll file
-rwxr-xr-x. 1 root root 12 Jul 29 23:00 file
[root@localhost boot]# ./file
Fri Jul 29 23:01:15 EDT 2011 // 在当前挂载的情况下,是可以执行该文件的。
[root@localhost boot]# mount -o remount,noexec /boot/ //这里将分区重新挂载,加上 noexec参数
[root@localhost boot]# ./file
-bash: ./file: Permission denied //再执行的时候已经不允许了,说明 noexec参数已经生效
[root@localhost boot]# mount -o remount,exec /boot/
[root@localhost boot]# ./file
Fri Jul 29 23:04:41 EDT 2011 //再重新挂载,加上 exec参数,又可以了,其他参数可以继续研究。
################################ 这里实际上是增加了安全性,避免黑客上传可执行脚本 #########################
顺便说一下,搜索的艺术,通过自己架一些服务,比如ftp的发布目录pub,可以得到一些启示:
比如在Google中搜索的时候: Index of /pub 、Index of /linux 、等可以获得很多的资源,另外
如果想在某一个站点内搜索,可以加关键字site,例如:Samba site:www.ibm.com.