用户&群组&权限
一、用户
1.用户及passwd文件
1) 掌握/etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database)。
2) /etc/passwd文件每个字段的具体含义:
root:x:0:0:root:/root:/bin/bash
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文件每个字段的具体含义:
user1:x:1001:
a) 第1个字段是这个群组的名字。
b) 第2个字段中的x表示这个群组在登录Linux系统时必须使用密码。
c) 第3个字段记录的是这个群组的gid。
d) 第4个字段记录的是这个群组里还有哪些群组成员。
二:Linux系统中添加一个新的用户账户
1、 添加新用户‘;
1) useradd命令的功能:新增一个用户。
2) useradd命令的常用选项:
a) –u:指定用户的UID
b) –g:指定用户所属的群组
c) –d:指定用户的家目录
d) –c:指定用户的备注信息
e) –s:指定用户所用的shell
2. usermod命令修改用户账户
1) usermod命令的功能:修改用户的账户信息。
2) usermod命令的常用选项:
a) –u:修改用户的UID
b) –g:修改用户的GID
将babydog4这个用户的的gid变更为dog群组的命令:
usermod –g dog babydog4
c) –G:将一个用户加入到指定的群组中
将babydog4这个用户添加到babydog6这个群组中的命令:
usermod –G babydog6 babydog4
d) –d:修改用户的家目录
修改babydog4用户的家目录为/home/babies的命令:
usermod –d /home/babies babydog4
e) –c:修改用户的备注信息
f) –s:修改用户所用的shell
3. userdel命令删除用户账号
1) userdel命令的功能:删除用户。
2) userdel命令的常用选项:
a) –r:在删除用户的同时删除这个用户的家目录及其邮箱。
删除babydog5用户不删除其家目录的命令:
userdel babydog5
删除babydog5用户,同时删除其家目录的命令:
userdel –r babydog5
4.群组的管理
1) groupadd命令的功能:创建一个新的群组账号。
在系统中新增加一个名为boydogs的群组的命令:
groupadd boydogs
2) groupadd命令的常用选项:
–g:指定群组的GID
3) groupmod命令的功能:修改一个群组账号的信息。
4) groupmod命令的常用选项:
a) –g:修改群组的GID
改police群组的gid为521的命令:
groupmod –g 521 police
b) –n:修改群组的名称
群组boydogs改名为daddogs的命令:
groupmod –n daddogs boydogs
5) groupdel命令的功能:删除一个群组账号。
删除daddogs群组的命令:groupdel daddogs
groupadd命令的常用选项:–g:指定群组的GID
在系统中新增加一个名为boydogs的群组的命令: groupadd boydogs
6) groupmod命令的功能:修改一个群组账号的信息。
a) –g:修改群组的GID 修改police群组的gid为521的命令:groupmod –g 521 police
b) –n:修改群组的名称 将群组boydogs改名为daddogs的命令:groupmod –n daddogs boydog
三、用户、群组和权限的深入讨论
1、文件的权限:
查看文件的权限
ls -l=ll 查看文件的详细信息:
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、权限的修改:
1)使用chown修改文件的属主
用法:chown 属主:属组 文件
chown :属组 文件
chown 属主 文件
修改文件file1的属主为root的命令为:chown root file1
2)使用chgrp修改文件的属组
chgrp 属组 文件
修改文件file1的属组为wg的命令为:chgrp wg file1
3)chmod:设定或更改文件或目录上的权限
-R选项:不但设置(或更改)该目录权限,而且还要递归地设置(或)更改该目录中所有文件或子目录的权限。
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(执行)权限。