目录
一、管理用户账号和组账号
1.1管理用户账号
1.1.1用户账号类型
1.1.2用户标识号(UID)
1.1.3用户账号文件
1.1.4添加用户useradd
1.1.5设置、更改用户口令passwd
1.1.6 修改用户账号属性usermod
1.1.7 删除用户账号userdel
1.1.8用户账号的初始配置文件
1.2管理组账号
1.2.1用户账号类型
1.2.2组账号文件
1.2.3 组账号添加groupadd
1.2.4添加删除组成员gpasswd
1.2.5 组账号删除groupdel
1.3账号信息的查询
1.3.1 groups查看用户所属组
1.3.2 id查询用户身份标识
1.3.3 finger查询用户帐号的详细信息
1.3.4 who、w、users
二、文件、目录的权限和归属
1、访问权限
2、归属(所有权)
3、 设置文件和目录的权限chmod
4、设置文件和目录的归属chown
5、权限掩码umask
3.1umask作用
3.3umask使用
超级用户:拥有最高权限
普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主
目录中拥有完整权限 UID1000+
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用
户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行
Linux中每个用户是通过UID来唯一标识的 1-60000自动分配
超级用户UID 0
普通用户UID CentOs6以前 500+ CentOs7以后 1000+
程序用户UID CentOs6以前 1-499 CentOs7以后 1-999
作用:保存用户名称、宿主目录、登录Shell等基本信息
文件位置:/etc/passwd
每一行对应一个用户的帐号记录
以root为例 以":"为间隔
root:x:0:0:root:/root:/bin/bash
(1)第一字段:用户账号
(2)第二字段:密码占位符
(3)第三字段:用户账号ID
(4)第四字段:组账号ID
(5)第五字段:用户说明
(6)第六字段:宿主目录
(7)第七字段:登录Shell
作用:保存用户的密码、账号有效期等信息
文件位置:/etc/shadow
每一行对应一个用户的帐号记录
以root为例 以":"为间隔 root:$6$cHjYg./EBkcf77Lq$.E8j3OecFmySOdzvP3tPi0Bc87nagokrFK9DEJoReUH6YQyp7JfqwoQ0ZcEmeLZbUeA.5eGyW.9AnKpgAEA3j1::0:99999:7:::
(1)第一字段:用户名:root
(2)第二字段:密码
$6$cHjYg./EBkcf77Lq$. 当为*或!!时表示用户不能登录到此系统,若该字段为空,则表示无
需密码即可登录
(3)第三字段:上次修改密码时间
1970年01月01日这是linux诞生的第一年已他作为元年开始计算
date -d '1970-01-01 19031 days" //计算实际修改日期
(4)第四字段:最小修改密码间隔时间
该字段规定了从第3字段(最后一次修改密码的日期)起,多长时间之内不能修改密码。如果是
0,则密码可以随时修改;如果是10,则代表密码修改后10天之内不能再次修改密码。此字是
为了针对某些人频繁更改账户密码而设计的。
(5)第五字段:密码有效期
经常变更密码是个好习惯,为了强制要求用户变更密码,这个字段可以指定距离第3字段(最
后一 次 更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段。该字段的默
认值为 99999,也就是273年,可认为是永久生效。如果改为90,则表示密码被修改90天之
后必须再次修改,否则该用户即将过期。管理服务器时,通过这个字段强制用户定期修改密
码。
(6)第六字段:密码到期提程(提示密码即将过期时间)
与第5字段相比绞,当账户密码有效期快到时,系统会发出警告信息给此账户,提醒用户"再
过n天你的密码就要过期了,请尽快重新设置你的密码该字段的默认值是7,也就是说,距离
密码有效期的第7天开始,每次登录系统都会向该账户发出"修改密码"的警告信息。
(7)第七字段:密码过期后的宽限天数(密码过期后多少天禁用此用户)
也称为"口令失效日",简单理解就是,在密码过期后,用户如果还是没有修改密码,则在此字
段规 定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登
陆, 也不会提示账户过期,是完全禁用。比如说,此字段规定的宽限天数是10,则代表密码
过期10天后失效;如果是0,则代表密码过期后立即失效;如果是-1,则代表密码永远不会失
效。
(8)第八字段:账号失效时间
同第3个字段一样,使用自1970年1月1日以来的总天数作为账户的失效时间。该字段表示,
账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!该字段通常被使用在
具有收费服务的系统中。
(9)第九字段:保留字段
格式:useradd [选项] 用户名
选项 | 作用 |
---|---|
-u | 指定用户的UID号,要求该UID号码未被其他用户使用 |
-d | 指定用户的宿主目录位置(当与-M一起使用时,不生效)只能用绝对路径指定目录,且不需要事先创建目录 |
-e | 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式 |
-g | 指定用户的基本组名(或使用GID号) |
-G | 指定用户的附加组名(或使用GID号) |
-M | 不建立宿主目录,即使/etc/login.defs系统配置中已经设定要建立宿主目录 |
-s | 指定用户的登录Shell |
例:创建用户1122其ID号为1004基本组为qyd 不建立家目录 不允许登录
格式:passwd [选项] 用户
选项 | 功能 |
---|---|
-d | 清空指定用户的密码,仅使用用户名即可登录系统 |
-l | 锁定用户账户,锁定的用户账号将无法再登录系统。 |
-S | 查看用户账户的状态(是否被锁定)。 |
-u | 解锁用户账户 |
passwd 用户
非人机交互更改密码
格式: usermod [选项] 用户名
选项 | 作用 |
---|---|
-L | 锁定用户账户 |
-I | 更改用户登录名称(Login name) |
-u | 修改用户的UID号 |
-U | 解锁用户账户 |
-d | 修改用户的宿主目录位置 |
-e | 修改用户的账户失效时间,可使用YYYY–MM-DD的日期格式 |
-g | 修改用户的基本组名(或使用GID号) |
-G | 修改用户的附加组名(或使用GID号) |
-s | 指定用户的登录Shell |
格式:usermod 旧名字 -l 新名字
usermod -l 新名字 旧名字
格式:userdel [-r] 用户名
添加-r选项时,表示连用户的宿主目录—并删除
(1)文件来源
新建用户帐号时,从letc/skel目录中复制而来
(2)主要的用户初始配置文件
用户宿主目录下的初始配置文件只对当前用户有效
此文件中的命令将在该用户每次登录时被执行,会设置一些环境变量,并且会调用该用户
的~/.bashrc文件
此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行(登录切换新的
bash环境)
此文件中的命令将在该用户每次退出时bash shell时使用
建立账户时,若没有指定账户所展的组,系统会建立一个和用户名相同的组.这个组就是私有组,这个组
默认只容纳了一个用户。·在用户所属组中的第一个组称为基本组,基本组在/etc/passwd文件中指
定用户标识号(GID)
除了第一个组外的其他组为附加组或公共组,附加组在/etc/group文件中指定
格式 :groupadd [-g GID] 用户组名
设置组帐号密码(极少用)、添加/删除组成员
格式 :gpasswd [选项] 组帐号名
选项 | 功能 |
-a | 向组内添加一个用户 |
-d | 从组内删除一个用户成员 |
-M | 定义组成员列表,以逗号分隔 |
格式:groupdel 组账号名
格式:groups 用户名
格式:id 用户名
使用前需要安装finger安装包
格式:finger [用户名]
查询已登录到主机的用户信息
使用 ls -l 查看文件属性
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 文件所有者 | 文件所属组 | 其他用户 |
格式:chmod [ugoa] [+-=] [rwx] 文件或目录
u:属主 g:属组 o:其他用户 a:所有用户
+:增加 -:去除 =:设置权限
r: 读 w:写 x :运行
或: chmod nnn(3位八进制数) 文件或目录
-R :递归修改指定目录下所有子项的权限
格式:chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
-R :递归修改指定目录下所有文件、子目录归属
-R 递归修改指定目录下所有文件、子目录归属
正确方法:
控制新建的文件或者目录的权限
当掩码为011时文件的权限仍为666 不会为655 因为文件本身权限就为666 没有执行权限 不需要减去1 (执行权限在八进制数下表示为1)所以仍然为666