大约1年前 - 没有评论
原创文章,转载请注明: 转载自庆亮的博客-webgame架构 本文链接地址: Linux之路 — SSH篇 需要的windows软件:SecureCRT,WinSCP 一、前言 即使Linux本身的安全性已经相当好,我们仍然需要在实际操作中关注某些安全要点。目前大部分的Linux管理都采用远程控制来进行,如果保证远程控制中数据的安全是一个合格的linux管理员必须熟悉的技能。 各种黑客行为、尝试给我们的网络带来了大量的破坏,但不可否认这些行为和尝试也给计算机安全带来了极大的促进。从理论上来说,网络传输中任何对称加密算法都是不安全的,所以我们在日常的linux管理中应该采用非对称加密算法来进行权限验证。SSH是一种加密传输数据的方式(不同于telnet等的明文数据传输),是目前最通用的linux远程安全控制方案,它提供两种认证方式:密码认证和密匙认证。关于非对称加密的相关知识请看 http://baike.baidu.com/view/554866.htm 本文以Centos 5.3 为例并假设你已经有一个安装好的Linux主机或者虚拟机,我这里采用的是虚拟机。 二、用户配置 平时我们为了安全一般不采用root直接登录到服务器,实际上多数的维护操作并不需要root权限,过多的权限可能只会带来更多的麻烦,通常我们只在需要时才su。那么如何进行日常的维护操作呢? 1. 添加一个用于维护的账号, # useradd centosadmin, 为centosadmin设置密码, # passwd centosadmin,请记好你的密码 2.将该用户添加到wheel组。为什么? 为了操作安全,我们需要只有某个特殊的用户组中用户输入了su -,并且有正确的root密码时才能获得root shell,而其他组的用户即使输入了正确的root密码,也无法获得su shell,而这个特殊的组通常为wheel,这仅仅是一个惯例,你可以自己添加一个组来实现这个功能。 3.配置只有wheel组的用户能够通过su 获得root shell。 # vim /etc/pam.d/su 取消这一行的注释 auth required pam_wheel.so use_uid,然后保存退出 这时可以测试发现,非wheel已经无法通过su获得root shell了。 三、密匙 1. # su centosadmin,输入你的密码。 # cd ~
大约1年前 - 没有评论
原创文章,转载请注明: 转载自庆亮的博客-webgame架构 本文链接地址: linux下fork函数的一些理解 fork函数用于linux下创建进程, fork的字面意思为"叉子", 从之后的内容中将会了解到"叉子"是非常的贴切的. fork原型为 pid_t fork() , 如果成功则返回子进程的进程id, 如果失败则返回-1, 通常在系统内存不够或者进程数已经达到上限时, fork才会失败. 让我们来看一段代码 #include <unistd.h> #include <sys/types.h> #include <stdio.h> #include <stdlib.h> int main() { pid_t child; if ((child = fork() == -1) { printf("fork error: %s\n", strerr(errno)); } else if (child == 0) { printf("I am child : %ld \n", getpid()); } else { printf("I am parent : %ld", getpid()); } return 0; } 先来看程序执行的结果: [root@localhost fork]# ./main I am child: 5731 I am parent : 5730 刚开始时, 我实在无法理解为什么可以运行if的两个分支. 仔细想想fork的作用: