2014年5月14日星期三
CentOS常用命令
一:使用CentOS常用命令查看cpu
more /proc/cpuinfo | grep "model name"
grep "model name" /proc/cpuinfo
[root@localhost /]# grep "CPU" /proc/cpuinfo
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
如果觉得需要看的更加舒服
grep "model name" /proc/cpuinfo | cut -f2 -d:
二:使用CentOS常用命令查看内存
grep MemTotal /proc/meminfo grep MemTotal /proc/meminfo | cut -f2 -d: free -m |grep "Mem" | awk '{print $2}'
三:使用CentOS常用命令查看cpu是32位还是64位
查看CPU位数(32 or 64)
getconf LONG_BIT
四:使用CentOS常用命令查看当前linux的版本
more /etc/redhat-release
cat /etc/redhat-release
五:使用CentOS常用命令查看内核版本
uname -r
uname -a
六:使用CentOS常用命令查看当前时间
date上面已经介绍如何同步时间了
七:使用CentOS常用命令查看硬盘和分区
df -h
fdisk -l
也可以查看分区
du -sh
可以看到全部占用的空间
du /etc -sh
可以看到这个目录的大小
八:使用CentOS常用命令查看安装的软件包
查看系统安装的时候装的软件包
cat -n /root/install.log
more /root/install.log | wc -l
查看现在已经安装了那些软件包
rpm -qa
rpm -qa | wc -l
yum list installed | wc -l
不过很奇怪,我通过rpm,和yum这两种方式查询的安装软件包,数量并不一样。没有找到原因。
九:使用CentOS常用命令查看键盘布局
cat /etc/sysconfig/keyboard
cat /etc/sysconfig/keyboard | grep KEYTABLE | cut -f2 -d=
十:使用CentOS常用命令查看selinux情况
sestatus
sestatus | cut -f2 -d:
cat /etc/sysconfig/selinux
十一:使用CentOS常用命令查看ip,mac地址
在ifcfg-eth0 文件里你可以看到mac,网关等信息。 ifconfig cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR | cut -f2 -d= ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6- ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}' 查看网关 cat /etc/sysconfig/network 查看dns cat /etc/resolv.conf 十二:使用CentOS常用命令查看默认语言
echo $LANG $LANGUAGE
cat /etc/sysconfig/i18n
十二:使用CentOS常用命令查看所属时区和是否使用UTC时间
cat /etc/sysconfig/clock
十三:使用CentOS常用命令查看主机名
hostname
cat /etc/sysconfig/network
修改主机名就是修改这个文件,同时最好也把host文件也修改。
十四:查找文件
find / -name config.json 查找文件
标签:gfw,goagent,shadowsock
CentOS
Centos 6.4 Linux 搭建pptp
In this article we show you how to install and properly configure a PPTP VPN server in RHEL/CentOS linux. With this VPN you’ll have access to transfering your data encrypted and using a ethernet interface that uses your Server IP address. This tunneling technology is compatible with several devices like desktop operating systems, mobile phones and tablets.
First need enable tun module (tunelling kernel module):
First need enable tun module (tunelling kernel module):
- # echo 'modprobe tun' >> /etc/rc.modules
- # chmod +x /etc/rc.modules
At next boot will be loaded tun module in kernel
Make sure you begin with a clean install by removing any previously installed packages:
Make sure you begin with a clean install by removing any previously installed packages:
- yum remove -y pptpd ppp
- iptables --flush POSTROUTING --table nat
- iptables --flush FORWARD
- rm -rf /etc/pptpd.conf
- rm -rf /etc/ppp
Installation procedure
First, install the poptop package from sourceforge:
- rpm -Uhv http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
- yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers dkms kernel_ppp_mppe ppp pptpd
Now, we need to enable IP forwading, set internal IP addresses and point the DNS Servers that will be used by the pptp server:
- mknod /dev/ppp c 108 0
- echo 1 > /proc/sys/net/ipv4/ip_forward
- echo "mknod /dev/ppp c 108 0" >> /etc/rc.local
- echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local
- echo "localip " >> /etc/pptpd.conf
- echo "remoteip 153.121.37.2-254" >> /etc/pptpd.conf
- echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd
- echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd
- /etc/ppp/chap-secrets
Then, create your users credentials for the PPTP server. This credentials will be used to log in to the PPTP server on every client/device you connect from:
- nano /etc/ppp/chap-secrets
Your chap-secrets file should look like this:
- # Secrets for authentication using CHAP
- # client server secret IP addresses
- yourusername pptpd yourpassword *
Save and close the file.
Next, you need to add the following iptables rules in order to open the correct ports and properly forward the data packets:
Next, you need to add the following iptables rules in order to open the correct ports and properly forward the data packets:
- # VPN rules (pptpd)
- iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
- iptables -A INPUT -i eth0 -p gre -j ACCEPT
- iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- iptables -A FORWARD -p tcp -s 153.121.37.0/24 -j TCPMSS --syn --set-mss 1356
- iptables -A INPUT -p gre -j ACCEPT
Save and restart your iptables firewall:
- service iptables save
- service iptables restart
Make sure you load your iptables after every reboot:
- chkconfig iptables on
- chkconfig pptpd on
And finally, restart iptables and pptpd services:
- 1service iptables start
- 2 service pptpd start
That is it.
service pptpd restart
备注:必须重启cent os
标签:gfw,goagent,shadowsock
CentOS
cent os 安装 Xfce
CentOS 6 VPS主机上安装Xfce桌面
1、在CentOS 上安装Xfce,好多的教程给出的命令是:yum -y groupinstall xfce,实际上执行这个命令后CentOS 6 VPS主机是找不到可下载资源的。
2、在新的CentOS 6上默认没有包含xfce的桌面环境,使用yum也找不到这些包的,如果你直接执行:yum -y groupinstall xfce 这一命令,会提示找不到相关资源可下载并安装。
3、因此对于CentOS 6.3,我们要通过以下方法才能将xfce桌面环境成功安装。执行如下命令:
wget http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum search xfce
yum groupinfo xfce
yum groupinstall xfce
4、安装过会提示你下载资源包,输入Y,继续。
5、成功安装了xfce桌面有如下提示:
1、直接执行下列命令即可完成Firefox和Flashplayer安装。
yum -y groupinstall chinese-support
yum -y install firefox
wget http://fpdownload.macromedia.com/get/flashplayer/pdc/11.2.202.332/install_flash_player_11_linux.x86_64.tar.gz
tar zxvf install_flash_player_11_linux.x86_64.tar.gz
mkdir -p ~/.mozilla/plugins/
cp libflashplayer.so ~/.mozilla/plugins/
2、成功后会看到如下提示:
1、执行下列命令后开启vncserver服务。第一次开启会要你设置一个密码。输入二次。
vncserver
3、执行下列代码,打开vncserver配置。
vim /etc/sysconfig/vncservers
4、在最后添加以下代码,保存。
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800x600 "
6、执行以下命名重启vncserver。
7、然后打开你自己的VNCviewer,这里是VNCviewer下载地址。
8、输入VPS主机的IP后面加上“:1”,如下图:
9、连接过程要输入密码,连接成功后你会看到一个没有内容的桌面。(点击放大)
1、上面你看到了是一个没有内容的界面,关闭它,然后执行下列命令:
vi /root/.vnc/xstartup
2、将里面的命令全部删除,复制粘贴进入下面的代码,并保存。
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
startxfce4 &
3、再次重启你的vncserver,必要时请重启VPS主机。
4、再次用VNC连接你的VPS主机,你就可以顺利进入Xfce桌面了。(点击放大)
5、点击桌面下方的“地球”就可以打开Firefox浏览网页了。
标签:gfw,goagent,shadowsock
CentOS
install node.js for cent os
# wget http://nodejs.org/dist/node-latest.tar.gz
# tar zxvf node-latest.tar.gz
(cd into extracted folder: ex "cd node-v0.10.3")
# ./configure --prefix=/usr/
# make
# mkdir /tmp/nodejs
# make install DESTDIR=/tmp/nodejs/
# tree -L 3 /tmp/nodejs/
/tmp/nodejs/
标签:gfw,goagent,shadowsock
CentOS
CentOS Linux VPS安装IPSec+L2TP VPN
CentOS Linux VPS安装IPSec+L2TP VPN
第二层隧道协议L2TP(Layer 2 Tunneling Protocol)是一种工业标准的Internet隧道协议,它使用UDP的1701端口进行通信。L2TP本身并没有任何加密,但是我们可以使用IPSec对L2TP包进行加密。L2TP VPN比PPTP VPN搭建复杂一些。
一、安装IPsec,Openswan是Linux系统上IPsec的一个实现。
官网:http://www.openswan.org/
官网:http://www.openswan.org/
1、安装必备软件:
yum install make gcc gmp-devel bison flex lsof
make,gcc我们都知道是干什么用的了。
gmp-devel: Development tools for the GNU MP arbitrary precision library.
bison: A GNU general-purpose parser generator.
flex: A tool for creating scanners (text pattern recognizers).
看上去好像都和编译器有关?
gmp-devel: Development tools for the GNU MP arbitrary precision library.
bison: A GNU general-purpose parser generator.
flex: A tool for creating scanners (text pattern recognizers).
看上去好像都和编译器有关?
2、安装Openswan:
由于更新源上的版本是2.6.21-5.el5_6.4较老,这里使用源码安装,目前最新版是2.6.35。
由于更新源上的版本是2.6.21-5.el5_6.4较老,这里使用源码安装,目前最新版是2.6.35。
cd /tmp
wget http://www.openswan.org/download/openswan-2.6.35.tar.gz
tar -zxvf openswan-2.6.35.tar.gz
cd openswan-2.6.35
make programs install
PS:进openswan-2.6.35目录看到已经有Makefile文件了,阅读目录内的INSTALL写着
Building userland:
make programs install
Building userland:
make programs install
3、配置IPSec
编辑配置文件/etc/ipsec.conf:
编辑配置文件/etc/ipsec.conf:
cp /etc/ipsec.conf /etc/ipsec.conf.bak
vim /etc/ipsec.conf
查找protostack=auto,修改为:
protostack=netkey
在最后加入:
conn L2TP-PSK-NAT rightsubnet=vhost:%priv also=L2TP-PSK-noNAT conn L2TP-PSK-noNAT authby=secret pfs=no auto=add keyingtries=3 rekey=no ikelifetime=8h keylife=1h type=transport left=YOUR.SERVER.IP.ADDRESS leftprotoport=17/1701 right=%any rightprotoport=17/%any
“YOUR.SERVER.IP.ADDRESS”换成VPS的外网IP。其中一些设置含义可以参考/etc/ipsec.d/examples/l2tp-psk.conf文件的内容。
4、设置共享密钥PSK
编辑配置文件/etc/ipsec.secrets:
编辑配置文件/etc/ipsec.secrets:
vim /etc/ipsec.secrets
输入:
YOUR.SERVER.IP.ADDRESS %any: PSK "YourSharedSecret"
5、修改包转发设置
复制以下两段代码在终端里运行:
复制以下两段代码在终端里运行:
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
echo 1 >/proc/sys/net/core/xfrm_larval_drop
修改内核设置,使其支持转发,编辑/etc/sysctl.conf文件:
vim /etc/sysctl.conf
将“net.ipv4.ip_forward”的值改为1。
使修改生效:
sysctl -p
6、重启IPSec:
/etc/init.d/ipsec restart
查看系统IPSec安装和启动的正确性:
ipsec verify
没有报[FAILED]就可以了。
我用的这个VPS结果显示如下:


二、安装L2TP(xl2tpd和rp-l2tp)
xl2tpd是由Xelerance Corporation维护的l2tpd应用。但是xl2tpd没有l2tp-control,需要从rp-l2tp这个里面提取。所以要装这两个软件包。
xl2tpd是由Xelerance Corporation维护的l2tpd应用。但是xl2tpd没有l2tp-control,需要从rp-l2tp这个里面提取。所以要装这两个软件包。
1、安装必备软件:
yum install libpcap-devel ppp policycoreutils
2、安装xl2tpd和rp-l2tp:
cd /tmp
wget http://sourceforge.net/projects/rp-l2tp/files/rp-l2tp/0.4/rp-l2tp-0.4.tar.gz
tar -zxvf rp-l2tp-0.4.tar.gz
cd rp-l2tp-0.4
./configure
make
cp handlers/l2tp-control /usr/local/sbin/
mkdir /var/run/xl2tpd/
ln -s /usr/local/sbin/l2tp-control /var/run/xl2tpd/l2tp-control
xl2tpd用的是目前最新的xl2tpd-1.3.0:
cd /tmp
tar -zxvf xl2tpd-1.3.0.tar.gz
cd xl2tpd-1.3.0
make
make install
显示安装了如下一些内容:


3、建立xl2tpd配置文件:
mkdir /etc/xl2tpd
vim /etc/xl2tpd/xl2tpd.conf
加入:
[global]
ipsec saref = yes[lns default]ip range = 153.121.37.2-254
local ip = 153.121.37.210
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
4、配置ppp
建立options.xl2tpd文件:
建立options.xl2tpd文件:
vim /etc/ppp/options.xl2tpd
加入:
require-mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
5、设置拨号用户名和密码:
vim /etc/ppp/chap-secrets

6、添加iptables转发规则:
iptables --table nat --append POSTROUTING --jump MASQUERADE
保存iptables转发规则:
/etc/init.d/iptables save
重启iptables:
/etc/init.d/iptables restart
7、以debug方式启动l2tp,查看有无错误:
xl2tpd -D
显示如下:
xl2tpd[9647]: Enabling IPsec SAref processing for L2TP transport mode SAs
xl2tpd[9647]: IPsec SAref does not work with L2TP kernel mode yet, enabling forceuserspace=yes
xl2tpd[9647]: setsockopt recvref[22]: Protocol not available
xl2tpd[9647]: This binary does not support kernel L2TP.
xl2tpd[9647]: xl2tpd version xl2tpd-1.3.0 started on myserver.localdomain PID:9647
xl2tpd[9647]: Written by Mark Spencer, Copyright (C) 1998, Adtran, Inc.
xl2tpd[9647]: Forked by Scott Balmos and David Stipp, (C) 2001
xl2tpd[9647]: Inherited by Jeff McAdams, (C) 2002
xl2tpd[9647]: Forked again by Xelerance (www.xelerance.com) (C) 2006
xl2tpd[9647]: Listening on IP address 0.0.0.0, port 1701
说明已经在监听端口了。现在可以在windows上建立L2TP拨号连接了。
xl2tpd[9647]: Enabling IPsec SAref processing for L2TP transport mode SAs
xl2tpd[9647]: IPsec SAref does not work with L2TP kernel mode yet, enabling forceuserspace=yes
xl2tpd[9647]: setsockopt recvref[22]: Protocol not available
xl2tpd[9647]: This binary does not support kernel L2TP.
xl2tpd[9647]: xl2tpd version xl2tpd-1.3.0 started on myserver.localdomain PID:9647
xl2tpd[9647]: Written by Mark Spencer, Copyright (C) 1998, Adtran, Inc.
xl2tpd[9647]: Forked by Scott Balmos and David Stipp, (C) 2001
xl2tpd[9647]: Inherited by Jeff McAdams, (C) 2002
xl2tpd[9647]: Forked again by Xelerance (www.xelerance.com) (C) 2006
xl2tpd[9647]: Listening on IP address 0.0.0.0, port 1701
说明已经在监听端口了。现在可以在windows上建立L2TP拨号连接了。
三、设置开机启动
vim /etc/rc.local
加入:
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
doneecho 1 >/proc/sys/net/core/xfrm_larval_drop/etc/init.d/ipsec restart/usr/local/sbin/xl2tpd
四、建立连接时遇到的问题
windows下新建一个VPN连接,属性-网络-VPN类型选择L2TP IPSec VPN,安全-IPSec设置-输入共享密钥。
windows下新建一个VPN连接,属性-网络-VPN类型选择L2TP IPSec VPN,安全-IPSec设置-输入共享密钥。
提示“错误 768:因为加密数据失败连接尝试失败。”
IPSEC services被关掉了。开始-运行-输入services.msc,然后在服务中启用“IPSEC services”即可。
IPSEC services被关掉了。开始-运行-输入services.msc,然后在服务中启用“IPSEC services”即可。
标签:gfw,goagent,shadowsock
CentOS
CentOS添加Root权限用户方法
1、添加普通用户
[root@linuxmonitor ~]# useradd lpuser
[root@linuxmonitor ~]# passwd lpuser
Changing password for user lpuser.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@linuxmonitor ~]# passwd lpuser
Changing password for user lpuser.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
2、赋予root权限
修改/etc/sudoers文件时注意,这个文件的权限是440,需要先改成740,操作完成后再改成440。
方法三最简单,但是存在一定的问题,推荐使用方法二。
方法1):修改/etc/sudoers文件,找到下面一行,把前面的注释(#)去掉
然后修改用户,使其属于root组(wheel),命令如下:
[root@linuxmonitor ~]# usermod -g root lpuser
修改完毕,用lpuser帐号登录,然后用命令su –切换,即可获得root权限进行操作。
[root@linuxmonitor ~]# usermod -g root lpuser
修改完毕,用lpuser帐号登录,然后用命令su –切换,即可获得root权限进行操作。
方法2):修改/etc/sudoers文件,找到下面一行,在root下面添加一行,如下所示:
修改完毕,用lpuser帐号登录,然后用命令su –,即可获得root权限进行操作。
方法3):修改/etc/passwd文件,找到如下行,把用户ID修改为0,如下所示:
方法3):修改/etc/passwd文件,找到如下行,把用户ID修改为0,如下所示:
修改后保存,用lpuser账户登录后,直接获取的就是root帐号的权限。
标签:gfw,goagent,shadowsock
CentOS
CentOS精简与优化
CentOS安装完毕后,需要进行的优化步骤。
注意:本文所述的优化,是针对于VPS环境的,桌面环境和独立服务器的CentOS请勿使用本文中的方法进行优化,否则可能导致桌面环境不正常。独立服务器也不要使用本文中的方法去优化,否则会引起异常~
1,删除不必要的软件包
yum remove Deployment_Guide-en-US finger cups-libs cups ypbind yum remove bluez-libs desktop-file-utils ppp rp-pppoe wireless-tools irda-utils yum remove sendmail* samba* talk-server finger-server bind* xinetd yum remove nfs-utils nfs-utils-lib rdate fetchmail eject ksh mkbootdisk mtools yum remove syslinux tcsh startup-notification talk apmd rmt dump setserial portmap yp-tools yum groupremove "Mail Server" "Games and Entertainment" "X Window System" "X Software Development" yum groupremove "Development Libraries" "Dialup Networking Support" yum groupremove "Games and Entertainment" "Sound and Video" "Graphics" "Editors" yum groupremove "Text-based Internet" "GNOME Desktop Environment" "GNOME Software Development" |
2,升级整个系统
yum update #更新全部更新 yum clean all #清理全部缓存的安装文件以节省空间 |
3,禁用seLinux
sestatus 先执行这一句看看seLinux状态,如果不是disabled,那么执行如下步骤将其禁用 vi /etc/selinux/config SELINUX=disabled 禁用SeLinux SELINUX=enforcing 使用SeLinux |
4,停止网卡对ipv6的支持
vi /etc/modprobe.conf 添加如下行到文尾: alias net-pf-10 off alias ipv6 off |
重启后生效。
5,修改环境变量语言编码,防止出现乱码
vi /etc/profile 找到export PATH ……这一行,在其上面加上一行 LANG=en_US.UTF-8 然后在export PATH ……这一行后面补充一个LANG source /etc/profile |
6,初始化防火墙
touch /etc/sysconfig/iptables iptables -F iptables -X iptables -Z service iptables save service iptables restart |
7,来个一键优化脚本,自动禁用无用服务,且禁止其开机自启动
#! /bin/bash
service acpid off
service atd stop
service auditd stop
service avahi-daemon stop
service avahi-dnsconfd stop
service bluetooth stop
service conman stop
service cpuspeed stop
service cups stop
service dnsmasq stop
service dund stop
service firstboot stop
service hidd stop
service httpd stop
service ibmasm stop
service ip6tables stop
service irda stop
service kdump stop
service lm_sensors stop
service mcstrans stop
service messagebus stop
service microcode_ctl stop
service netconsole stop
service netfs stop
service netplugd stop
service nfs stop
service nfslock stop
service nscd stop
service ntpd stop
service oddjobd stop
service pand stop
service pcscd stop
service portmap stop
service psacct stop
service rdisc stop
service restorecond stop
service rpcgssd stop
service rpcidmapd stop
service rpcsvcgssd stop
service saslauthd stop
service sendmail stop
service setroubleshoot stop
service smb stop
service vncserver stop
service winbind stop
service wpa_supplicant stop
service xfs stop
service ypbind stop
service yum-updatesd stop
chkconfig acpid off
chkconfig atd off
chkconfig auditd off
chkconfig avahi-daemon off
chkconfig avahi-dnsconfd off
chkconfig bluetooth off
chkconfig conman off
chkconfig cpuspeed off
chkconfig cups off
chkconfig dnsmasq off
chkconfig dund off
chkconfig firstboot off
chkconfig hidd off
chkconfig httpd off
chkconfig ibmasm off
chkconfig ip6tables off
chkconfig irda off
chkconfig kdump off
chkconfig lm_sensors off
chkconfig mcstrans off
chkconfig messagebus off
chkconfig microcode_ctl off
chkconfig netconsole off
chkconfig netfs off
chkconfig netplugd off
chkconfig nfs off
chkconfig nfslock off
chkconfig nscd off
chkconfig ntpd off
chkconfig oddjobd off
chkconfig pand off
chkconfig pcscd off
chkconfig portmap off
chkconfig psacct off
chkconfig rdisc off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig rpcsvcgssd off
chkconfig saslauthd off
chkconfig sendmail off
chkconfig setroubleshoot off
chkconfig smb off
chkconfig vncserver off
chkconfig winbind off
chkconfig wpa_supplicant off
chkconfig xfs off
chkconfig ypbind off
chkconfig yum-updatesd off
标签:gfw,goagent,shadowsock
CentOS
订阅:
博文 (Atom)