vsftp中用户使用/bin/false作为shell

最近在折腾自家的树莓派,需要一个不能登录的账户来访问ftp,于是稍微查询了一些相关资料。

参考:

http://www.wincold.com/archives/108.html

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

首先是创建一个系统用户,设置密码,并且将其shell设置为/bin/false,这将禁用其账户的shell登录功能。

再稍微进行两下Google,很快就找到所需的操作:修改/etc/shells文件,加上一行/bin/false。

然后自己尝试登录,看到filezilla的信息滚动,成功登录,但是却卡在了列出目录的那一步,没有任何返回结果,这究竟是为什么呢?

再进行了一番Google之后,发现了问题所在,原来是因为ftp的PASV模式的问题,而vsftp服务器由于没有对PASV端口范围及相应的iptables防火墙做设置,数据传输的连接被阻塞导致命令执行超时。虽然调整ftp客户端,不使用PASV模式也能够操作,但是并不是什么时候都会有ftp客户端在手的,还是弄一下好了。

使用下面的设置来启用vsftpd的PASV模式

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30100

然后再设置iptables,开放PASV的端口

iptables -A INPUT -p tcp --dport 30000:30100 -j ACCEPT

然后就可以顺利的使用普通的浏览器或者windows的文件管理器进行登录了。

查看树莓派当前的CPU温度

夏天渐渐来临,我也渐渐开始担心树莓派本身的散热,毕竟那之前CPU摸起来都是烫手的。

于是给树莓派加上了一个散热片,瞬间就变得好高级的样子。

后来一摸那块散热片,都明显感到烫手,这可非常不妙的样子啊,于是就想想怎么查看树莓派的当前温度。

上网稍微查了一下,发现标准的Linux查询方法不适用,于是又查了一下树莓派的,于是就发现了。使用

sudo /opt/vc/bin/vcgencmd measure_temp

能够显示树莓派的当前温度。

就像这样子

temp=49.2'C

虽然看说明,CPU似乎在-40~85°C都能正常工作的样子,不过能降点温还是不错的~

使用tcpdump抓包

详细参考:

http://blog.csdn.net/ylyuanlu/article/details/7743409
http://stackoverflow.com/questions/13086766/how-to-filter-mac-addresses-using-tcpdump
嘛~一般抓包之后用wireshark看比较舒服,于是推荐结合wireshark使用。

tcpdump的用法比较简单(或者是我用的比较简单)

-i:抓某个指定接口的数据包(详细列表可以用tcpdump -D获得)

-w:输出到指定文件(方便使用wireshark查看内容)

然后的就是源地址,源端口,目标地址,目标端口等,这几个参数没有“-”,直接写,例如

tcpdump -i eth0 src 192.168.1.1 dst port 80

这样就会抓到来源是192.168.1.1,目标端口是80的数据包了。

mac地址的抓包要麻烦一些,暂时没研究通,上面给出的第二个连接是一篇国外的相关资料,看得懂的可以看看

世上为何会有论文这种废话连篇又语言晦暗的文章!

咱写论文写烦了!为毛论文要这么多字!!!

为毛还是要“学术性”的语言!!!!

搞毛啊!!!!!

通俗易懂不好么!!!!!

非要加进大段大段的废话!!!!!

满满的废话!!!!!!

跟各种官腔一个鸟样!!!!!

说了很多很多却又什么都没说!!!!!!

简明易懂才是正道啊啊啊啊啊啊啊!!!!!!!!

文章就是让人看的啊啊啊啊啊啊!!!!!!

不是用来玩“加密-解密”游戏的啊啊啊啊啊啊啊!!!!!

………………

………………

………………

好吧,我还是回去写论文吧……

最近的Bitcoin价格都快疯了

嗯,表示从大概4月23号进去了,交易市场是btcchina(https://btcchina.com),看着价格从400多涨到现在的700,感觉都已经疯了,但是仔细想想……感觉还是会涨的样子……

暂时来说,还是留着吧……

脚本错误:Syntax error: end of file unexpected

继续上参考:http://bbs.chinaunix.net/thread-1081627-1-1.html

嘛……因为是初学者的原因,犯了个非常低级的错误呢……

根据提示,知道了问题所在了,是结构没有完成,因为是用了嵌套的case结构,所以,漏掉了一个esac,也漏掉了一个;;

case 变量名 in
值1)
case 变量名 in
值11)
指令
;;
值12)
指令
;;
esac
;;
值2)
case 变量名 in
值21)
指令
;;
值22)
指令
;;
esac
;;
esac

-bash: ./script.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录

参考:http://blog.csdn.net/wdt3385/article/details/8015730

最近在做毕设,要用到shell script,于是开始编写,嘛,由于图形界面着实方便外加我是个懒人这个因素,所以编写平台是Windows & Samba & Notepad++,所以才弄出这么个混事来……

 今天在翻看以前写的简单的shell脚本时,发现一个问题: 

    当./运行时总是提示:  (bash: ./hello.sh: bin/bash: 坏的解释器: 没有那个文件或目录),但是当用sh运行时正确.

    原来的脚本:

    (试试看你能否一眼看出错误)

    #!bin/bash

    echo "Hello Linux!"

    后来几番检查发现自己写的丢了一些东西.

    应该把红体字改成  #!/bin/bash    (!后面少了/)

    唉,很简单的问题,自己以前没有发现还有这样的错误! shell脚本的确好用,可唯一难的就是格式要求太高!

-----------------------------------------------------------------------------------------------------------------------------------------------------------

另外出现此问题的原因还有:

/bin/sh^M:损坏的解释器: 没有那个文件或目

 今天在Windows环境下用UE写了个shell脚本,然后拿到linux下运行发现如下错误:

/bin/sh^M:损坏的解释器: 没有那个文件或目录

 出现这个问题的原因如下:在Windows下,每一行的结尾是\n\r,但是在Linux下文件的结尾是\n。因此在Windows环境下编辑过的文件在Linux下打开看的时候每一行的结尾就会多出来一个字符\r。

 因此,想要在Windows环境下编辑的脚本应该保存为UNIX而不是DOS格式,很多文本编辑器都支持另存为Unix格式的功能。

 如果脚本文件保存时使用了DOS格式,我们就可以通过以下几种方法来将它转换为UNIX格式:
 用vim打开该脚本,在命令行模式下输入:setff=unix来转换.
 使用命令:sed-i ‘s/\r$//’ urfile.
 使用UE打开该脚本,然后另存为UNIX换行符的脚本.

中的第二部分,我一看,果然编码是windows的,切换过去Unix就没问题了。

真不该在windows平台上做linux的开发……

php+sqlite问题:无法修改数据库内容

嗯……这是一个只在linux下才会出现的问题,原因还是权限(尼玛折腾了我一个早上)……

表示在php中有一条修改数据库的语句,当在命令行下执行完全没问题,但是丢到浏览器里面执行的时候就出错。

最终查明的问题是:文件夹的权限问题

之前一直留意的是数据库本身的权限,但是修改成777之后还是报错,苦苦Google无果,最后,还是有个老外指出了问题所在(相比之下在外文搜索方面弱的一逼的百度简直就是渣渣),就是文件夹也需要web用户的写权限,因为sqlite会在执行的时候创建临时文件……

尼玛死……终于好了……这就解释了为何在命令行下执行没问题(因为目录的写权限),但是在浏览器里面执行出错(因为没有目录写权限),这么个让人蛋疼的问题。

投奔了大安卓系统了

前天终于入手了索尼的LT26ii加入了大安卓党,折腾几天之后,我有话想说。

流畅性…安卓虽然已经做的不错了,但是在ios面前还是完败。我的iPod Touch4这个老硬件跑着ios6都能获得非常流畅的效果,跟我的LT26ii相比,就像45FPS与30FPS的差距,多少了解苹果没什么不在桌面做什么特效了。

其次,就是电子市场…安卓再次输掉了,虽然看到GooglePlay在奋起直追,但是感觉还是差好多。无论是从推荐列表,还是top列表,APP Store的感觉都明显优于GooglePlay。在APP Store,你可以抱着寻宝的心态去逛APP Store,说不定一下子”哎,这个APP限免/特价了!果断出手!”或者突然又发现了什么有趣的APP,”哇,这APP好有趣,赶紧给大家分享一下”。

而GooglePlay在这方面就差了非常多。首页上面的推荐数量非常少,虽然都是不错的软件,但是基本上都是国外的软件,全部英文的,看的超辛苦。换过去top榜单之后,又是刷出来的榜单,大堆大堆的垃圾软件,夹杂着几个精品。不得不说的是,Google在这方面做得比苹果差好多。

然后就是软件的安全性问题,每次装软件,安卓总是巨细无遗的列出这个软件所要求的每项权限。这个可以让用户更加清楚的了解到即将安装的软件能获取什么权限,更加好地控制自己的手机,也更加繁琐,更加符合谢耳朵的喜好(笑

但是安卓系统却没有与此配套的防火墙,这就让人非常纠结了,因为安卓只有允许和拒绝两个选项,无法允许部分的权限,你也无法控制已经安装过的软件的权限。这个让我感觉跟糟糕,只能靠装第三方软件来解决这个问题。
暂时选择了一个叫LBE安全大师的软件,因为这个软件看起来商业味道没有360之类的严重。暂时也没有其他什么推广出现,就暂时用着吧。
插个题外话,根据LBE安全大师的记录来看,新浪出品的微博客户端会在后台静默获取用户的手机号码,没有任何提示,这是一件很糟糕的事情,我苦苦守了这么久的手机号就这样泄露出去了。

不过比较奇怪的是,会读取手机号码的软件,暂时只看见了新浪微博和支付宝所额外安装的一个快捷支付插件,其他的软件都只是读取IMEI号码……再来吐槽一下这个支付宝,为何要额外安装插件才能使用?就不能打包到一个软件里面么?还是有什么不可告人的秘密需要绕开GooglePlay?

然后就是这个“USB调试模式”,我嘞个去,插上的话在安卓上做什么安全防护都没有用,完全可以绕开,然后往里面装软件(豌豆荚什么的,91助手什么的),这个让我感到非常蛋疼,果断的关掉了。

最后说说安卓给我的感受,嗯,不错,Google给我们做了一个很不错的开放性系统,但是却没有给我们配套一个能够保护我们的防火墙。于是我们面前就出现了一个问题,如果我们想要享受一下这个优秀的系统的魅力,我们就要冒着被扒光身子的危险,但是如果我们不冒险……那买安卓还能为了什么呢?

注册了一个Steam帐号

Steam促销嘛~因为最近看到Steam for Linux 出来了之后,各种游戏开始搞大促销(点击这里查看),折扣能有2折到5折,看着看着略心动,果断地出手了,买了好几个游戏,花了差不多13美刀,然后……感觉正版游戏玩着感觉就不一样呢……

其实最心动的是在Linux下能玩到不错的游戏,虽然现在还没有装着Linux,嘛~总会有的……

Steam社区链接:http://steamcommunity.com/profiles/76561198083975312
ID:Ferrets
下面是头像,可爱的天使

个人头像