Ubuntu服务器管理备忘录
我正在使用Ubuntu 12.04LTS进行研究,并将其记下来。
添加或删除用户
添加用户
$ sudo adduser USER
除了 useradd 命令外,还有另一个选项,但如果不在该选项中指定,将无法创建主目录和 .bashrc 文件。
删除用户
$ sudo userdel -r USER
-r是删除家目录和邮件存储的选项。
将用户添加到子组
$ sudo gpasswd -a USER GROUP
由于 usermod -G GROUP USER 命令存在安全风险,请不要使用。(参考资料)
添加管理用户
$ sudo adduser NEWADMIN
$ sudo gpasswd -a NEWADMIN sudo
$ sudo gpasswd -a NEWADMIN adm
$ sudo gpasswd -a NEWADMIN admin
添加无法登录的用户
$ sudo useradd -s /bin/false
如果想要创建一个不被普通用户使用的特殊用户,请将其登录shell指定为/bin/false。
不需要密码,执行sudo命令。
我需要修改/etc/sudoers文件,但是直接使用vi等编辑器进行修改是危险的,所以我要使用visudo来完成。(参考)
$ sudo EDITOR=vi visudo
要使属于admin组的用户能够无需密码执行sudo命令,可以通过以下方式进行修改。
# Members of the admin group may gain root privileges
%admin ALL=(ALL) NOPASSWD:ALL
包装
更新软件包列表
$ sudo apt-get update
安装软件包
$ sudo apt-get install PACKAGENAME
卸载软件包
$ sudo apt-get remove PACKAGENAME
Package search (in Chinese): 包裹搜索
可以使用正则表达式进行搜索。
$ sudo apt-cache search REGEX
显示包装信息
$ sudo apt-cache show PACKAGENAME
想知道安装了哪个版本。
$ sudo apt-cache policy PACKAGENAME
显示已安装的软件包列表。
$ dpkg -l
显示已安装软件包中包含的文件。
$ dpkg -L PACKAGENAME
显示包文件(*.deb)中包含的文件。
$ dpkg -c DEBFILENAME
已安装的 *.deb 软件包被缓存在 /var/cache/apt/archives 目录中。
服务状态显示
$ sudo service --status-all
通过以下命令可以查看由Upstart机制管理的服务的状态。
$ sudo initctl list
更改主机名称
更改 /etc/hostname 和 /etc/hosts 并重新启动。
我不知道无需重新启动的方法。
网络设置(静态IP、DNS服务器、路由设置)
在/etc/network/interfaces中进行编写。
通过使用post-up,可以执行任意的命令,因此路由设置是通过它来完成的。
# とあるNIC2枚挿しサーバーの設定例
# The loopback network interface
auto lo
iface lo inet loopback
# LAN
auto eth0
iface eth0 inet static
address 192.168.17.10
network 192.168.17.0
netmask 255.255.255.0
dns-nameservers 192.168.1.1 # 使用するDNSサーバー名
dns-search example.org # DNSサフィックス
post-up route add -net 192.168.0.0/20 gw 192.168.17.253 # ルート設定
# WAN
auto eth1
iface eth1 inet static
address 192.168.16.10
network 192.168.16.0
netmask 255.255.255.0
gateway 192.168.16.253
修改后需要重新启动网络。
$ sudo ifdown -a
$ sudo ifup -a
$ sudo service resolvconf restart # /etc/resolv.conf に反映
如果你想通过SSH从远程重新启动网络,可以按照这种方式操作。
sudo nohup sh -c "ifdown -a; ifup -a"
一旦失败就不能恢复,必须到机器所在的地方。
时区设置
据说”/etc/localtime”文件是用来设置时区的。(参考)
$ ln -fs /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
如果要用模拟的GUI来完成,可以按照以下方式进行。
$ sudo dpkg-reconfigure tzdata