目录
一、linux账号的分类
保存用户账号的文件/etc/passwd
用户账号密码保存文件/etc/shadow(影子文件)
二、Linux组账号分类
组账号保存文件/etc/group
三、管理用户常用的命令
添加创建用户命令useradd
创建或更改用户密码passwd
修改账号密码的有效期限chage命令
修改用户账号属性usermod
删除用户账号userdel
用户账号的初始配置文件
四、管理组常用的命令
删除组命令
添加删除组成员gpasswd
查询账号所属组groups
查询用户的UID GID
查寻账号详细信息finger
五、文件目录的权限和归属
设置文件或目录权限
权限掩码umask
总结
用户账号
超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于 Windows 操作系统中的 Administrator 用户。只有当进行系统
管理、维护任务时,才建议使用 root 用户登录系统,日常事务处理建议只使用普 通用户账号。root 拥有对系统的最高的管理权限 ID=0
普通用户:普通用户账号需要由 root 用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限
系统用户 UID∶1-999(centos7 版本)1-499(centos6 版本)
UID∶即每个用户的身份标示,类似于每个人的身份证号码.
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运 行,如 bin、daemon、ftp、mail 等伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如∶ ftp,apache
保存用户名称、宿主目录、登录Shell等基本信息
文件位置∶/etc/passwd
每一行对应一个用户的帐号记录
[root@localhost~]# head-2 /etc/passwd (查看前两行用户文件的信息)
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
passwd文件账号记录详细说明
root:x:0:0:root:/root:/bin/bash 详解如下∶
root∶用户名,用户名仅是为了方便用户记忆。Linux系统是通过UID来识别用户身份,分配用户权限。
x∶表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件
Linux系统把真正的加密密码串放置在/etc/shadow文件中,此文件只有root用户可以浏览和操作,最大限度地保证了密码的安全。
补充∶
注意!!!,虽然"x"并不表示真正的密码,但也不能册除,如果删除了
"x",那么系统会认为这个用户没有密码, 从而导致只输入用户名而不用输入密码就可以登陆 (只能在使用无密码登录,远程是不可以)。
0∶用户账号的 UID号。
0∶所属基本组账号的 GID 号
root∶描述性信息,此字段只是用来解释这个用户的意义而已
/root∶宿主目录,即该用户登录后所在的默认工作目录
注;通常称为用户的主(家)目录。例如;root主目录为/root,普通用户odysee的主目录为/home/odysee /bin/bash录 Shell 等信息,用户完成登录后使用的
保存用户的密码、账号有效期等信息
文件位置∶/etc/shadow(只能在root模式下查看,切不能编辑更改)
每一行对应一个用户的密码记录
[root@localhost ~]# head -2 /etc/shadow
root:$1$55HB4pbx$acHqk4ZiHTZ9cw0ZJe8f0:14374:0:99999:7:::
bin:*:14374:0:99999:7:::
[root@localhost ~]# tail-1 /etc/shadow (查看最后一行用户密码的信息)
teacher:$1$BT7teaYX$s2sr6uFUwKhtU.8/8VpzB1:14374:0:9999:7:::
/etc/shadow和 /etc/passwd 文件一样,文件中每行代表一个用户,同样使用"∶"作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段
第一列:账户名
第二列:存放真正加密的密码,采用SHA512散列算法,更加安全 加密原来用MD5 或 DES
!!和*表示没有密码不能登陆,新创建用户也是!!,如果密码前面显示双感叹号表示该账户被锁定了
第三列:上一次修改密码的时间,从1970年1月1日开始算的,因为1970年是linux的诞生日,date -d "1970-01-01 15775 days"可以查看哪一天改过
第四列:多久之后才可以修改密码,如果是 0,则密码可以随时修改
最小修改间隔时间,也就是说该字段规定了从第三个字段(最后一次修改密码时间)起,多长时间之内不能修改密码,如果是0则随时修改密码,如果是10则代表10天之内不能再次修改密码,(此字段是为了针对某些人频繁更改密码二设计的)
第五列:密码有效期,默认99999,表示永久生效
第六列:密码到期前的第几天发出告警信息,默认是7天,每次登录系统都会向该账户发出"修改密码"的警告信息
第七列:密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用
例如:此字段规定的宽限天数是10则代表密码过期10天后失效,若是0则代表密码过期后立即失效,若是 -1 则代表密码永不失效
第八列:账号失效时间,使用自1970 年 1 月 1 日以来的总天数作为账户的失效时间
第九列:保留,未使用
组账号
基本组(私有组)∶基于某种特定联系(如都需要访问 FTP 服务)将多个用户集合在一起,即构成一个用户组,表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组);
附加组(公共组)∶若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。
简说:
用户和组的关系
用户是员工,组是职位,员工可以兼职多个岗位总有一个最重要的身份 主要组合附加组主要组 必须要一个组 有且唯一。附加组可有可无 ,也可以有多个。
默认行为当你创建一个新用户时会自动创建一个和之同名的主组
UID和GID
UID(User IDnetity,用户标识号)
GID(Group IDentity,组标识号 )
/etc/group文件 保存组帐号的基本信息
/etc/gshadow文件 保存组帐号的密码信息
grep"^root"/etc/group 检索root 组包括哪些用户
grep "root" /etc/group 检索哪些组包括root 用户
[root@localhost~# grep"adm"/etc/group (检索adm组有哪些用户)
sys:X:3:root,bin,adm
adm:x:4:root,adm,daemon (adm组有root,adm,和daemon三个用户)
格式:userad+用户名(直接创建)
有目的的创建账户
useradd+选项+用户名
添加用户账号
-u∶指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
-d∶指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
-e∶指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g∶指定用户的基本组名(或使用 GID 号)。
-G∶指定用户的附加组名(或使用GID 号)。
-M∶ 不建立宿主目录,即使/etc/1login.defs 系统配置中已设定要建立宿主目录。
-s∶指定用户的登录 Shell。
格式:passwd+用户名(创建或更改用户密码)
passwd+选项+用户名
-d∶清空指定用户的密码,仅使用用户名即可登录系统。
-l;锁定用户账户。
-S∶查看用户账户的状态(是否被锁定)。
-u∶解锁用户账户。
chage命令∶用来修改帐号和密码的有效期限,针对目前系统已经存在的用户
格式 chage+ 【选项】+用户名
-m∶密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M∶ 密码保持有效的最大天数。
-w∶用户密码到期前,提前收到警告信息的天数。-E∶帐号到期的日期。过了这天,此帐号将不可用。
-d∶上一次更改的日期。
-i∶停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l∶例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
格式 usermod+选项+用户名
usermod命令参数
-l∶更改用户账号的登录名称。
-L∶锁定用户账户。
-U∶解锁用户账户
-u∶修改用户的 UID 号。
-d∶修改用户的宿主目录位置。
-e∶修改用户的账户失效时间,可使用 2021-12-25的日期格式。
-g∶修改用户的基本组名(或使用 GID 号)。
-G∶修改用户的附加组名(或使用 GID 号)。
-s∶指定用户的登录 Shel1。
userdel - r删除用户和宿主目录里的文件
添加一个新的用户账号后,useradd 命令会在该用户的宿主目录中建立一些初始配置文件。这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件,较常用的初始配置文件包括".bash logout"、".bash profile"和".bashrc"。其中,".bash profile"文件中的命令将在该用户每次登录时被执行;".bashrc"文件中的命令会在每次加载"/bin/Bash"程序(当然也包括登录系统)时执行;而".bash logout"文件中的命令将在用户每次退出登录时执行。
理解这些文件的作用,可以方便我们安排一些自动运行的后台管理任务。
在".bashrc"等文件中,可以添加用户自己设置的可执行命令(如 Linux 命令行、脚本控制语句等),以便自动完成相应的任务。
创建组groupadd命令
groupadd+组名称(直接创建)
groupadd 【-g GID】 +组账号名(指定创建组uid号)
groupadd-命令
-a∶添加用户到组
-d∶从组删除用户
-A∶指定管理员
-M∶指定组成员和-A的用途差不多
-r∶删除密码
-R∶限制用户登入组,只有组中的成员才可以用newgrp加入该组
groupdel+组名称(必须把组成员都删除后才能删除组)
gpasswd+组名(修改组密码,一般很少用)
●-a∶向组内添加一个用户
●-d∶从组内删除一个用户成员
●-M∶定义组成员列表,以逗号分隔
groups+用户名
id + 用户名
finger+用户名
文件/目录的权限和归属访问权限
●读取r∶允许查看文件内容、显示目录列表
●写入 w∶允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
●可执行x∶允许运行程序、切换目录
归属(所有权)
●属主∶拥有该文件或目录的用户帐号
●属组∶拥有该文件或目录的组帐号
查看文件或目录的权限或归属
ls -l +文件或目录名
查看“ceshi”文件的权限(第一个“-”代表ceshi是个普通文件)
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 文件所有者 | 文件所属组 | 其他用户 |
ceshi文件的权限为“644”
r | w | - | r | - | - | r | - | - |
4 | 2 | 0 | 4 | 0 | 0 | 4 | 0 | 0 |
6 | 4 | 4 |
一般用chmod加数字比较简单
查看“ceshi”文件的权限(第一个“-”代表ceshi是个普通文件)
更改ceshi文件权限为755
可见rw- r-- r-- 变为 rwx r-x r-x
ceshi 变绿色表示有了执行权限
chown - R 能更改目录下所有子项的属主和属组
先进入ceshi2目录查看a的属
更改a目录的属主和属组为root 和ftp
进入a目录查看,目录下的子目录和文件属主属组都变为root,ftp
umask作用
控制新建的文件或者目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限
umask设置∶ umask 022 (022是反掩码,777为最大权限,可以理解 777-022=755,所以创建bbb的目录权限是755
umask查看∶ umask
用户账号管理(useradd、passwd、usermod、userdel)
组账号管理(groupadd、gpasswd、groupdel)
用户账号文件与组账号文件
查询账号相关信息的命令(groups、id、finger)
设置目录与文件权限(chmod)
设置目录与文件归属(chown)