目录
一.用户账户和组账户
1.用户账户
超级用户:root用户是Linux操作系统中默认的超级用户账户,对本主机拥有至高无上的权限。root拥有对系统的最高的管理权限 UID=0
普通用户:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限。UID=500-65535(Centos6)UID=1000-65535(Centos7)
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,也称为:伪用户,常见的程序用户有ftp、Apache、SVN等。UID=500-65535 UID=1-499(Centos6)UID=1-999(Centos7)
UID:即每个用户的身份标识,类似于每个人的身份证号码。
2.组账户
基本组:又称为私有组,基于某种特定联系(如都要访问FTP服务)将多个用户集合在一起,构成一个用户组,表示该组内所有用户的账号称为组账号。基本组为主要组,有且只有一个。
附加组:又称为公共组,若该用户同时还包含在其他的组中,则这些组称为用户的附加组。
区别:用户和组可以看成员工和职位的关系。员工可以兼职多个职位,但总有一个主要的身份,这个身份有且唯一,是基本组;其他身份则可有可无,对应附加组。默认当你创建一个新用户时会自动创建一个与之同名的主组。
GID:组标识号,表示该账户需要密码才能登录,为空时,账户无须密码即可登录组账号
二.用户账号文件
1.作用
保存用户名称、宿主目录、登录Shell 等基本信息。
2.位置
文件位置:/etc/passwd
3.所对应的账户信息
第一个root:用户账号
x:密码占位符(x表示本次用户没有设密码)
前一个0:UID
后一个0:GID
第二个root:用户说明
/root:用户宿主的目录
/bin/bash:登录Shell信息
4.影子文件
作用:保存用户的密码、账号有效期等信息。
位置:/etc/shadow
所对应的账户信息:
root:用户名
$6$~js0:加密密码
19086:最后一次修改时间
0:修改时间间隔【密码的最小修改时间为0(若修改则以最后一次修改时间来定)】
99999:密码有效期(密码有效期默认99999,表示可以永久生效)
7:密码需要变更前的警告天数
5.chage命令
概述:用来修改帐号和密码的有效期限,针对目前系统已经存在的用户。
格式:chage [选项] 用户名
选项 | 作用 |
-m | 密码可更改的最小天数。为零时代表任何时候都可以更改密码 |
-M | 密码保持有效的最大天数。chage -M 60 root |
-W | 用户密码到期前,提前收到警告信息的天数 |
-E | 帐号到期的日期。过了这天,此帐号将不可用 |
-d | 上一次更改的日期 |
-I(大写i) | 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用 |
-l(小写L) | 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期 |
三.用户账号管理
1.添加用户账号
useradd [选项] 用户名
选项 | 功能 |
-u | 指定用户的UID号,要求该UID号码未被其他用户使用 |
-d | 指定用户的宿主目录位置(当与-M一起使用时,不生效);只能用绝对路径指定目录,且不需要事先创建目录。 |
-e | 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式 |
-g | 指定用户的基本组名(或使用GID号)。 |
-G | 指定用户的附加组名(或使用GID号)。 |
-M | 不建立宿主目录,即使/etc/login.dsfs 系统配置中已设定要建立宿主目录。 |
-s | 指定用户的登录Shell。 |
2.设置/更改用户口令
passwd [选项] 用户名
选项 | 功能 |
-d | 删除密码 |
-l(小写L) | 停止账户使用 |
-S | 显示密码信息 |
-u | 启用已被停止的账户 |
3.修改用户账户的属性
usermod [选项] 用户名
选项 | 功能 |
-l | 更改用户账号的登录名称 |
-L | 锁定用户账户 |
-U | 解锁用户账户 |
4.删除用户账号
userdel [选项] 用户名
添加-r选项时,表示连用户的宿主目录一并删除
如果不加-r,删除之后在创建用户时会报错
5.用户账号的初始配置文件
文件来源
新建用户账号时,从/etc/skel目录中复制而来
主要的用户初始配置文件
~/.bash_profile
~/.bashrc
~/.bash_logout
四.组账号
1.组账号文件
与用户账户类似
etc/group:保存组账号基本信息
etc/gshadow:保存组账号的密码信息
2.添加组账号
groupadd [-g GID] 组账号名
3.添加删除组成员
gpasswd [选项] 组账号名
选项 | 功能 |
-a | 向组内添加一个用户 |
-d | 从组内删除一个用户 |
-M | 定义组成员列表,以逗号分隔 |
4.删除组账号
groupdel 组账号
5.查询账号信息
(1)groups命令
- 查询用户所属的组
groups [用户名]
(2)finger命令
- 查询用户账号的详细信息
finger [用户名]
(3)w、who、users命令
- 查询已登录到主机的用户信息
五.文件/目录的权限和归属
1、访问权限
- 读取权限r:允许查看文件内容、显示目录列表
- 写入权限w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
- 可执行权限x:允许运行程序,切换目录
2、归属(所有权)
- 属主:拥有该文件或目录的用户账号
- 属组:拥有该文件或目录权限想
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 文件所有者 | 文件所属组 | 其他用户 |
r | w | - | r | - | - | r | - | - |
4 | 2 | 0 | 4 | 0 | 0 | 4 | 0 | 0 |
6 | 4 | 4 |
3.设置文件和目录的权限chmod
chmod 权限变更格式 文件或目录路径
chmod [ugoa] [+ - =] [rwx] 文件或目录
chmod nnn 文件或目录
u、g、o、a、分别表示属主、属组、其他用户、所有用户
r、w、x分别表示读、写、执行权限
+、-、=分别表示增加、去除、设置权限
nnm表示为3位八进制数
常用选项
-R:递归修改指定目录下所有子项的权限
4.设置文件和目录的归属chown
chown命令
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
常用选项
-R:递归修改指定目录下所有文件、子目录的归属
5.权限掩码umask
umask作用
控制新建的文件或目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限
umask设置:umask 022
umask查看:umask