使用Linode Ubuntu服务器快两年了一直没有好好的搭建维护环境,最近弄了下还是有不少的收获,下面分享一下。
# 创建用户及其目录和组
$ sudo adduser timtang --home /home/timtang --ingroup root
# 授于timtang用户root权限
$ sudo visudo /etc/sudoers 增加 timtang ALL=(ALL) ALL
# 删除成员连他的 home目录也一起删除
$ sudo userdel -r timtang
# 显示系统中所有的组
$ more /etc/group
# 系统中所有的用户
$ /etc/passwd
#在本地生成id_rsa公钥和私钥在~/.ss目录
$ ssh-keygen -t rsa -C "<your email address>"
# 将id_rsa.pub公钥上传到远程
$ scp ~/.ssh/id_rsa.pub <user>@<remote-host>:/home/user/.ssh/uploaded_key.pub
# 将上传的公钥添加到authorized_key文件中
$ ssh <user>@<remote-host> "cat ~/.ssh/uploaded_key.pub >> ~/.ssh/authorized_keys"
注意一下步骤很重要,要给定适当的权限给远端服务器的.ssh目录
$ chown -R <user>:<group> .ssh
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys
当然为了更安全,还需要修改/etc/ssh/sshd_config文件,禁止 root 远程登录,禁止口令登录,强制要 求用 private/public key 登录
PermitRootLogin no
X11Forwarding no
UsePAM yes
PasswordAuthentication no
ChallengeResponseAuthentication no
AuthorizedKeysFile .ssh/authorized_keys #注意这个authorized_keys的文件位置, 有时需要注意不要使用/root/.ssh/authorized_keys
修改好SSH服务后需要重启服务
$ sudo service ssh reload
这样你就可以直接登陆远程服务器,无须输入秘密!
$ sudo vi /etc/ssh/sshd_config
#添加如下两行
PasswordAuthentication no
PermitRootLogin no
# 重启ssh 服务
$ sudo service ssh restart > 这样就无法使用root用户登陆了!
$ cd /opt
$ wget -O init-deb.shhttp://library.linode.com/assets/602-init-deb.sh
$ mv /opt/init-deb.sh /etc/init.d/nginx
$ chmod +x /etc/init.d/nginx
$ /usr/sbin/update-rc.d -f nginx defaults > 完成以上步骤就安装完成了,我们可以使用如下命名来控制nginx服务:
$ service nginx restart|stop|start|reload
$ sudo apt-get install chkconfig
$ chkconfig --list nginx
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
参考: Linode doc
$ sudo apt-get install automysqlbackup
$ sudo vi /etc/default/automysqlbackup
# 将备份的目录改下
BACKUPDIR="/srv/mysql/backups/"
具体详细的配置,可以自己查看官方文档
$ sudo cp /usr/sbin/automysqlbackup /etc/cron.weekly/automysqlbackup
# 给脚本执行权限
$ sudo chmod +x /etc/cron.weekly/automysqlbackup
当然我们也可以手工触发,使用如下命令,然后去/srv/mysql/backps/目录即可看到备份文件
$ sudo automysqlbackup
02 February 2013 Suzhou, China希望对大家有帮助,这篇blog将持续更新….