Linux培训(第二期)
第二期的培训内容主要有linux系统的用户管理,文件目录操作
1,用户管理
1.1,添加用户
useradd [-d home_dir] [-G group] [-m 自动建立用户主目录] [-u uid] username
以上参数为useradd新建用户常用参数,当用户在添加用户时不使用任何参数,系统会使用默认值进行设定,使用useradd -D来查看添加用户的默认参数。
举例:useradd -d /home/tester -G tester -u 550 tester
或者useradd -m tester
1.2,修改用户信息
usermod [-d home_dir] [-G group] [-s shell][-u uid] username
举例:usermod -d /home/test -G tester -u 600 tester
修改用户tester的家目录为/home/test,组不变,uid为600
1.3,修改用户密码
passwd [-n 天数] [-w 天数] tester
-n 设定最短的密码有效期
-w 设定密码过期前,发出警报的提前天数
1.4,删除用户
userdel [-r] username
-r 删除用户主目录下的全部文档
举例:userdel -r tester
1.5,用户默认的配置文件
/etc/login.defs文件中存储的是用户的默认设置,useradd命令通过读取该文件来获得新账户的默认值。可以使用useradd -D 来查看系统默认设置。
1.6,有关用户信息的文件
/etc/passwd文件存储着用户的相关信息,包括用户名、密码、主目录位置等。根用户对该文件有读和写的权限,普通用户只有读权限。Linux2.0以上版本为了增强系统的安全性,采用了用户基本信息与密码分开存储的方法,密码已不存放在/etc/passwd文件中,而是转存到了同目录下的/etc/shadow文件中,其原来存放密码的位置用“x”标识。
/etc/shadow由于普通用户可以读取/etc/passwd文件,因此密码直接保存在该文件中是极不安全的,很可能会被别有用心的人获取并破译。目前的操作系统在密码保护方面大多采用了Shadow Passwords及MD5口令保护功能。Shadow Passwords技术,即影子密码,是将加密的口令放在了另一个文件/etc/shadow中,并且对/etc/shadow文件设置严格的权限,只有根用户可以读取该文件。
1.7,root用户
linux的管理员用户被称为根用户,该用户对系统拥有完全的控制权,可以对系统做任何的设置和更改。为了避免误操作尽量少用root用户。
*修改root密码
由于根用户的特殊性,修改根用户的密码也需格外慎重,可以使用passwd命令进行修改:
#passwd root
Changing password for user root
New password:
Retype new password:
passwd: all authentication tokens updated successfully
root密码的安全至关重要,密码的设置尽量不要基于单词,最好是字母、数字和符号的组合,否则很容易被暴力破解。
*普通用户切换为root
当用户以普通账号登录系统后,由于缺少管理权限无法对系统进行重新设置。利用su命令可临时切换为root身份:
$whoami //显示当前用户的用户名
teacher
$su //切换为根用户
Password:
#whoami //显示当前用户的用户名
root
2,组管理
2.1,添加组
在Linux系统中,每个账号都会属于一个用户组。账号的管理应以“组”为单位进行,即先把希望具有相同权限的用户分到同一个用户组,然后再对该用户组的权限进行指定,以此来对用户进行统一管理。
grouadd [-g GID [-o]] [-f] group
举例:groupadd -g 502 test
2.2,修改组属性
groupmod [-g GID [-o]] [-n new group name] group
groupmod命令会参照命令行上指定的选项对用户组属性进行修改。
2.3,删除组
在创建用户账号时,系统会自动创建该账号所属的用户组。但在删除用户账号时,用户组不会自
动删除。如果希望删除的用户组中仍有用户登录系统,则无法删除该用户组。必须等该用户组的
所有用户退出系统才能正常删除,例如:
举例:$whoami
tester
$groupdel tester
groupdel: cannot remove user’s primary group.
2.4,解析/etc/group文件
/etc/group存放的使用组的帐号信息,对用户组的添加,删除和修改实际上就是对该文件的操作。该文件的内容任何用户都可以读取,但只有root用户可以修改。
2.5,有关组的信息文件
/etc/gshadow用户组密码的保护机制与用户密码的保护机制一样采用了Shadow Password技术。加密后的用户组密码信息保存在了/etc/gshadow文件中。gshadow文件只有root用户可以读取,文件中每行定义一个用户组的信息,行中各字段用“:”分隔。
3,账户管理的常用命令
id命令 :用于显示用户当前的uid、gid和用户所属的组列表。
whoami命令:用于显示当前用户的名称。
groups命令 :用于显示指定用户所属的用户组。如果未指定用户则显示当前用户所属的组
finger命令 :用于查找并显示用户息。
who命令 :显示当前登录用户的用户名、登录终端、登录时间以及登录地址。
w命令 :用于显示当前登录的所有用户的信息。
write命令 :使用write命令,可以将信息实时传递给登录的用户或终端。
last命令:一段时间内登录的用户及登录的时间
lastlog命令:列出所有用户的登录情况
4,linux文件和目录管理
4.1,什么是文件系统
文件系统(File System)是操作系统用来存储和管理文件的方法。从系统角度来看,文件系统对文件存储空间进行组织、分配,并对文件的存储进行保护和检查。从用户角度来看,文件系统可以帮助用户建立文件,并对文件的读、写和删除操作提供保护和控制。
4.2,linux文件系统的主要结构
4.3,文件系统的类型
Linux是一种兼容性很高的操作系统,除了能够挂载各种类型的设备,还可以把其他各种文件系统挂载到Linux系统上。在文件/proc/filesystem文件中列出了系统当前可用的文件系统类型,其中不仅包括UNIX支持的各种文件系统类型,也包括Windows 9x/NT/2000/XP文件系统。
Swap用于交换分区,是系统虚拟内存的一部分,用于在当前内存不足时暂时保存数据。数据被交换到交换分区,当再次需要时调回内存。
Ext2,专门为linux设计的在redhat7.2之前使用。
Ext3,是ext2的升级版。
Ext4,redhat以后的主流文件系统
ms-dos windows和os/2使用该文件系统
vfat windows9x/2000/xp中使用
ntfs windows现在系统所用的文件系统
nfs网络文件系统
4.4,文件系统的组成
4.5,创建文件系统
在创建文件系统之前需要对磁盘空间进行分区,分区放在磁盘管理中来讲,假设系统中有一个空白的分区,需要在上面建一个文件系统也就是我们常说的格式化,命令如下:
mkfs [-t 文件系统类型]磁盘分区
例如:mkfs.ext3 /dev/sda1
5,linux文件操作
5.1,在Linux中文件的类型是通过文件权限的首位定义的,可以分为以下几类:
普通文件
目录文件
套接字文件
命名管道
设备文件
链接文件
5.2,文件和目录的权限
#ls -l /root/
drwxr-xr-x 2 root root 4096 2011-01-08 22:59 桌面
第一位表示文件类型 一个横杠表示一个普通的文件,d表示这是一个目录,l表示一个链接文件,b表示一个块设备文件(例如磁盘阵列),c表示字符形式的文件(流式操作的设备,例如键盘/打印机), t 表示管道文件,s表示socket接口文件,接下来每三位分别表示拥有者权限,拥有组权限,其他人权限。
r表示read=读=4
w表示write=写=2
x表示excute=执行=1
位 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
值 |
d/- |
r/- |
w/- |
x/- |
r/- |
w/- |
x/- |
r/- |
w/- |
x/- |
说明 |
文件类型 |
文件所有者 |
与文件所有者同组的用户 |
全部用户 |
5.3,对文件权限的修改
#chmod 600 文件名
#chmod u+rwx 文件名
以上两条命令执行的效果是一样的。第一个是通过数字来表示权限,第二个直接为文件添加权限。
5.4,文件和目录操作常用命令
touch:改变文件时间戳,如果文件不存在则创建文件
mkdir:创建目录
ls或dir:列出当前目录的内容
cd:改变当前目录
cp:复制目录和文件
rm:删除目录或文件
mv:移动文件或目录
find:查找文件
grep:在文件中搜索指定的字符串
chown:改变文件或目录的拥有者
chgrp:修改文件或目录所属的用户组
cat:把文件发送到标准输出设备
more:一次显示一屏
less:显示文件时允许用户向前或者是向后翻阅文件
head:查看文件的部分内容
sort:对文件中所有行进行排序
diff:比较两个文本文件,并显示他们的不同
cut:移出文件中的部分内容
locate:查找所有名称中包含指定字符串的文件
split:将一个文件拆分成几个文件
以上这些命令都是在文件或目录操作中经常用到的,具体参数在这里不列出,大家可以查资料多练习。
这一期需要重点掌握的有以下内容:
1,用户和组的添加,修改和删除
2,熟悉什么是文件系统,文件系统结构
3,比较一下各个文件系统的优缺点
4,理解权限的含义
5,文中涉及到的命令都是经常会用到的,希望大家多多练习