目录
一. 管理用户账号和组账号
1. 用户账号和组账号概述
Linux基于用户身份对资源访问进行控制
-
用户账号
超级用户、普通用户、程序用户
-
组账号
基本组(私有组)
附加组(公共组)
-
UID和GID
UID(User IDentity)用户标识号
GID(Group IDentify)组标识号
2.1 用户账号文件/etc/passwd
● 保存用户名称、宿主目录、登录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
字段1 root:用户账号的名称
字段2 x:用户密码占位符 “ x ”
字段3 0:用户账号的UID号
字段4 0:所属基本组账号的GID号
字段5 root:用户登录全名
字段6 /root:宿主目录
字段7 /bin/bash:登录Shell信息(/bin/bash为可登录系统,/sbin/nologin和/bin/false为禁止用户登录系统)
扩展
SHELL的环境有哪些
/bin/bash 允许登录
/sbin/nologin 禁止登录
/bin/sh
/sbin/sync
用户账号文件/etc/shadow
● 保存用户的密码、账号有效期登信息
文件位置:/etc/shadow
每一行对应一个用户的密码记录
[root@localhost~]#head -2 /etc/shadow
root:$1$55HB4pbx$acHqk4lZiHTZ9cw0ZJe8f0:14374:0:99999:7
bin:*:14374:0:99999:7
[root@localhost~]#tail -1 /etc/shadow
teacher:$1$BT7teaYX$s2sr6uFUwKhtU.8/8VpzB1:14374:0:99999:7
2.2 添加用户账号 useradd
useradd 【选项】 【用户名】
常用选项 | 解释 |
-u | 指定UID号 |
-d | 指定用户宿主目录位置 |
-e | 指定用户账户是失效时间(YY-MM-DD) |
-g | 指定用户的基本组名(或UID号) |
-G | 指定用户的附加组名(或GID号) |
-M | 不建立宿主目录 |
-s | 指定用户的登录Shell |
2.3 设置\更改用户密码 passwd
passwd 【选项】 【用户名】
常用选项 | 解释 |
-d | 删除用户密码,可无密码登录 |
-l | 锁定用户账户,无法登录 |
-S | 查看用户账户状态(是否被锁定) |
-u | 解锁用户账户 |
2.4 修改用户账号属性 usermod
usermod 【选项】 【用户名】
常用选项 | 解释 |
-u | 修改用户的UID号 |
-d | 修改用户的宿主位置 |
-e | 修改用户账户的失效时间 |
-g | 修改用户的基本组名(或GID) |
-G | 修改用户的附加组名(或GID) |
-s | 指定用户的登录SHELL |
-L | 锁定用户账户 |
-U | 解锁用户账户 |
2.5 删除用户账号 userdel
userdel 【选项】 【用户名】
常用选项 | 解释 |
-r | 将用户的宿主目录一并删除 |
● 添加 - r选项时,表示连用户的宿主目录一并删除
[root@localhost ~ ]# useradd stu01
[root@localhost ~ ]# ls -ld /home/stu01/
drwx--------- 2 stu01 stu01 4096 09-09 12:38 /home/stu01/
[root@localhost ~ ]# userdel -r stu01
[root@localhost ~ ]# ls -ld /home/stu01/
ls:/home/stu01/:没有那个文件或目录
2.6 用户账号的初始配置文件
● 文件来源
useradd命令添加一个新的用户账号后会在该用户的宿主目录中建立一些初始配置文件。
这些文件来自于账号模版目录/etx/skel/,基本上都是隐藏文件
● 主要的用户初始配置文件
○~/.bash_profile
○~/.bashrc
○~/.bash_logout
3. 组账号
3.1 组账号文件
路径 | 解释 |
/etc/group | 保存组账号的基本信息 |
/etc/gpasswd | 保存组账号的密码信息 |
3.2 添加组账号 groupadd
groupadd 【选项】【组账号名】
常用选项 | 解释 |
-g | 指定组账号GID号 |
3.3 添加、删除组成员 gpasswd
gpasswd 【选项】【用户名】
常用选项 | 解释 |
-a | 添加组成员 |
-d | 删除组成员 |
-M | 定义组成员列表,以逗号分隔 |
3.4 删除组账号 groupdel
groupdel 【选项】 【组账号名】
4. 查询用户账号信息
4.1 查询用户身份标识 id
id 【用户名】
4.2 查询用户所属组 groups
groups 【用户名】
4.3 查询用户账号的详细信息 finger
finger 【用户名】
二. 权限管理
1. 设置文件权限 chmod
chmod 【权限级别】 【目标文件】
权限级别 | 解释 |
1 | 可执行 |
2 | 可写 |
4 | 可读 |
7 (4+2+1) | 可读+可写+可执行 |
6 (4+2) | 可读+可写 |
chmod 【用户类别】 【操作】 【目标文件】
用户类别 | 解释 |
u | 属主 |
g | 属组 |
o | 其他用户 |
操作 | 解释 |
+"r\w\x权限" | 增加对应权限 |
-"r\w\x权限" | 删除对应权限 |
="r\wx\权限" | 设置对应权限 |
例:chmod u +x 1.txt
为1.txt文件的属主增加可执行权限
递归修改文件权限
chmod -R 【权限级别】 【目录】
例:chmod -R 777 aa
递归修改aa与aa目录下的所有子目录和文件权限为rwx
2. 设置文件属性 chown
chown 【属主 :属组、属主:属组】 【目标文件】
chgrp 【:属组】 【目标文件】
例:chown lisi:group1 1.txt
更改1.txt文件的属主为lisi,属组为group1
递归修改文件归属
例:chown -R lisi aaa
将aaa及所有其子目录和文件的属主改为lisi