纯手打,边读书边写。
1、创建用户
useradd -m -d /home/tom tom -G oracle
-m 表示为该用户创建一个主目录,并拷贝/etc/skel下的文件为其做初始化。-G 表示加入某个用户组。
用户默认设置都储存在/etc/default/useradd文件中,可以用useradd
-D命令查看或者修改这些配置。包含了默认组,SHELL,skel,用户默认到期时间(EXPIRE),密码过期后可以修改的天数(INACTIVE)。
useradd -D -s shel -b path/to/default/home -e date -f days -g group
2、密码时效:
chage -M 30 tom 设置密码使用期限,30天后必须改密码。
如果不带参数,将进入交互式设置方式。
3、用户控制
passwd -l tom 锁用户,tom不能再使用密码登陆系统。但用户可以通过ssh之类的公钥机制登陆系统。通过passwd -u tom 来解锁。
完全禁止用户登录可以用:
usermod --expiredate 1 (设置用户到期日期为1970、01、01。这个值是UNIX时间的1)
或者修改登录的SHELL为/bin/false
usermod -s /bin/false
4、SHELL环境变量
PS1 标准提示符号:通常使用:
[\u@\h \W]\$ ===>[用户名@主机名 当前目录]# ===>[root@OA01 work]#
另外还有\T 表示时间. \d日期
5、系统引导过程:
BIOS=>MBR=>GRUB=>stage 1\stage 1.5\stage
2这时可以看到引导菜单项了=>GRUB寻找内核二进制代码,往内存加载initd.img文件(包含内核为了使用主机硬件而加载的驱动程序).加载完后,GRUB把控制权交给内核
=>内核调用init程序,初始化操作系统和服务。
init的配置文件/etc/inittab:
REDHAT的运行级:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
id:5:initdefault: #如果开机不启动GHI,这把这里的5改成3
init通过以下脚本来管理服务和运行级别:
/etc/rc.d/rc.sysinit
/etc/rc.d/rc.local
[root@OA01 rc.d]# ls -l
drwxr-xr-x 2 root root 4096 2007-10-31 init.d
-rwxr-xr-x 1 root root 2352 2004-03-17 rc
drwxr-xr-x 2 root root 4096 2011-04-26 rc0.d
drwxr-xr-x 2 root root 4096 2007-10-31 rc1.d
drwxr-xr-x 2 root root 4096 2007-12-17 rc2.d
drwxr-xr-x 2 root root 4096 2010-08-11 rc3.d
drwxr-xr-x 2 root root 4096 2010-08-11 rc4.d
drwxr-xr-x 2 root root 4096 2010-08-17 rc5.d #对应运行级的相关脚本
drwxr-xr-x 2 root root 4096 2007-10-31 rc6.d
-rwxr-xr-x 1 root root 367 2007-11-01 rc.local
-rwxr-xr-x 1 root root 27866 2006-04-21 rc.sysinit
[root@OA01 rc5.d]# ls
K01tog-pegasus K50netdump S05openibd S44acpid
K02cups-config-daemon K50tux S06cpuspeed S55sshd
K02NetworkManager K50vsftpd S08iptables S56rawdevices
K05saslauthd K73ypbind S10network S56xinetd
K10cups K74nscd S12syslog S85gpm
K10dc_server K74ntpd S13irqbalance S87iiim
K10psacct K85mdmpd S13iscsi S90crond
K12dc_client K87auditd S13portmap S90xfs
K15httpd K89netplugd S14nfslock S91smb
K20nfs K90bluetooth S15mdmonitor S95anacron
K24irda K91isdn S18rpcidmapd S95atd
K25squid K94diskdump S19rpcgssd S96readahead
K30sendmail K96ipmi S25netfs S97messagebus
K30spamassassin K96pcmcia S26apmd S97rhnsd
K35vncserver S00microcode_ctl S26lm_sensors S98haldaemon
K35winbind S04readahead_early S28autofs S99local
K50ibmasm S05kudzu S40smartd
S开头的脚本为服务启动脚本,后面的2位数字为运行顺序,再后面为服务名。
K对应的为服务关闭脚本。
重启某个服务 service mysqld stop && service mysqld start
管理这些服务,RH有chkconfig命令。UBUNTU用invoke-rc.d打开关闭服务,update-rc.d管理服务,另外还有sysv-rc-conf这个GUI文本界面(需额外安装)。
UNBUNTU使用Upstart方式来取代SysV的标准
6、crontab
00 * * * * /ftproot/transfer.sh
分钟 小时 日期 月份 星期 执行命令
每个用户的crontab在/var/spool/cron/$uid。记住系统的crontab跟每个用户crontab不一样!!
另外LINUX下用/etc/crontab存储系统的定时配置,文件内容如下:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
主机有一个服务进程负责执行这些任务:crond
7、网络 ifconfig 查看(也可以修改)当前所有网络接口的状况和配置。eth0 表示第一个网卡。
配置文件:RH:/etc/sysconfig/network-scripts UNBUNTU:/etc/networks
UBUNTU可以直接修改 /etc/networks/interfaces 来配置网络。
路由: route
网络监测:ping tcpdump mt nc dig iptables
防火墙:RH: system-config-security UBTUNTU: ufw
记住一个命令: ufw allow 80/tcp 开通通过tcp访问80端口的权限。
配置防火墙专用工具: shorewall
TCP WRAPPERS 几个重要文件 /etc/hosts.allow 优先级> /etc/hosts.deny
8 包管理
RH : rpm YUM
UBUNTU: aptitude dpkg
yum search nmap && yum install nmap && yum check-update && yum update && yum
remove nmap && yum info kernel && yum clean all
配置文件 /etc/yum.conf /etc/yum.repos.d/ 状态文件 /var/lib/yum /var/cache/yum
UBUNTU apt-get install xxx
9 存储管理
分区 fdisk /dev/sda && fdisk /dev/sdb
文件系统 EXT3 EXT4 XFS JFS
创建文件系统 mkfs.ext3 mkfs.ext4 mkfx.vfat
调整文件系统参数 tune2fs
一个命令 dmesg 通过内核检查设备节点
查找U盘 : dmesg |grep sd
加载文件系统 mount
mount -t ext3 /dev/sdb1 /mnt/data
lsof /mnt/data 查看哪些进程在读写某个文件系统
系统自动挂载的文件系统配置文件 /etc/fstab
检查文件系统利用率 df -h && df -sh *
*****RAID
创建带备份的raid1
mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1
--spare-devices=1 /dev/sdd1
配置文件:/etc/mdadm.conf /etc/mdaadm/mdaadm.conf
******逻辑卷
dd if=/dev/zero of=/dev/sdg bs=512 count=1
pvcreate /dev/md0
pvs
vgs
lvs
vgextend ubuntu-au-mel-1 /dev/md0
vgreduce au-mel-ubuntu-1 /dev/md0
vgcreate raid-volumn /dev/md0
lvcreate --name www --size 2G raid-volumn
mkfs.ext3 /dev/raid-volumn/www
#编辑fstab,定义加载点
mount /srv/www
lvextend --size +2G /dev/raid-volumn/www
LVM管理文件系统的方式比分区稍微麻烦一点,但是使用灵活很多。