文章目录
一、用户账号与组账号概述
-
Linux基于用户身份对资源访问进行控制
-
用户账号
◆超级用户,普通用户,程序用户 -
组账号
◆ 基本组(私有组)
◆ 附加组(公有组)
UID和GID
◆ UID(User IDentify,用户标识号)
◆ GID(Gronp IDentify,组标识号)
二、用户账号文件/etc/passwd
- 用户账号文件/etc/passed: 保存用户名称、宿主目录、登录shell等基本信息
- 文件位置:/etc/passwd
- 每一行对应一个用户的账号记录
[root@localhost ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
用户账号:密码占位符:UID:GID:用户说明:宿主目录:登录shell
三、密码文件/etc/shadow
root:
6
6
6SBb76V0:17470:0:99999:7:::
1 :2 : 3 :4: 5 :6:7:8:9
各字段对应解释:
- 账户名
- mde5密码加密信息 ###*或!!则不等登录 如空则没密码也可以登录 ###做项目的时候,所有设备上线都要弱口令扫描,如果结果说密码强度不高,则需要重新设置密码。如果过弱口令方案,你可以备份shadow文件,然后进shadow 删除没过的账号。
- 上次修改密码时间 1970年1月1号到最近修改密码间隔的天数
- 密码的最短有效天数,如0则不限制
- 密码的最长有效天数,如99999则不进行限制
- 提前多少天告警,用户口令将过期,默认是7
- 密码过期后多少天内禁用此用户
- 账号失效时间,1970年1月1日计算,默认是空则账号永久使用
- 保留字段,目前没使用
四、用户账号常用命令
4.1添加用户账号
useradd命令
useradd [选项]...用户名
■ 常用选项
-u、-d、-e、-g、-G、-M、-s
选项 | 解释 |
---|---|
-u | 指定UID多少 |
-d | 指定宿主目录 |
-e | 指定账户失效时间 |
-g | 指定用户基本组 |
-G | 指定用户附加组 (既可以属于用户组也可以属于其他) |
-M | 不建立宿主目录 |
-s | 指定登录的shell user |
4.2账户设置密码
passwd命令
passwd [选项]...用户名
不指定用户名时,修改当前账号的密码
■ 常用选项
-d、-I、-s、-u
选项 | 解释 |
---|---|
-d | 清空密码 |
-l | 锁定账号 |
-s 查看账户是否被锁定 | |
-u | 解锁用户账户 |
4.3修改用户账号的属性
usermod命令
usermod [选项]...用户名
■ 常用选项
-I、-L、-U
选项 | 解释 |
---|---|
-u | 修改用户UID |
-d | 修改用户的宿主目录位置 |
-e | 修改用户账户失效时间 可以YYYY-MM-DD日期 |
-g | 修改用户的基本组名 |
-G | 修改用户的附加组名 |
-s | 指定用户登陆的shell |
-l | 更改用户登录的名称 |
-L | 锁定账户 |
-U | 解锁用户账户 |
4.4删除用户账号
userdel命令
userdel [-r]用户名
添加-r选项时,表示连用户的宿主目录一并删除
[root@localhost ~]# ls -ld /home/zhangsan/
drwx------. 3 zhangsan zhangsan 78 11月 1 17:30 /home/zhangsan/
[root@localhost ~]# userdel -r zhangsan #宿主目录的属主必须zhangsan,才能连目录一起删
[root@localhost ~]# ls -ld /home/zhangsan/
ls: 无法访问/home/zhangsan/: 没有那个文件或目录
五、用户账号的初始配置文件3个重要隐藏文件
.bash_profile --文件中命令将在该用户每次登录被执行
.bashrc --文件中的命令在每次加载/bin/Bash 程序(包括登录)执行
.bash_logout --文件中的命令将在每次退出登录时执行
三者的区别:
.bashrc和.bash_profile都是开机启动,.bashrc 要比.bash_profile 更加精细,优先
.bash_logout 退出登录前执行
六、组账号文件
/etc/group:保存组账号基本信息
/etc/gshadow:保存组账号的密码信息
七、组账号常用命令
7.1添加组账号
groupadd目录
groupadd [-g GID] 组账号名
7.2添加删除组账号
gpasswd命令
设置组账号密码、添加/删除组成员
gpasswd [选项]...组账号名
■ 常用选项
-a:想组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表,以逗号分隔
7.3删除组账号
groupdel命令
groupdel 组账号名
7.4查询账号信息
groups 命令
查询用户所属的组
groups [用户名]
id命令
查询用户身份标识
id [用户名]
finger命令
查询用户账号的详细信息
finger [用户名]
■ w、who、users命令
查询已登录到主机的用户信息
- w 显示用户
- who 多少用户登录系统
- who |wc-l 显示登录的用户数量
八、文件/目录的权限和归属
在Linux文件系统的安全模型中,为系统中的赋予了2个属性,访问权限和文件所有者,简称权限和归属,其中权限包括读取R-4、写入W-2、可执行X-1三种基本类型,归属包括属主、属组
-
文件类型
类型 解释 普通文件(-) 是记录在存储介质上的ASCII或二进制流 目录文件(d) 是包含若干个文件和子目录的文件 设备文件(b,c) 代表连接在系统上的物理设备 字符设备© 又叫raw设备,读写与存储之间没有任何缓冲,一次读写1byte(如磁带) 块设备(b) 读写与存储之间有缓冲,一次读写一个block(如终端或磁盘设备) 符号链接(l) 是指向另一个文件的文件 -
文件权限说明
●读取r-4:允许查看文件内容、显示目录列表
写入w-2:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行x-1:允许运行程序、切换目录
■ 归属(所有权)
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
设置文件和目录的权限chmod
■ chmod命令
chmod [ugoa] [+-=] [rwx] 文件或目录...
或者
chmod nnn 文件或目录
■ 常用选项
-R:递归修改指定目录下所有子项的权限
设置文件和目录的归属chown
■ chown命令
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
■ 常用选项
-R :递归修改指定目录下所有文件、子目录的归属
权限掩码umask
- umask作用
控制新建的文件或者目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限 - umask设置:umask 022
- umask查看:umask
■ 示例
将umask设为000, 新建目录或者文件, 查看权限
将umask设为022, 新建目录或者文件, 再查看权限