Linux基础(二)
一、用户、群组和权限
1. 用户及passwd文件
1) /etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database)。
2) /etc/passwd文件每个字段的具体含义:
a) 第1个字段(列)记录的是这个用户的名字(在创建用户时root用户起的)。
b) 第2个字段(列)如果是x,表示该用户登录Linux系统时必须使用密码;如果为空,则该用户在登录时无须提供密码。
c) 第3个字段(列)记录的是这个用户的uid。
d) 第4个字段(列)记录的是这个用户所属群组的gid。
e) 第5个字段(列)记录的是有关这个用户的注释信息(如全名或通信地址)。
f) 第6个字段(列)记录的是这个用户的家目录的路径。
g) 第7个字段(列)记录的是这个用户登录后,第一个要执行的进程。
2. shadow文件
1) /etc/shadow文件的功能:存储所有用户的密码,每一个用户占用一行记录,该文件实际上就是存放用户密码的数据库(Database)。
2) /etc/shadow文件每个字段的具体含义:
a) 第1个字段(列)是用户名。
b) 第2个字段(列)是密码,这个密码是经过MD5加密算法加密过的密码。
3. 群组及group文件
1) /etc/group文件的功能:存放了Linux系统中所有群组的信息,它实际上就是一个存放群组信息的数据库(Database)。
2) /etc/group文件每个字段的具体含义:
a) 第1个字段是这个群组的名字。
b) 第2个字段中的x表示这个群组在登录Linux系统时必须使用密码。
c) 第3个字段记录的是这个群组的gid。
d) 第4个字段记录的是这个群组里还有哪些群组成员。
4. 怎样在Linux系统中添加一个新的用户账户
1) useradd命令的功能:新增一个用户。
2) useradd命令的常用选项:
a) –u:指定用户的UID
b) –g:指定用户所属的群组
c) –d:指定用户的家目录
d) –c:指定用户的备注信息
e) –s:指定用户所用的shell
3) useradd命令的举例:
a) 例如:在系统中新增一个fox(狐狸)用户的命令:useradd fox
b) 例如:在系统中新增一个用户user01,属组为police以及uid为600的命令:
useradd –u 600 –g police user01
5. 使用usermod命令修改用户账户
1) usermod命令的功能:修改用户的账户信息。
2) usermod命令的常用选项:
a) –u:修改用户的UID
b) –g:修改用户的GID
c) –G:将一个用户加入到指定的群组中
d) –d:修改用户的家目录
e) –c:修改用户的备注信息
f) –s:修改用户所用的shell
3) 应用usermod命令的举例:
a) 修改babydog4用户的家目录为/home/babies的命令:
usermod –d /home/babies babydog4
b) 将babydog4这个用户添加到babydog6这个群组中的命令:
usermod –G babydog6 babydog4
c) 将babydog4这个用户的的gid变更为dog群组的命令:
usermod –g dog babydog4
6. 使用usermod命令锁住用户及将用户解锁
1) usermod –L命户令的功能:将用户的账号锁住
2) usermod –L命户令的用法举例:
例如:将babydog6用户的账号锁住的命令:usermod –L babydog6
3) usermod –U命户令的功能:将用户的账号解锁
4) usermod –U命户令的用法举例:
例如:将babydog6用户的账号解锁的命令:usermod –U babydog6
7. 使用userdel命令删除用户账号
1) userdel命令的功能:删除用户。
2) userdel命令的常用选项:
a) –r:在删除用户的同时删除这个用户的家目录及其邮箱。
3) 应用userdel命令删除用户的举例:
a) 例如:删除babydog5用户不删除其家目录的命令:
userdel babydog5
b) 例如:删除babydog5用户,同时删除其家目录的命令:
userdel –r babydog5
8. 群组的管理
1) groupadd命令的功能:创建一个新的群组账号。
2) groupadd命令的常用选项:
c) –g:指定群组的GID
3) 应用groupadd命令的举例:
例如:在系统中新增加一个名为boydogs的群组的命令:
groupadd boydogs
4) groupmod命令的功能:修改一个群组账号的信息。
5) groupmod命令的常用选项:
a) –g:修改群组的GID
b) –n:修改群组的名称
6) 应用groupmod命令的举例:
a) 例如:修改police群组的gid为521的命令:
groupmod –g 521 police
b) 例如:将群组boydogs改名为daddogs的命令:
groupmod –n daddogs boydogs
7) groupdel命令的功能:删除一个群组账号。
8) 应用groupdel命令的举例:
例如:删除daddogs群组的命令:groupdel daddogs
二、用户、群组及权限的深入讨论
1. 怎样查看文件的权限
1) 使用ls –l命令查看文件上所设定的权限。
2) ls –l命令的显示结果中的第一列分成4组,其中;
a) 第1个字符为第1组,代表这是一个文件(-)或是一个目录(d),也可以是其他资源。
b) 第2、3、4个字符为第2组,定义了文件或目录的所有者(owner)所具有限的权,使用u代表所有者(owner)对文件的所有权限。
c) 第5、6、7个字符为第3组,定义了文件或目录的所有者所在的群组中其他(用户)所具有的权限,使用g代表这一组(group)权限。
d) 第8、9、10个字符为第4组,定义了既不是owner也不和owner在同一群组的其他用户对文件或目录所具有的权限。使用o代表这一组(other)权限。
3) ls –l命令的显示结果中的第三列、第四列为文件的属主和属组。
2. root用户及文件的安全控制
1) root用户的定义:root用户也称为超级用户,它可以完全不受限制地访问任何用户的账户和所有文件及目录。
2) Linux系统中用户分类:
Linux系统是将系统中的所有用户分成了3类:
a) 第1类:所有者
b) 第2类:同组用户(修正:所属组,因为你创建一个用户的过程会以为这个用户名为名字创建一个同名的组)
c) 第3类:非同组的其他用户
3) 文件操作权限包括读(read)、写(write)和执行(execute)
4) Linux操作系统在显示权限时,使用如下4个字符来表示文件操作权限:
a) r:表示read权限,也就是可以阅读文件或者ls命令列出目录内容的权限。
b) w:表示write权限,也就是可以编辑文件或者在一个目录中创建和删除文件的权限。
c) x:表示execute权限,也就是可以执行程序或者使用cd命令切换到这个目录以及使用带有-l选项的ls命令列出这个目录中详细内容的权限等。
d) -:表示没有相应的权限(与所在位置的r、w或x相对应)。
3.使用chown修改文件的属主
chown 属主:属组 文件
chown :属组 文件
chown 属主 文件
a) 例如,修改文件file1的属主为root的命令为:chown root file1
4. 使用chgrp修改文件的属组
chgrp 属组 文件
a) 例如,修改文件file1的属组为wg的命令为:chgrp wg file1
5. 使用符号法设定文件或目录上的权限
1) chmod命令的功能:设定或更改文件或目录上的权限。
2) -R选项:不但设置(或更改)该目录权限,而且还要递归地设置(或)更改该目录中所有文件或子目录的权限。
3) 符号表示法的定义:
符号表示法是使用几个特定的符号来设定权限的状态。
4)权限状态可以分为3个部分:
a) 第1个部分,表示要设定或更改谁的权限状态。其中的具体表示如下:
u:表示所有者(owner)的权限。
g:表示群组(group)的权限。
o:表示既不是owner也不与owner在同一个group的其他用户(other)的权限。
a:表示以上3组,也就是所有用户(all)的权限。
b) 第2部分,是运算符(operator),也有人称为操作符,其中的具体表示如下:
+:表示加入权限
-:表示去掉权限
=:表示设定权限
c) 第3部分,表示权限(permission),其中的具体表示如下:
r:表示read(读)权限。
w:表示write(写)权限。
X:表示execut(执行)权限。
5) 灵活应用符号表示法设定或更改文件或目录上的权限:
a) 例如:在dog_wolf文件上添加所有者和同组用户的可执行权限的命令:
chmod ug+x dog_wolf
b) 例如:在babydog目录上为其他用户添加写权限的命令:
chmod o+w babydog
6. 使用数字表示法设定文件或目录上的权限
1) 数字表示法的定义:
数字表示法是指使用一组三位数的数字来表示文件或目录上的权限状态。其中:
第1个数字代表所有者(owner)的权限(u)。
第2个数字代表群组(group)的权限(g)。
第3个数字代表其他用户(other)的权限(o)。
2) 数字代表的资源权限状态:
4:表示具有读(read)权限。
2:表示具有写(write)权限。
1:表示具有执行(execute)权限。
0:表示没有相应的权限。
3) 灵活应用数字法表示法设定或更改文件或目录上的权限:
a) 例如:使用数字表示法对owner开放/home/dog/babydog目录和其中所有文件的一切权限,但是对同组用户开放读和执行权限,而对其他用户只开放读权限的命令:
chmod -R 754 /home/dog/babydog