通过下面的脚本片段来添加新用户,每个用户都可以自动创build一个公用\私人密钥对,用私钥在其主目录中进行胜出。 该脚本可以解决一个问题: authorized_keys总是获取所有者的根目录,然后是组根目录 。 即使我将公钥添加为所有者之前和之后,将公钥移到authorized_keys文件。 如果我手动重新运行命令后脚本一切工作正常。 我以root身份运行脚本。 权限也似乎设置不正确。 有任何想法吗? usermod -g webteam $UNAME cd /home/$UNAME ssh-keygen -b 1024 -t dsa -N $UPASS -f $UNAME"key" > key.log mkdir .ssh chown $UNAME $UNAME"key.pub" chgrp $UNAME $UNAME"key.pub" mv $UNAME"key.pub" .ssh/authorized_keys chmod 740 $UNAME"key" chown $UNAME $UNAME"key" chown $UNAME .ssh echo "PYTHONPATH=/usr/local/lib/python2.4/site-packages" >> .ssh/environment chown $UNAME .ssh/* chgrp $UNAME […]
以下命令在linux shell上不起作用 svn move *.jpg imagedirectory/ 它给了我一个错误: svn: Client error in parsing arguments 还有另外一种方法可以达到同样的效果吗? 我想批量svn移动文件
我有一个应用程序,启动身份validation帮助(我的脚本),并使用STDIN / STDOUT沟通。 我想从这个脚本redirectSTDIN和STDOUT到两个命名pipe道与另一个程序交互。 例如: SCRIPT_STDIN> pipe1 SCRIPT_STDOUT <pipe2 这是我想要完成的stream程: [应用] – >启动助手脚本,写入助手STDIN,从助手读取STDOUT(例如:STDIN:用户名,密码; STDOUT:LOGIN_OK) [Helper Script] – >读取STDIN(数据从应用程序),转发到PIPE1; 从PIPE2读取,将其写回到STDOUT上的应用程序 [其他处理] – >从PIPE1input读取,处理并返回结果到PIPE2 猫命令几乎可以做我想要的。 如果有一个选项将STDIN复制到STDERR,我可以用命令(假设虚拟选项-e作为STDERR而不是STDOUT)执行此操作: cat -e PIPE2 2> PIPE1(从PIPE2读取并写入到STDOUT,复制input,通常是STDERR到PIPE1)
我有一个Lighttpd服务器(在Centos上),并希望显示4个graphics:lighttpdstream量,每秒lighttpd请求,CPU使用率和MEM使用率。 我为rrd数据库设置了lighttpdconfiguration,如下所示: rrdtool.binary = "/usr/bin/rrdtool" rrdtool.db-name = "/var/www/lighttpd.rrd" 并把我的WWW cgi-bin sh文件从lighttpd RRD文件中获取数据,并创build每秒的stream量和请求的graphics,如下所示: #!/bin/sh RRDTOOL=/usr/bin/rrdtool OUTDIR=//var/www/graphs INFILE=/var/www/lighttpd.rrd OUTPRE=lighttpd-traffic WIDTH=400 HEIGHT=100 DISP="-v bytes –title TrafficWebserver \ DEF:binraw=$INFILE:InOctets:AVERAGE \ DEF:binmaxraw=$INFILE:InOctets:MAX \ DEF:binminraw=$INFILE:InOctets:MIN \ DEF:bout=$INFILE:OutOctets:AVERAGE \ DEF:boutmax=$INFILE:OutOctets:MAX \ DEF:boutmin=$INFILE:OutOctets:MIN \ CDEF:bin=binraw,-1,* \ CDEF:binmax=binmaxraw,-1,* \ CDEF:binmin=binminraw,-1,* \ CDEF:binminmax=binmaxraw,binminraw,- \ CDEF:boutminmax=boutmax,boutmin,- \ AREA:binmin#ffffff: \ STACK:binmax#f00000: \ LINE1:binmin#a0a0a0: \ LINE1:binmax#a0a0a0: \ LINE2:bin#efb71d:incoming […]
我configuration了一个裸机FreeBSD盒子。 我惊讶的是,控制台不支持自动完成。 实际上,它支持root帐户,但不支持正常的用户帐户。 我猜是由某种shellselect引起的。 (1)root帐户的默认shell是什么? (支持自动完成)还是(2)任何推荐的shell? (3)我怎样才能知道我使用的shell。
我有一台运行CentOS 5.5的虚拟机,我用作stream媒体服务器。 如果我打开4个terminal并执行此操作: 1号航站楼: # mkfifo pipe1.avi # mkfifo pipe2.avi # ffserver & # ffmpeg -probesize 164000 -i pipe1.avi -async 1 -r 25 http://localhost:8090/feed1.ffm terminal2: # ffmpeg -i pipe2.avi -async 1 -r 25 -vcodec flv -f flv somename.flv terminal3: # mplayer -dumpstream rtp://someIp:somePort -dumpfile pipe1.avi terminal4: # mplayer -dumpstream rtp://someIp:somePort -dumpfile pipe2.avi 一切都很好。 没有任何问题。 现在我正在试图制作一个脚本,并从一个cron运行它。 […]
我每天运行一个批处理作业,每天在不同的机器上运行(像4台机器一样)。 每台机器都有自己的日志文件logging所有的细节。 是否有可能创build一个shell脚本来拆分窗口并运行tail命令来查看单个terminal中的所有日志文件?
我正在为OpenVPN设置一个PAM服务,这样OpenVPN PAM模块就可以通过使用shell脚本来实现一个外部服务的用户名/密码。 OpenVPN PAM模块大约提供以下文档: 插件openvpn-auth-pam.so“openvpn名称USERNAME密码密码” 虽然“USERNAME”和“PASSWORD”是替代客户端提供的值的特殊string,但也可以将文字值命名为PAM模块查询响应。 例如,假设login模块查询第三个参数“domain”,该参数将以常量值“mydomain.com”回答: 所以现在我在/etc/pam.d/openvpn中创build了一个openvpn PAMconfiguration: auth required pam_exec.so expose_authtok /tmp/outputenv 哪一个让我尽可能执行一个脚本,并从标准input密码,辉煌,我95%的方式。 但是我没有访问用户名。 我已经检查了环境variables以及任何我能想到的东西,但是我无法弄清楚如何将用户名和密码传递给脚本进行外部authentication。 想法?
在比较两个版本的应用程序之间的文件的过程中,我注意到许多文件似乎在整个文件中获得了额外的空行。 这些文件从来没有通过FTP上传,纯粹从一个位置复制到另一个使用cp ,甚至没有在目录中的每一个文件,只是看似随机的。 当我在并排格式忽略空格,换行符等文件之间进行差异时,我只是看到一堆注意事项,显示作为新行的差异,所以这: diff –suppress-common-lines -Bbwy /home/site1/public_html/file.php /home/site2/public_html/file.php 输出这样的东西: > > > > > > 我想这是2个问题然后: 为什么文件会得到这些额外的新的线,这是一个线结束问题,我怎么检查? 是否有可能做一个差异,将完全忽略这些线,并认识到相同的文件,基本上他们似乎是? 仅供参考,这是在CentOS服务器上。
我想将我的Mac上的本地文件夹同步到远程ftp服务器。 我只想上传自上次同步后更改的文件。 我也想从服务器上下载新的和修改过的文件。 有没有办法做到这一点forms的OSX壳?