磁盘配额
# vi /etc/fstab<Enter> // 设置磁盘配额支持
LABEL=/boot /boot ext3 defaults,usrquota,grpquota 1 2
# mount -o remount /boot<Enter> // 重新挂载fstab文件中/mnt/bob
==> # mount | grep boot<Enter>
# quotacheck -cvaug<Enter> // 创建磁盘配额数据库文件 # quotacheck -cvug /boot<Enter>
==> # ls /boot<Enter> // aquota.user、aquota.group
# quotaon -a<Enter> // 启用磁盘配额 # quotaon /boot<Enter>
# useradd adder<Enter> // 添加用户
# passwd -d adder<Enter> // 删除密码
# edquota -t<Enter> // 更改警告期时间(可选,默认7天)
# edquota -u adder<Enter> // 编辑用户adder的配额:
// 限定文件10M警告,20M最大空间、
// 文件个数5警告,最多10个文件。
=================================================================
-----------------------------------------------------------------
Disk quotas for user adder (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 0 10240 20480 0 5 10
文件系统 现容量(Kb) 警告限制 最大容量 文件个数 警告限制 最大个数
=================================================================
# quota -u adder<Enter> // 管理员查看用户adder配额使用情况
# repquota -a<Enter> // 查看所有帐户配额使用情况
验证过程
# chmod a+w /boot<Enter>
<alt>+<F2> 用adder身份登陆,测试
$ cd /boot<Enter>
$ dd if=/dev/zero of=file1 bs=1M count=10<Enter> // 生成10M文件
$ ll -h<Enter>
$ dd if=/dev/zero of=file2 bs=1M count=10<Enter>
$ ll -h<Enter>
$ touch 3 4 5 6 7 8 9 10 11 12<Enter>
$ quota<Enter> // 查看本帐户配额使用情况
额外命令
grep过滤
用法: # grep 关键字 文件<Enter>
# grep title /etc/grub.conf<Enter>
# df -h | grep sda1<Enter>
cut摘出指定列
用法: # cut -f列数 -d分隔符 文件<Enter>
# cut -f1 -d: /etc/group<Enter>
# cut -f1,3 -d: /etc/group<Enter>
用户管理
useradd添加用户
用法:# useradd -c comment -d home_dir -e expire_date -g initial_group /<Enter>
-G group[,...] -s shell -u uid 用户名<Enter>
-c comment,注释说明
-d home_dir,用户主目录 /home/username
-e expire_date,失效期格式"YYYY-MM-DD"
-g initial_group,原始组
-G group,隶属组
-s shell,默认shell # cat /etc/shells<Enter>
-u uid,用户ID
练习:添加用户boss,要求该用户注释为"laoda"、隶属于mail和rpm组、
默认的shell是"csh"、用户ID是555、有效期一年、原始组为ftp、
主目录"/home/bob"
# useradd -c laoda -d /home/bob -e 2007-09-06 -g ftp -G mail,rpm /<Enter>
> -s /bin/csh -u 555 boss<Enter>
用户相关命令
# finger boss<Etner> // 看用户信息
# id boss<Enter> // 看用户id
usermod修改用户
用法:# usermod -l login_name 用户名<Enter>
# usermod -l dabao boss<Enter>
userdel删除用户
用法:# userdel -r 用户名<Enter>
-r 删除用户同时,删除用户主目录
# userdel -r boss<Enter>
passwd设置密码
用法: # passwd 用户名<Enter> // root有权限
# passwd<Enter> // 普通帐户有权限
注意: root给普通帐户设密码时任意,
普通帐户改密码时必须符合密码复杂性规则,并且5位以上.
# passwd -d 用户名<Enter> // delete,删除密码
# passwd -l 用户名<Enter> // lock,锁定用户
# passwd -u 用户名<Enter> // unlock,解锁
组管理
groupadd添加组
# groupadd 组名<Enter>
groupdel删除组
# groupdel 组名<Enter>
修改用户隶属组
# gpasswd -a 用户名 组名<Enter> // 组中添加用户
# usermod -G 组名 用户名<Enter> // 把用户加入到组
# grep UID /etc/login.defs<Enter>
UID_MIN 500 // 用户ID最小值
UID_MAX 60000 // 用户ID最大值
# grep LEN /etc/login.defs<Enter>
PASS_MIN_LEN 5 // 更改密码最短长度
用户和组相关文件
/etc/passwd 帐户文件
/etc/shadow 密码文件
/etc/group 组文件
# grep ^root /etc/passwd<Enter>
root:x:0:0:root:/root:/bin/bash
用户名:启用shadow加密:UID:GID:comment:home_dir:shell
# grep ^root /etc/shadow<Enter>
root:$1....180:13129:0:99999:7:::
用户名:md5密码:最后一次修改密码:最短保留期:最长保留期:警告时间:锁定状态:有效期:标记
# grep ^root /etc/group<Enter>
root:x:0:root
组名:启用shadow加密:GID:组员
列出进程
# ps -aux<Enter>
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 1336 476 ? S 18:09 0:03 init
# pstree -p<Enter>
# top<Enter> // 动态查看
结束进程
# kill -9 PID<Enter>
# killall 进程名<Enter>
前后台进程管理
# jobs<Enter> // 查看后台进程状态
# dd if=/dev/zero of=/dev/null<Enter> // 死循环
<ctrl>+<z> // 放到后台停止
# bg<Enter> // 将停止的进程放到后台运行
# fg<Enter> // 将后台的进程拉回前台
# dd if=/dev/zero of=/dev/null &<Enter> // 直接将程序放到后台运行
rpm 红帽包管理器,相当于windows添加/删除程序
# rpm -q bind bind-utils caching-nameserver<Enter>
-q query,查询包是否存在。显示包名及版本号存在
# rpm -ivh /root/soft/bind*<Enter>
# rpm -ivh /root/soft/ca<Tab><Enter>
-i install,安装
-v verbose,详细模式
-h hash,安装进度条"#"井号
注意:
需先挂载光盘,才能安装。参数顺序不能变。
/root/soft // 大考镜像
/mnt/cdrom/RedHat/RPMS // 实际工作中
# rpm -e caching-nameserver<Enter>
-e erase,删除。卸载包
# rpm -qa<Enter>
-a all,查询安装了哪些包
# rpm -ql caching-nameserver<Enter>
-l list,查询包中有哪些文件
# rpm –qf /etc/named.conf<Enter> // 查询文件来源套件
# rpm -qi caching-nameserver<Enter>
-i information,查询包的信息
# rpm -ivh caching-namesver --force<Enter>
--force 强制
########################################################################
Linux安装VMware工具
VMware中"VM"菜单/"Install VMware Tools..." // 自动更换光盘
# mount /mnt/cdrom<Enter> // 挂载光盘
# cp /mnt/cdrom/*.gz /tmp<Enter> // 拷贝文件
# cd /tmp<Enter> // 切换目录
# tar -xzvf *.gz<Enter> // 拆包解压
# cd vm<tab><Enter> // 切换目录
# ./vmware-install.pl<Enter> // 安装 <== # vi INSTALL<Enter>
<Enter>进行到底
########################################################################
网络相关文件
/etc/sysconfig/network 主机名
/etc/sysconfig/network-scripts/ifcfg-eth0 IP
/etc/resolv.conf DNS指向
/etc/hosts 静态对应
/etc/host.conf 解析顺序
# vi /etc/sysconfig/network<Enter>
NETWORKING=yes // 网络可用
HOSTNAME=linux.wnt.com // 主机名
# vi /etc/sysconfig/network-scripts/ifcfg-eth0<Enter> // 永久生效,重启生效
DEVICE=eth0 // 设备名
ONBOOT=yes // 启动时激活
BOOTPROTO=static // 启动协议(static、bootp、dhcp)
IPADDR=192.168.0.101 // IP 地址
NETMASK=255.255.255.0 // 掩码
GATEWAY=192.168.0.1 // 网关
# vi /etc/resolv.conf<Enter>
nameserver 202.96.69.38 // 首选DNS(大连)
nameserver 202.96.64.68 // 备用DNS(辽宁)
nameserver 202.96.75.68 // 备用DNS(辽宁)
# vi /etc/hosts<Enter>
127.0.0.1 localhost.localdomain localhost
192.168.0.101 adder adder.wnt.com ma
# vi /etc/host.conf<Enter>
order hosts,bind // 先hosts文件,后DNS
针对于linux当中配置,只有重新启动相关服务或用命令才可以立即生道效
主机名立即生效
# hostname linux.wnt.com<Enter>
# hostname<Enter> // 查看
如果前导符未变化,需注销生效
针对于linux IP
# ifconfig eth0 1.1.1.1 netmask 255.0.0.0<Enter> // 立即生效,重启失效
# service network restart<Enter> // 改完的配置文件立即和效
# ifdown eth0 && ifup eth0<Enter>
通过命令改IP
# netconfig<Enter> => # service network restart<Enter> // 永久生效
网络相关命令
# ifconfig<Enter> // 查看所有IP
# ifconfig eth1<Enter> // 查看指定IP
# ifconfig eth0 1.1.1.1 netmask 255.0.0.0<Enter>
# netstat -vat<Enter> // 查看tcp协议连接状态
# netstat -vau<Enter> // 查看udp协议连接状态
网络的启用和停用
# service network stop<Enter> // 停用所有网卡
# service network start<Enter> // 启用所有网卡
# service network restart<Enter> // 重新启用所有网卡
# service network status<Enter> // 查看服务状态
# ifdown eth0<Enter> // 停用指定的网卡
# ifup eth0<Enter> // 启用指定的网卡
# /etc/rc.d/init.d/network stop<Enter> // 停用所有网卡
# /etc/rc.d/init.d/netwrok start<Enter> // 启用所有网卡
# ./network stop<Enter> // 脚本执行需要加路径