架设 linux 网站,如何收费?
今天有一位朋友问我“帮人家架设 Linux 服务器,以及转移电子信箱该如何收费”相关的问题,我上网去找了一下,从 Google 的讨论群组看到这一则讨论: 架设 linux 网站,如何收费?,里面有一段话,让我深感认同,这段话就是…
奉劝各位,千万别给公众如下的印像:
- Linux 很容易 (no! 它比许多人想像的专业多了!)
- Linux 很便宜 (no! 专业服务是一分钱一分活的!)
今天有一位朋友问我“帮人家架设 Linux 服务器,以及转移电子信箱该如何收费”相关的问题,我上网去找了一下,从 Google 的讨论群组看到这一则讨论: 架设 linux 网站,如何收费?,里面有一段话,让我深感认同,这段话就是…
奉劝各位,千万别给公众如下的印像:
screen 是一个很方便的终端机管理程式,可以让你在同一个终端机开启多个 Session 来操作,加强多工的处理。即使你要离开电脑,也可以将 Session 执行脱离,或直接关闭终端机,这时执行中的程式还是会继续执行,下次登入终端机时再取回 Session 来操作即可。
首先执行 Screen 程式,开始一个 Session:
$ screen
某些终端机视窗会在标题列显示目前在操作的终端机编号,如果没有显示,你也可以输入:
$ tty
来了解你目前正在哪个终端机中。
切换时的快速键一开始都是 Ctrl + A
screen -r
将所有 Session 叫回来继续操作。
$ screen
或指定 Id
$ screen -S SessionId
$ screen -ls
$ screen -r
或
$ screen -r SessionId
$ screen -d
或
$ screen -d SessionId
这功能适用于原本操作的电脑当机或断线了,让你可以在下次取回还在主机中执行的 Session。
$ screen -x
或
$ screen -x SessionId
$ screen -wipe SessionId
如果要在画面底部秀出现在在哪个编号的 Session,请编辑 /etc/screenrc 或 ~/.screenrc,加入:
hardstatus alwayslastline "%-w%{= BW}%50>%n %t%{-}%+w%<"
假设我在我目前所操作的终端机 Session 要分享给另一端的登入者查看,并且可以操作 (或者是我不想将远端登入的用户脱离 Session),则我要先以我的帐号登入主机并且执行 screen -S 特定名称,然后另一端的登入者:
因为 screen 只能水平分割视窗,不能充分利用宽萤幕的特性实在有点可惜! 这里有新版可垂直分割功能的 screen:
请自行编译安装。
因为 screen 很实用,于是我在 bashrc 建立两个 screen 指令的别名:
alias scr='screen -d -r Normal || screen -S Normal' alias scl='screen -ls'
我只要登入终端机就先打一次 scr,以取回上一次没关闭的 Session。如果没有上一次没关闭的 Session,则会建立一个新的 Session。
scl 则可以列出目前有几个属于我的 session。
测硬盘速度:
hdparm -tT /dev/hda
UDMA3(ATA33):
# hdparm -X66 -c1 -d1 -m16 /dev/hda
UDMA4(ATA66):
# hdparm -X68 -c1 -d1 -m16 /dev/hda
UDMA5(ATA100):
# hdparm -X69 -c1 -d1 -m16 /dev/hda
转载自: 中文 PHP 资讯站
增加一个用户 newuser :
useradd newuser passwd newuser
然后根据提示两次输入新用户的密码,请注意,用useradd增加一个用户后应该立刻用passwd给新用户修改密码,没有密码的新帐号将不能使用。在/etc/passwd文件中,没有密码的新用户的记录是如下一行:
newuser:!!:506:506::/home/newuser:/bin/bash
在这一行里,用户的密码域被设置成了”!!”,这就意味着用户密码还没有设置,用户不能登陆。(passwd文件的格式是 用户名:密码:用户ID(UID):组ID(GID):全名:用户目录:外壳脚本)。
当然你可以用-d参数设置新用户的主目录(例如:useradd newuser -d /www),也可以用-g参数为用户指定新组名(例如:useradd newuser -g linuxusers),你还可以用-G参数把新用户设成系统其他一些组的成员(例如:useradd newuser -G users,shutdown)。所有这些,你都可以在本站的命令查询中得到详细资讯。
附注:相应的,仅仅增加一个新组可以用命令groupadd。
修改现有用户的帐号:
usermod -s(new shell path)(username)
usermod -d(new home directory)(username)
usermod -d -m/www/newuser newuser
usermod -u UID username
username -g(group name) or GID username
usermod -e MM/DD/YY username
usermod -e 12/31/01 newuser
usedel bluewind
本文中的所有命令都可以在linuxaid获得中文详细的帮助,下面我们一起来继续探讨有关用户管理的高级内容。
不少新系统管理员认为root用户是唯一的超级用户,其实root只是系统默认的超级用户的名称,root并非因为它叫root而成为超级用户的。随便打开一个/etc/passwd文件的例子,你就会发现如下几行:
root:asiewhgYfaoO/J:0:0:root:/root:/bin/tcsh bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/sbin: lanf:Yuao56Ioyefg:0:0:bluewind:/home/bluewind:/bin/bash jake:gUyfaiIodashfj:501:501:jake cheng:/home/jake:/bin/tcsh apache:!!:502:502::/usr/local/apache:/bin/false
可以看到,root的UID和GID都被设置为0了。实际上,超级用户的充要条件就是UID和GID都等于0。也就是说,任何用户,只要它的UID和GID都为0,就与常被称为root超级用户没有什么两样了。比如上面那个例子里面的lanf,也是一个超级用户。
所以,可以将任何普通用户变成超级用户。但是,这样做并没有好处,很多时候这都会增加系统的隐患。除非在组织中需要多个系统管理员管理同一个系统,这就需要有多个超级用户帐号。这有利于各个管理员明确责任,通过日志知道不同的人分别做过什么事。
还有一种情况,也可能出现多个超级用户帐号,那就是黑客入侵后设置一个看起来象普通帐号的用户,却修改了UID和GID使之为0。这样根本就不需要知道root用户密码,就可以执行超级用户权限了。而从我们的系统管理员的一方来说,我们不可能时刻注意passwd文件的变化的,没有那个时间也没有那个精力。这时只好编写一个脚本来帮助监视,例如:
/bin/grep '0:0' /etc/passwd |awk 'BEGIN{FS=":"}{print $1}'|mail -s "`date +"%D%T"`"root
这是一个很小的脚本程式,使用了一些常规的命令来查看/etc/passwd文件,把UID和GID为0的行寄给root用户。把这个脚本放在/etc/cron.daily文件中让cron运行,root将每天收到一封信,报告当前的超级用户。
实际上,由于PAM(可插入验证模组)的限制,在telnet上是不允许超级用户登入的,也就是说,黑客修改了自己的UID和GID后,想再次登陆从而获得超级用户的权限的话,不修改/etc/seuretty文件是不可能的–除非你傻到自己添加了为TTY设备ROOT用户登陆权限。一般可以让超级用户先用普通用户帐号登陆,再su(su命令相关内容请参考本站命令查询部分)。
使用sudo命令可以允许普通用户执行超级用户才能执行的命令。无论是基于信任的建立需要时间,还是基于是否存在这种必要,我们都不会把超级用户的所有权限轻易许人的。这是网管工作的原则。所以,当一些用户必须访问某些内容时,我们可以配置sudo以允许单独的普通用户运行特权命令。
sudo命令允许已经在/etc/sudoers文件中指定的用户运行超级用户命令。例如,一个已经获得许可的普通用户可以运行:
sudo vi /etc/passwd
实际上,sudo的配置完全可以让我们指定某个列入/etc/sudoers文件的普通用户可以做什么、不可以做什么。/etc/sudoers的配置行如下:
Host_Alias REDHAT=binbu,qd
其中binbu和qd是俩主机名,你可以用REDHAT(别名)统称它们。
user host= [run as user ] command list
在user处指定一个真正的用户名或定义过的别名,同样的,host也可以是一个真正的主机名或者定义过的主机别名。默认情况下,sudo执行的所有命令都是以root身份执行。如果你想使用其他身份可以指定。至于command list可以是以逗号分隔的命令列表,也可以是一个已经定义过的别名。例如:
lanf binbu=/sbin/shutdown
这一句说明lanf可以在binbu主机上运行关机命令。
注意:
下面是一个sudoers文件的例子:
#sudoers files#User alias specificationUser_Alias ADMIN=yourid:POWERUSER=hisid,herid#user privilege specification ADMIN ALL=ALLPOWERUSER ALL=ALL,!/bin/su
第三行定义了两个别名ADMIN和POWERUSER,第五行说明在所有主机上ADMIN都可以以root身份执行所有命令。第六行给POWERUSER除了运行su命令外同等ADMIN的权限。
iptables -L -n
iptables -D INPUT 1
iptables -A INPUT -p all -s 192.168.1.203 -j DROP
iptables -A INPUT -p tcp -s 192.168.1.203 --dport 22 -j DROP
iptables-save > filename
iptables-restore < filename
.htaccess 让你不用写程式,就可以用最简单的方式做出“网页登入”的功能,限制哪些用户能进到网页的某一层目录。
建立用户验证档,并新增一组帐号及密码:
htpasswd -c /path/to/.htusers UserName1
这里所产生的 .htusers 是一个文字档,里面会有用户名称及编码过的密码。第一次建立档案时,必须加 -c 参数。同时,请找一个安全的地方放置 .htusers 这个档案,所谓的“安全”是指至少不要在公开网页可以被下载到的路径,例如放在 public_html 的上一层。
继续增加第二组帐号及密码到验证档时,就不用加 -c 参数:
htpasswd /path/to/.htusers UserName2
如果用户比较多,你可能会想要用群组的方式来做管理。群组资料档的目的是要将多个用户设为一个群组,请新增或编辑 /path/to/.htgroups,依需求增加类似如下的设定:
Group1:UserName1 UserName2
代表 Group1 包含 UserName1 与 UserName2 这两个用户。
在欲执行用户验证的网页目录下,建立一个 .htaccess 档案,验证的方式可针对用户或群组,差别在于 require 这个参数。
AuthName "Restricted Area" # 名称必须用英文 AuthType Basic AuthUserFile /path/to/.htusers require user UserName1 # 仅针对特定用户,以空白分隔多个用户
上述的最后一行是只有 UserName1 允许进入,你也可以改成:
require valid-user # 针对全部用户
表示针对 .htusers 里的所有用户。
AuthName "Restricted Area" # 名称必须用英文 AuthType Basic AuthUserFile /path/to/.htusers AuthGroupFile /path/to/.htgroups require group Group1 # 仅针对特定群组的用户,以空白分隔多个群组
表示针对 .htgroups 里,归属于 Group1 下的用户。
若你只想针对特定档案做保护,那可以与 <Files>~</Files> 一起使用:
<Files FileName> require valid-user </Files>
<Files>~</Files> 一次只能填写一个档案,但支援正规表示式。以下是使用正规表示式限制图档存取的范例:
<Files ~ "\.(gif|jpe?g|png)$"> require valid-user </Files>
或是:
<FilesMatch "\.(gif|jpe?g|png)$"> require valid-user </FilesMatch>
设定好之后,当用户要存取该目录 (或档案),就会跳出叫你登入的对话框:
另外,你也可以在网址中直接输入你的帐号、密码,格式:
http://UserName:Password@www.example.com/directory/
如果在设定 htaccess 认证方式之后,在进入网页时,仍然没有跳出验证的对话框,则请编辑 /etc/httpd/conf/httpd.conf,搜寻相关的“AllowOverride”设定,改成:
AllowOverride All
虽然用户储存在 Server 端的密码有经过加密,但因为是采用 Basic 方式验证,当要存取网页时,用户输入的帐号与密码仅是以 Base64 编码,包裹在 Headers 里进行传输,有机会被窃听之后解码、盗用! 网站必须导入 SSL 才能完全在传输的过程中加密。
本文件是参考鸟哥写的 logfile.sh,我把它改成符合我自己系统的 LOG 分析程式,全面以 Perl 重写。我自己用了一段时间 (其实也半年了),觉得勉强还可以用,所以公开给大家用看看…
Read more
ImageMagick 是个功能强大的图片工具,让你读取、写入、操作任何热门的图片格式,如 GIF、JPEG、PNG、PDF… 等。使用 ImageMagick 可以即时的建立 GIF 的图片档案,让图形可以更融入网页等应用接口。你也可以更改图片的大小、反转图形、增强亮度、减少颜色对比、加入额外特殊的效果。图片可以储存不同的格式依你的工作需求。
Read more
教你快速安装 Redhat Linux 7.3…
我们解决了什么问题?我们创造了什么价值?
近期回响