sudo vi /etc/passwd
会看到所有用户的权限以及使用的bash
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
syslog:x:101:103::/home/syslog:/bin/false
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ntpd:x:103:108::/var/run/openntpd:/bin/false
mysql:x:104:109:MySQL Server,,,:/var/lib/mysql:/bin/false
yakjuly:x:1000:1000::/home/yakjuly:/bin/sh
把最后yakjuly的移行的sh改成bash 即可
sh 和 bash 是两个不同的shell,linux下有很多种shell。
sh比较小,但是功能没有bash多,bash用得比较普遍
我将公钥拷贝成authorized_keys之后,为什么公钥认证没有生效?
解决方法:
通常这是由于$HOME,$HOME/.ssh的文件权限造成的,或者是$HOME/.ssh/authorized_keys的权限超过了sshd默认允许的权限。
如果是这样,可以执行下面的命令去解决这个问题:
$ chmod go-w $HOME $HOME/.ssh
$ chmod 600 $HOME/.ssh/authorized_keys
昨天把主机从dreamhost换到了linode,虽然觉得dreamhost很不错 但是没有root权限始终有点不快。
今年打算把服务器,运维等知识好好补充一下,于是买了口碑一直不错的linode的VPS。
第一天的任务就是 迁移博客。
1. scp把wordpress文件 都拷贝至新主机上
2.apt-get 安装mysql php5 php5-mysql php5-cgi libfcgi-dev spawn-fcgi nginx
3.使用spawn-fcgi 脚本 启动php5-cgi进程
sudo spawn-fcgi -f /usr/bin/php5-cgi -a 127.0.0.1 -p 9000 -C 3 -P /var/run/php5-cgi.pid
4.配置nginx
在/etc/nginx/sites-enabled下创建 yakjuly.com文件
server {
listen 80;
server_name yakjuly.com;
access_log /home/yakjuly/applications/yakjuly.com/log/access.log;
error_log /home/yakjuly/applications/yakjuly.com/log/error.log;
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location / {
root /home/yakjuly/applications/yakjuly.com;
index index.php index.html index.htm;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-e $request_filename){
rewrite . /index.php;
}
}
location ~ .*\.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/yakjuly/applications/yakjuly.com$fastcgi_script_name;
}
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
解决了 /wp-admin 和/wp-admin/ 产生的url地址不一致的错误。
5.wordpress中文显示乱码。
在dreamhost时数据库是latin1,在导入linode时已经转化为了utf8 而且在mysql console中显示正常,说明是php的设置问题。
添加以下内容到wp-config.php
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', 'uft8_general_ci');
6.域名指向
登陆godaddy设置域名A记录指向新主机ip地址
10分钟后就生效了 感叹godaddy的神速 V5
新blog的访问速度明显比原来快得多。