Linux 命令备忘录1

第一章、linux的介绍和安装

1.1  linux操作系统介绍

linux的创始人Linus torvalds。      linux与GNU和minix      linux与windows      linux与unix(POSIX标准)      linux的版本号      linux的优点

1.2  linux操作系统的安装

1.2.1 linux的常见发行版本

redhat:advanced standard 5 ; Enterprise standard 5 ;workstation standard fedora: fedora 10 Ubuntu:ubuntu 8.10 OpenSUSE:opensuse 11.0 redflag:redflag 7 asianux: asianux 3.0

1.2.2 linux的安装过程

1、两种安装模式,以及读取信息文件

2、在时间选项中强调UTC时间和GMT时间

3、root等同administrator

4、定制安装包组,以及简述包之间的依赖关系

5、安装完成之后的gnome和KDE界面

1.3  linux操作系统的简单应用

1.3.1 linux的文本模式介绍

[ [email protected] ~ ]

第一列root代表当前用户第二列localhost代表主机名第三列~代表当前所在的目录  ~家目录home目录

linux的命令可以补全 可以不全目录和文件名,如果不能补全双击tab键可以显示出要选择的命令

1.3.2 linux的登陆与登出

login   登入系统 logout  登出系统 exit    注销当前用户 clear   清屏命令

1.3.3 linux的关机

shutdown          关机命令 shutdown now      立即进入维护模式 halt

直接关机 shutdown -h now   立即关机 shutdown -r now   立即重新启动计算机 shutdown -h 20:00&   20:00 关闭计算机 shutdown -r 20:00&    20:00 重新启动计算机

shutdown -k 3 warning:system will shutdown!    只是发送消息给所以用户3分钟后进入维护模式 shutdown +3 "system will shutdown after 3 minutes!"    发送消息给所以用户3分钟后进入系统维

护模式

1.3.4 linux的Init进程

Init是Linux操作系统中不可缺少的程序之一。init进程是Linux内核引导运行的,是系统中的第一

个进程,其进程号(PID)永远为1。

#0    停机(千万不能把initdefault 设置为0)

#1    单用户模式

#2    多用户,没有 NFS(和级别3相似,会停止部分服务)

#3    完全多用户模式

#4    没有用到

#5    x11(Xwindow)

#6    重新启动(千万不要把initdefault 设置为6)

1.3.5 查看linux系统信息 hostname

显示主机名 hostname

eduask   修改主机名为eduask uname 显示系统及版本信息 -a   显示系统及版本的所有信息

-s   显示内核名称

-n   显示网络节点名称(完整的计算机名称)

-r   显示内核发行版本

-v   显示内核版本信息

-m   显示计算机类型

-o   显示操作系统的类型

--version  显示系统发行版本信息

--help     系统命令的帮助信息和参数含义

1.3.6 linux下查看用户信息

whoami    显示当前用户 who       当前系统所登陆的用户,以及所登录的控制台 w         当前系统所登陆的用户,以及所登录的控制台的详细信息

第二章、linux的常用命令

2.1.1改变目录 cd

目录的表达方法 /根目录

.当前目录

.. 上一级目录 ~家目录

#cd /     进入到系统根目录

#cd .     进入当前目录

#cd ..    进入当前目录的父目录,返回上层目录

#cd /tmp  进入指定目录/tmp

#cd ~     进入当前用户的家目录

#cd       进入当前用户的家目录 #cd -     回到刚才所在的目录

2.1.2 显示当前所在目录

pwd pwd       显示当前所在目录的路径

2.1.3 显示文件或目录的属性 ls (dir)

#dir       显示当前目录的内容(无颜色)

#ls        显示当前目录的内容(有颜色)

#ls /tmp   显示指定目录/tmp的内容

#ls -l     列出文件和文件夹的基本属性和详细信息

#ll        列出文件和文件夹的基本属性和详细信息

#ls -a     列出当前目录的全部内容,包括隐藏文件(在文件和文件夹前面加“.”隐藏)

#ls -l -a  列出当前目录的全部文件和文件夹的基本属性和详细信息

#ls -la    列出当前目录的全部文件和文件夹的基本属性和详细信息

#ll -a     列出当前目录的全部文件和文件夹的基本属性和详细信息

#ls -A     列出当前目录的全部内容,包括隐藏文件,不显示“.”和“..”

#ls --help 列出ls命令的帮助内容

#ls a2*    列出以a2开头的文件和文件夹

#ls -l a2* 列出以a2开头的文件和文件夹的基本属性和详细信息

文件和文件夹(蓝色代表目录, 白色代表文件,黄色代表设备文件,红色代表压缩文件,绿色代表可执行文件,浅蓝色代表链接文件)linux是以属性来控制文件是否能执行。

2.1.4 创建目录 mkdir

mkdir dir1           在当前目录下创建dir子目录 mkdir /tmp/dir2      在指定目录/tmp下创建dir2子目录 mkdir -p dir3/dir4   在当前目录下创建2级目录dir3和其子目录dir4 mkdir -p /dir5/dir6  在根目录下创建2级目录dir5和其子目录dir6 mkdir dir7 dir8 dir9 在当前目录下创建3个目录dir7 dir8 dir9,以空格隔开

2.1.5 创建空文本文件 touch

#touch file1       在当前目录下创建file1文件

#touch /tmp/file2  在指定目录/tmp下创建file2文件

2.1.6 复制文件命令 cp

#cp file2 /tmp             复制file2文件到/tmp目录下

#cp /tmp/file2 /home       复制/tmp/file2文件到/home目录下

#cp /home/file2 /tmp/file3 复制/home/file2到/tmp目录下并改名为file3

#cp -p /tmp/file3 /home    复制/tmp/file3到/home目录下并复制文件属性 #cp -r /dir5 /tmp          复制/dir5目录到/tmp下

2.1.7 移动文件或目录命令 mv

#mv file4 /tmp             移动file4文件到/tmp目录下

#mv /home/file3 /tmp       移动/home/file3文件到/tmp目录下

#mv /home/file3 /tmp/file5 移动/home/file3文件到/tmp目录下并改名为file5

#mv file3 file4            将file3改名为file4

#mv dir10 /tmp             移动目录到/tmp下

#mv dir10 dir11            讲dir10目录改名为dir11

2.1.8 删除文件命令 rm

#rm file1                  删除文件file1

#rm -f file1               不用确认直接删除file1

#rm -f file1 file2 file3   不用确认同时删除多个文件

#rm /tmp/file1             删除指定目录/tmp下的文件file1

#rm fi*                    删除以fi开头的文件

#rmdir                     删除空目录

#rm -r dir                 递归的方式删除非空目录dir

#rm -rf dir                不用确认直接删除非空目录dir

2.1.9 查看文件内容命令 cat

#cat /etc/passwd       查看/etc/passwd文件

#cat /etc/passwd |more 分屏查看文件内容

#cat /etc/passwd |less 分屏查看文件内容,可以上下翻页,“q”退出

2.1.10 查找文件命令  find

#find pass*              在当前目录下查找以pass开头的文件

#find /etc/pass*         在/etc目录中查找以pass开头的文件

#find /etc/pass* -print  在/etc目录中查找以pass开头的文件,并显示出来

2.1.11 在文件内容中查找关键字 grep

#grep “rpm” /etc/passwd  在/etc/passwd文件中查找关键字rpm

2.2 vi文本编辑器

2.2.1 vi的两种模式

1、命令模式 vi的默认进入状态(不可以输入字符,但可以对字符进行操作,复制,移动、删除等操作) 2、输入模式 输入字符状态(只可以输入和使用del和退格backspace键删除文字)

2.2.2 vi的启动和退出

#vi file         编辑file文件

#vi /tmp/file1   编辑指定目录/tem下的file1文件

:w    保存修改

:q    退出vi

:wq   保存并退出

:q!   强行退出vi,不保存修改

2.2.3 vi命令模式下的操作

:set nu    设置行号

:set nonu  取消设置行号

删除字符

x键或del键

7x     删掉光标后面的7个字符 dw     删除一个词(剪切)

dd     删除行(剪切)

4dd    删除4行(剪切)

复制操作

yw     复制一个词

yy     复制光标所在的行

4yy    复制光标所在行的下面4行

粘贴操作

p      粘贴在光标所在的下一行(如果粘贴词的话,粘贴在光标字符的后面)

撤销操作

u      撤销,可以撤销到最近的一次保存的状态:e!   恢复到文档的初始状态

光标快速定位

G      光标到达行末

7G     快速找到第7行

/adm   简单搜索,快速定位光标到光标后的第一个adm单词的位置,当到行末没有的话,返回从头开始查找(类似于word的查找)

技巧让行号永久生效

进入该用户的家目录,在目录下创建1个文件,“.vimrc”

内容 : set nu

替换内容

:7,12 s/:/?      把第7-12行中每一行的第一个:改成?          :7,12 s/:/?/g    把第7-12行中的:全部改成?

2.2.4 进入和退出输入模式

i      在光标之前输入文字

ESC    退出

a      在光标之后输入文字 A      在行尾插入文字 o      光标下面插入1行空行 O      在光标上面插入1行空行

第三章 linux的文件系统

3.1 文件系统

文件系统(file system)是指数据在计算机的硬盘中存放的格式,针对不同的操作系统,文件存储格式和存取的方式各不相同,所以文件系统也不尽相同。

3.1.1 windows的文件系统

1、FAT16 file allocation table 文件分配表

2、FAT32

3、NTFS  new technology file system 新技术文件系统

3.2 linux文件系统介绍

1、Ext2        标准的linux文件系统

2、Ext3        Ext2的升级版,增加日志功能,并有根据日志中断重整功能。

3、linux swap  linux的交换分区

4、VFAT        长文件名系统,与windows共同支持的文件系统。其他支持的:fat、ISO9660、cramfs

3.3 linux下的目录和文件类型

在查看文件的基本属性的时候,每一行的第一位,也就是权限位之前的那一位表示文件的类型:

- 代表普通文件 d 代表目录文件 l 代表链接文件 p 代表管道文件以及其他的s、b、c等特殊文件

文件的扩展名(后缀)

文件的后缀名主要是方便用户和系统识别,例如:“.jpg”“.mp3”用户看到可以知道.jpg是图片文件,

而.mp3是音频文件;系统读取的时候可以用来识别与哪些程序关联。以方便双击打开。对系统内部来说,扩展名没有太大的意义。

3.4 linux文件系统和windows文件系统的对比

LINUX:存储设备在文件系统层次结构中,以目录表示;用正斜杠/分割目录;文件名不需要后缀;每个文件/目录都有与之相关的权限和所有权

WINDOWS:驱动器以字母表示;用反斜杠\分割目录;文件名的后缀有特殊含义;安全特性各不相同

3.5 linux系统下的默认目录

/bin

/boot

/dev

/etc

/home

/media

/root

/sbin

/tmp

/usr

/var

3.6 linux的目录与文件的权限

3.6.1权限的类型 r

读权限     数值表示4 w    写权限     数值表示2 x    执行权限   数值表示1 1代表执行,2代表写,3代表1+2,4代表读,5代表1+4,6代表2+4,7代表1+2+4

3.6.2 三组、九位权限位

u    属主      前三位       文件的主人(文件的所有者) g    属组      中间三位     文件主人所在的组(文件所有者所在的组) o    其他用户  后三位       除了u和g以外的用户

3.6.3 更改目录、文件的权限值

chmod  命令

1、数值表示法  chmod  数值  文件名/目录名

chmod 766 dir1   将目录dir1的权限更改为4+2+1 4+2 4+2 chmod 777 file1  将文件file1的权限更改为 4+2+1 4+2+1 4+2+1

2、字母描述法  chmod?? 属主(或属组或其他人或所有的)=(或者+或者-)权限 文件名/目录名

chmod u=r file1  给文件的属组赋予读取权限 chmod u=wx file1 给文件的属组赋予写和执行权限 chmod g+rw file1 给文件的属组增加读写权限 chmod g-rw file1 给文件的属组去掉读写权限 chmod o=rw file1 给文件的其他用户的权限改为读写 chmod a+rwx file1 给所有用户增加读写和执行权限

3.6.4 系统的umask值

umask值可以计算,当创建目录或文件时系统默认分配的权限。创建文件的默认权限是666减掉权限

位数值,目录的默认权限是777减掉权限位的数值。

[ [email protected] ~]umask

0022

查看系统默认的umask值为0022,第一位0代表粘贴位,第2-4位代表权限位这样系统默认创建文件的权限为666-022为644为属主读写,属组读,其他读系统默认创建文件夹的权限位777-022为属主读写执行,属组读执行,其他读执行

3.6.5

粘贴位:(sticky)当一个目录被设置为"粘着位"(用chmod a+t),则每个用户可以以完整的权限来使用

和执行文件或目录,但是该目录下的文件只能由:一、超级管理员删除二、该目录的所有者删除三、该文件的所有者删除

setUID 用户特殊权限位

当设置用户特殊权限位时,用户在执行这个文件时便拥有是属主的权限,便可以使用属主用户所能使用的所有系统资源。

setGID 组的特殊权限位

当设置组的特殊权限位的时候,用户在执行这个文件时便拥有文件属组的权限,便可以使用文件属组所能使用的系统资源。用户在无特殊要求时,一般情况下,出于安全考虑,不要开启这些权限。

Suid对应数值为4  Sgid对应数值为2 t对应数值为1

特殊权限位在设置过程中占用x权限位,如果同时开启x权限,则用小写来表示,如果关闭x权限则用大写来表示。设置举例:

chmod 1666 dir1

drw-rw-rwT root root 4096 dec 17 19:05  dir 1

更改dir1的权限,增加粘贴位权限,属主为读写,属组为读写,其他用户为读写 chmod 2666 dir1

drw-rwSrw- root root 4096 dec 17 19:05  dir 1

更改dir1的权限,增加组位特殊权限,属主为读写,属组为读写,其他用户为读写

chmod 7777 dir1

drwsrwsrwt root root 4096 dec 17 19:05  dir 1

更改dir1的权限,增加粘贴位权限,用户和组位特殊权限,属主为读写执行,属组为读写执行,其他用户为读写执行

3.6.6

更改目录或是文件的属主或属组必须由文件或目录的属主或超级用户才能修改!!! chown 命令更改目录或文件的属主和属组

chown u1 dir1      将当前目录下的dir1目录的属主改为u1 chown u2.g1 dir1   将当前目录下的dir2目录的属主改为u2属组改为g1

-R   递归式改变指定目录及目录下所有文件和子目录

-v   显示chown命令所做的工作

可以以空格分开,同时更改多个目录或文件,并且支持通配符来修改多个文件或目录,支持用户和组的 ID来修改

chgrp 命令更改目录或文件所属的组

chgrp g1 dir2  将dir2的属组更改为g2

以空格分开,同时更改多个目录,并且支持通配符来修改多个目录和文件,支持用户和组的ID来修改

-R   递归式改变指定目录及目录下所有文件和子目录

第四章.linux的硬件管理

4.1.1 计算机的硬件管理

在linux下,计算机所有设备是以文件的形势存在的。

在linux下查看硬件信息

1、lspci 列出所有的PCI设备

2、fdisk -l 查看存储设备信息

3、查看/proc目录下相应的文件来查看一些设备信息

cat /proc/cpuinfo  查看CPU的信息

4.1.2 kudzu 配置硬件

kudzu 命令相当于windows的检查新硬件。

4.2 磁盘管理

4.2.1 在linux下的硬盘的编号和分区的编号

1、IDE硬盘,在linux下以hd加编号组成,由于计算机通常1个IDE通道可以连接2块硬盘,所以在 linux的编号如下:第一通道上的第一块为 hda 第一通道上的第二块为 hdb 第二通道上的第一块为 hdc 第二通道上的第二块为 hdd 其他的依次类推,常见pc机上的IDE通道为2个

2、sata硬盘和scsi硬盘在linux下以sd加编号组成,1个scsi通道可以连接15块硬盘(其中1个连接

SCSI卡)

第一通道上的第一块为 sda 第一通道上的第二块为 sab

其他依次类推,sata硬盘常应用于PC机,类似与IDE

3、分区编号

在硬盘编号后面加上数字编号来表示第几块硬盘上的第几个分区

1—4为主分区(扩展分区的编号) 5以后为逻辑磁盘的编号

4.2.2

fdisk 磁盘管理命令 fdisk -l 显示磁盘分区信息

对新硬盘进行分区

fdisk /dev/sdb    对第二块scsi硬盘进行分区操作(在命令后加硬盘设备文件的名称)如果fdisk命令不能工作可以给fdisk命令加上完整路径来执行/sbin/fdisk

fdisk实用工具中的命令:

a   设置和清除引导标志(相比与windows的设置为活动的分区)

d   删除分区 n   创建分区 p   显示当前分区表 q   不保存退出fdisk实用程序 w   保存并退出fdisk实用程序

4.2.3 磁盘分区的格式化

mkfs命令对磁盘进行文件系统的格式化

mkfs -t ext2 /dev/sdb1 将第二块scsi硬盘的第一个分区格式化为ext2文件系统 mkfs.ext3  /dev/sdb1   将第二块scsi硬盘的第一个分区格式化为ext3文件系统 mkfs.vfat  /dev/sdb2   将第二块scsi硬盘的第二个分区格式化为vfat文件系统

4.2.4 磁盘分区的挂载

mount命令挂载磁盘分区文件系统

mount -t ext3 /dev/sdb1 /media/test 将ext3文件系统的第二块scsi的第一个分区挂载到/media/test目录下 mount  /dev/sdb2 /media/dir  将第二块scsi的第二个分区挂载到/media/dir目录下

-t 参数指定文件系统类型

umount 卸载命令

umount /media/test 将挂载在/media/test目录下的文件系统卸载

df命令查看磁盘(挂载)信息命令 df 不加任何参数,显示磁盘使用情况 * -i  显示文件系统的使用情况, 不是磁盘的使用情况

-h  以用户识别的方式显示磁盘信息,以1K=1024计算

-H  同-h,但是计算单位以1K=1000

-l  只显示本地文件系统

-t  加文件系统类型,只显示指定文件系统类型

-x  加文件系统类型,只显示指定文件类型意外的系统类型

4.2.4.1自动挂载和按需挂载

1、开机自动挂载

vi /etc/fstab 文件

增加一行

/dev/sda1      /mnt/data     ext3       defaults  0 0

要挂载的设备    挂载的目录    文件系统   操作模式 reboot  重启查看效果。

2、按需挂载

编辑2个文件/etc/auto.master(起控制作用)和/etc/auto.misc(指定挂载的虚拟目录和要挂载的设备) vi /etc/auto.master

增加一行

/media/jake      /etc/auto.misc    --timeout=10

要挂载的真实目录                  10分钟无动作自动卸载

vi /etc/auto.misc

增加一行

rose             -fstype=ext3        :/dev/sda1

挂载的虚拟目录  挂载的文件系统类型     要挂载的设备

service autofs restart   重启挂载服务

4.2.5 swap交换分区的调整

free 显示内存信息命令,包含物理内存,交换分区和内核缓冲区文件。

-m  以M为单位显示内存信息

1、使用虚拟设备生成空文件(将交换分区增加100M)

dd   if=/dev/zero  of=/tmp/swp1(要创建的交换分区目录) bs=10M(每个区块的大小) count=10(区块数量)

2、生成交换分区文件

mkswap /tmp/swp1

3、激活交换分区

swapon /tmp/swp1

4、使交换分区永久生效,修改配置文件

vi /etc/rc.local  最后添加一行 swapon /tmp/swp1

4.2.6  创建RAID磁盘阵列

mdadm 命令

mdadm  -C   /dev/md0     -l5      -n3     /dev/sdb1 /dev/sdb2 /dev/sdb3

RAID设备名  RAID级别  分区数量   分区设备名称

more /proc/mdstat  查看RAID状态 mkfs.ext3 /dev/md0 格式化

mount /dev/md0 /media/raid  挂载到/media/raid目录 mdadm /dev/md0 -f /dev/sdb1(损坏的设备名称) 标记损坏设备 mdadm /dev/md0 -a /dev/sdc1(新设备名称)     添加新设备 mdadm /dev/md0 -r /dev/sdb1(损坏的设备名称) 移除损坏的设备

4.2.7  挂载使用光驱

mount /dev/cdrom /media/cd(挂载目录)

制作ISO文件

dd if=/dev/cdrom of=/tmp/rsing.iso(iso文件名称和存放的位置)

直接使用ISO文件

mount -o loop /tmp/rsing.iso(iso文件名称和存放的位置) /media/iso(挂载的目录)

第五章.linux下的用户和组的管理

5.1  linux系统下用户角色

在linux系统下用户的角色不同,权限和所能完成的任务也不同,用户角色是通过UID来识别的,

注意:在linux下要注意root用户的UID的唯一性。

1、Root

系统管理员超级用户,系统唯一,可以登陆系统,可以操作任何文件和命令,拥有最高权限,UID值为0 2、虚拟用户

与真实的用户分开来,这类用户不能登陆系统,但是在使用某些服务的时候使用,这类用户是系统默认添加的。 3、普通真实用户

这类用户可以登陆系统,但是只能操作自己家目录的内容,受限账户,这类用户都是管理员自行添加的。

5.1.2 用户相关文件介绍

在windows当中可以使用计算机管理工具中的用户和组的管理工具来对用户进行管理,在linux下是

通过对用户配置文件(区别与windows中的用户配置文件)的管理来实现对用户和组的管理

1、/etc/passwd       用户账号文件,记录所有用户记录每行表示一个用户信息,7个字段都有各自的含义

root :   x  :   0   :     0     :      root    :     /root    :  /bin/bash

用户名  密码  UserID    GroupID    用户相关说明  用户家目录路径  用户的登陆shell

2、/etc/shadow       用户账户的影子文件,包含用户的加密密码和其他信息,两个文件互补来记录用户

信息,这个文件只有root可以读取和操作每行包含8个字段,各项说明如下:第1个字段 用户名第2个字段 加密口令

第3个字段 上次口令改变时间,从1970年1月1日算起的天数第4个字段 多少天内不能改变口令第5个字段 多少天内必须改变口令第6个字段 口令到期前多少天会出现警告第7个字段 如果口令到期后几天不使用账号,则无法登陆

第8个字段 如果到这个日期不用账号则无法登陆,可以以YYYY-MM-DD格式,也可以用1970年1月1日起的天数

3、/etc/login.defs

打开这个文件对文件内容进行解释,如果修改,修改哪些位置有哪些作用。

MAIL_DIR         邮件存放目录

PASS_MAX_DAYS    密码有效期最长时间

PASS_MIN_DAYS    密码有效期最短时间

PASS_MIN_LEN     密码最小长度

PASS_WARN_AGE    密码到期提示时间

UID_MIN          UID最小值

UID_MAX          UID最大值

GID_MIN          GID最小值

GID_MAX          GID最大值

CREATE_HOME      是否创建家目录

UMASK            UMASK值

USERGROUPS_ENAB  当删除用户后,同名组中不在存在用户的时候,是否删除该组

4、/etc/skel

存放用户启动文件的目录,类似与windows的用户配置文件目录,为用户提供用户环境,该目录下的文件全部为隐藏文件。在添加用户时会从该目录下复制文件到用户的家目录下,相当与统一的登陆模板。

开启和关闭投影密码命令

开启用户的投影密码,使得密码得到更好的保护,不容易被别的用户得到。     该选项是一个安全选项,执行命令可以把用户名和密码分别存放在两个文件当中,影子文件就是密码文件。

pwconv    开启投影密码命令 pwunconv  关闭投影密码命令

5.1.2  用户管理

1、useradd 创建用户命令

useradd jake  创建名为jake的用户

-d 指定用户的家目录

-g 指定用户组

-G 指定用户的附加组

-u 指定用户的UID值 -p 创建密码

useradd  -d /rose -g group -G root -u 505 rose 创建rose用户,指定家目录在/rose下,加入到 group组,同时附加到root组,并设置UID号为505 users   查看所有登陆的用户(who) 2、tail  命令查看指定文件的末行

tail -n 3 /etc/passwd  查看passwd文件的最后三行 tail -1 /etc/passwd    查看passwd文件的最后一行

3、passwd  设置密码命令

注意:没有设置密码的用户不能使用

passwd rose  给用户rose设置密码

-d 删除密码

-f 强制执行下次登陆时更改密码

-l停止账号使用

-u启用已经停止的账号

-S显示密码信息

4、userdel  删除账号命令

userdel rose   删除rose账号

userdel -r rose 删除用户登陆目录及目录下的文件(类似于windows的删除用户选择是否删除用户的文档)

5、usermod  修改账号命令

usermod -l newname oldname

-d -g -G -u 等参数与useradd命令参数使用方法一样

usermod -d /home/rose -g group0 -G group1 -u 600 rose

将rose用户的家目录,主组和附加组以及UID值更改

用户的锁定与解锁

usermod -L rose 锁定rose用户 usermod -U rose 解除rose用户的锁定

6、gpasswd用户添加到其他组的命令注意:只有root和组管理员能够改变组成员

gpasswd -a u1 g1  将u1加入到g1组 gpasswd -d u1 g1  将u1退出g1组

gpasswd -A u1 g1  将g1组的管理员指派给u1

7、id查看ID信息命令 id rose 查看rose用户的ID信息

5.1.3 root单用户

如果希望计算机除了root账号外其他账号不能登陆,在/etc目录中执行touch nologin,创建1个名称为nologin的文件。如果系统只有一个人使用,可以考虑修改/etc/inittab文件,将默认启动值改为

2。

5.2 组的管理

5.2.1 组相关文件介绍

1、/etc/group

用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去,

/etc/group 内容具体分析

/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户

组一条记录;格式如下: group_name:passwd:GID:user_list

在/etc/group 中的每条记录分四个字段: 第1字段:用户组名称; 第2字段:用户组密码; 第3字段:GID

第4字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

root    :     x     :     0    :root,rose

root组    x是密码段   GID是0  root用户组下包括root、rose以及GID为0的其它用户(可以通过 / etc/passwd查看)

2、/etc/gshadow

/etc/gshadow是/etc/group的密码文件,用户组(Group)管理密码就是存放在这个文件 。

/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码;

/etc/gshadow 格式如下,每个用户组独占一行; groupname:password:admin,admin,...:member,member,...

第1字段:用户组

第2字段:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;第3字段:用户组管理者,这个字段也可为空,如果有多个用户组管理者,用,号分割;第4字段:组成员,如果有多个成员,用,号分割;

jake:!::rose rose:oUS/q7NH75RhQ:: rose

第一字段:这个例子中,有两个用户组jake用rose 第二字段:用户组的密码,jake用户组无密码;rose用户组有已经,已经加密;

第三字段:用户组管理者,两者都为空;

第四字段:jake用户组所拥有的成员是rose,rose用户组有成员rose

5.2.2  组的管理

1、groupadd  添加用户组

-g 指定GID

-o 一般和g选项同时使用,可以与已有组的GID相同

groupadd -go 501 g1  创建组g1其GID可以与已有的组重复

2、gpasswd设置用户组的密码    一般的情况下,没有必要设置用户组的密码;

gpasswd rose   修改rose 组的密码 3、groupdel删除用户组

groupdel g1 删除g1组(没有用户的空组)

4、groupmod 修改组属性

-g 指定新的GID

-o 与-g配合使用同groupadd的- o

-n 修改组名

groupmod -g 601 g1修改g1的GID为601 groupmod -n g11 g1 将g1组改名为g11 5、newgrp  切换用户组 newgrp root 切换到root组

5.3  普通用户权限提升

1、su 切换用户命令 su 直接默认切换到root用户 su -  root  更改环境变量为root用户的 su -m root  保留环境变量不变

su -c “/usr/sbin/useradd u1” root 以root的身份执行useradd命令,-c代表执行一个命令后就结

束。其中命令需要输入命令文件的绝对路径。

2、sudo 命令

由于su 对转换到root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。假如用su 来转换到root来管理系统,也不能明确哪些工作是由哪个管理员进行的操作。特别是对于服务器的管理有多人参和管理时,最好是针对每个管理员的技术特长和管理范围,并且有针对性的下放给权限,并且约定其使用哪些工具来完成和其相关的工作,这时我们就有必要用到 sudo。    通过sudo,我们能把某些root有针对性的下放,并且无需普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,所以sudo 也能被称为受限制的su ;另外sudo 是需要授

权许可的,所以也被称为授权许可的su;

sudo 执行命令的流程是当前用户转换到root(或其他指定转换到的用户),然后以root(或其他指定的转换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文档/etc/sudoers来进行授权;    visudo来增加一行

u1  ALL=(root) NOPASSWD:/bin/cat  u1用户可以转换到root下不需要输入密码执行/bin/cat命令

u1  ALL=(root)/bin/cat,/user/bin/passwd,!/user/bin/passwd root

u1 用户可以转换到root下需要输入密码执行/bin/cat,/user/bin/passwd,但不能执

行/user/bin/passwd root来修改用户密码。

执行sudo命令

sudo -l   列出用户在主机上可用的和被禁止的命令

sudo 命令(命令为绝对路径)来执行命令

sudo /bin/cat /etc/shadow

5.4 磁盘配额

windows不能对组进行配额设置,而linux可以对组进行配额限制。

1、vi /etc/fstab文件

将要设置配额的分区设置开机自动挂载在添加行在defaults后面加上,usrquota(grpquota)表示要建立用户或组的磁盘配额 2、重新挂载文件系统

之前重启看效果,可以使用umount -a 卸载所有文件挂载,然后使用mount -a挂载所有文件系统

3、在挂载目录下创建aquota.user文件在挂载目录下执行touch aquota.user

通常要对该文件配置权限,防止用户随便访问。

4、进行配额检查

执行quotacheck -avu(g)(g是启用组配额)

5、设置用户磁盘配额

执行edquota  -u  rose

默认使用vi编辑rose用户的配额文件

filesystem   blocks     soft    hard     inodes    soft    hard /dev/sdb1     4          0       0         1        0        0

4个数据块和1个inodes

软极限和硬极限讲解(结合windows中的配额提醒来讲)

如果设置宽限时间,可以让用户在规定的时间内可以超过软极限,但必须在硬极限之内。

6、设置宽限时间

edquota -t  编辑时间。

7、启用配额

quotaon /qt(配额目录)

8、进行配额测试

创建文件,占用磁盘空间,然后超过软极限,看提醒,然后再超过硬极限,看效果

如果要对其他用户设置相同的配额,可以复制配额

edquota -up rose u1 u2 u3

如果要使配额每次启动生效,可以将配额检查和激活命令放在默认/etc/rc.d/rc.sysinit启动脚本中。第六章.linux下软件的安装与管理

时间: 2024-11-29 03:25:37

Linux 命令备忘录1的相关文章

Linux 命令备忘录2

第八章 NFS服务器 8.1.1 NFS服务器介绍 NFS network file system 网络文件服务器 最初由SUN公司发展起来,一种简单的文件服务器,NFS允许一个系统在网络上与他人共享目录和文件. 8.1.2 配置NFS服务器 1.NFS的配置相关文件 /etc/exports NFS服务的管理 service nfs start(stop,restart) 检查NFS服务是否开机启动 chkconfig - - list nfs 检查NFS包是否安装 rpm -qa |grep

常用Linux命令 备忘录

1. 删除0字节文件: find -type f -size 0 -exec rm -rf {} \;                //在exec中,{}表示find到的文件,\;表示结束 2. 查看进程 按内存从大到小排列:ps -e  -o "%C  : %p : %z : %a"|sort -k5 -nr 按cpu利用率从大到小排列:ps -e  -o "%C  : %p : %z : %a"|sort  -nr 3. 检查SCSI硬盘Cache是否打开:

Linux 命令备忘录(CentOS 7)

创建目录testdir: mkdir  testdir 进入目录testdir:cd testdir 在testdir中创建空文件 1:   touch 1 在testdir中创建空文件 2:   touch 2 删除文件2:rm 2 删除空目录:rmdir dirname 删除非空目录:rm -rf dirname 复制文件:cp 1 2(把文件1复制到文件2) 文件移动:mv 1 dir(把文件1移动到目录dir下面) 目录移动:mv dir dir1(把文件夹dir移动到dir1下面) 回

Cheat——Linux命令行终极备忘录

当你不确定你所运行的命令,尤其是那些使用了许多选项的复杂命令时,你会怎么做?在这种情况下,我们使用man pages来获取帮助.还有一些其它的选择可能包括像'help','whereis'和'whatis'这样的命令.但是所有的这些既有优点,也有缺点. 当我们浏览man pages来查看选项和帮助的时候,里面的描述实在太冗长了,我们无法在短的时间里理解它的意思. Linux Man Pages 同样,'help'命令可能也不会给你期待的答案. Help Command 'whereis'命令几乎

linux常用命令大全(linux基础命令+命令备忘录+面试复习)

作者:蓝藻 时间:2018.7.3 前言 本文特点 授之以渔:了解命令学习方法.用途:不再死记硬背,拒绝漫无目的: 准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴: 实用性高:命令多为实际工作中用到的,实例讲解,拒绝纯理论: 条理清晰:分类归纳,快速找到想要的命令,拒绝天马行空: 总结性强:只列常用语法,易错情况强调,拒绝照搬照套. 学前须知 适用人群:开发.测试.运维 文档用途:linux命令学习.命令备忘录.面试复习 学习途径:书籍(鸟哥的Linux私房菜).视频:慕课网等

[转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 我之前想总结 一直懒 这次国庆加班 也本来计划来着 感冒了 作罢 .. 作者:蓝藻(罗蓝国度) 创建时间:2018.7.3编辑时间:2019.7.16 前言 本文特点 授之以渔:了解命令学习方法.用途:不再死记硬背,拒绝漫无目的: 准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴: 实用性高:命令多为实际工作中用到的,实例讲解,拒绝纯理论: 条理清晰:分类归纳,快速找到想要的命

linux命令合集

Linux命令集合 名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) 参数: -n 或 --number 由 1 开始对所有输出的行数编号 -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v

cheat命令 == Linux命令小抄大全

1.安装cheat 首先,需要安装python.python-pip(这是cheat命令所依赖的)注:Linux默认已经安装Python [[email protected] ~]# yum -y install python [[email protected] ~]# yum -y install wget [[email protected] ~]# wget https://bootstrap.pypa.io/get-pip.py [[email protected] ~]# pytho

linux命令格式,获取帮助及其目录结构简要理解

我们都知道,一台计算机要是没通电,和一堆废铁没什么区别.那么,通电开机进入系统后,会进入交互界面,等待用户操作,人与计算机交互界面有两种: GUI:图形用户接口.如我们平时使用的Windows  ,linux的X window,有KDE和GOME. CLI:命令行接口,使用的SHELL类型有bash ,csh,tcshell,zshell等. 例如:[[email protected] ~]# commandbin root:当前登录的用户名. dxlcentOS:当前主机的主机名.@是一个分隔