目录
3.2.设置切换shell环境时(包括登录系统时)要执行的命令
一.用户账号和组账号
1.用户账号
超级账号:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超
级用户是唯一的
普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主
目录中拥有完整权限
程序用户:在安装Linux操作系统及部分应用程序,会添加一些特定的低权限用户账户,这些用户
一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等
2.组账号
基本组(私有组)
建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组默认只容纳了一个用户。只有当系统建立的和用户同名的组才是私有组
在用户所属组中的第一个组称为基本组,基本组在 /etc/passwd 文件中指定
附加组(共有组)
- 除了第一个组外的其他组为附加组或公共组,附加组在 /etc/group 文件中指定
- 用户额外加入的除了基本组以外的组
3.UID和GID
UID(User IDentity,用户标识号)
GID(Group IDentify,组标识号)
- root 用户账号UID和GID号为固定值 0
- 程序用户的账号的UID和GID号默认为
- Centos5、6:1~499
- Centos7:1~999
- 普通用户的UID和GID号默认为
- Centos5、6:500~60000
- Centos7:1000~60000
4.用户文件
4.1.用户账号文件
/etc/passwd
有7个字段
用户名:x密码占位符:UID:GID:用户说明:家目录:登录shell
允许登录系统/bin/bash 不允许登录系统/sbin/nologin /bin/false
4.2.用户密码文件
/etc/shadow
有9个字段
用户名:密码字符串:上一次修改密码的时间:密码最短有限期:密码最长有限期:密码过期提前告警的
时间:密码过期禁用用户的时间:账号失效的时间:空
从1970.1.1开始算起 默认为0不限制 默认为99999永不过期 默认为7
二.添加用户账户
1.创建用户命令 useradd
useradd [选项]… 用户名
1.1.基本用法
指定用户主目录
sudo useradd -d /home/newhome username
指定用户ID
sudo useradd -u uid username
指定用户组
sudo useradd -g groupname username
创建用户并指定其Shell
sudo useradd -s /bin/bash username
1.2.常用选项
-u | 指定用户的 UID 号,要求该 UID 号码未被其他用户使用 |
-d | 指定用户的宿主目录位置(当与-M 一起使用时,不生效)。只能用绝对路径指定目录,且不需要事先创建目录 |
-e | 指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式 |
-g | 指定用户的基本组名(或使用 GID 号),对应的组名必须已存在 |
-G | 指定用户的附加组名(或使用 GID 号),对应的组名必须已存在 |
-M | 不建立宿主目录 |
-s | 指定用户的登录Shell,(比如/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统) |
2.设置/更改用户口令 passwd
passwd [选项]… 用户名
2.1.基本用法
更改当前用户密码
passwd
更改指定用户密码(需要超级用户权限)
passwd username
2.2.常用选项
-d | 清空指定用户的密码,仅使用用户名即可登录系统 |
-l | 锁定用户密码,锁定的用户账号无法再登陆系统 |
-u | 解开已锁定用户密码,允许用户自行修改 |
-S | 查看用户账户的状态(是否被锁定) |
-e | 密码立即过期,下次登陆强制修改密码 |
-k | 保留即将过期的用户在期满后能仍能使用 |
3.修改已存在的用户命令 usermod
usermod [选项]… 用户名
3.1.基本用法
修改用户名
usermod -l new_username old_username
修改用户ID
usermod -u new_uid username
3.2.常用选项
-u | 修改用户的 UID 号 |
-d | 修改用户的宿主目录位置 |
-e | 修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式 |
-g | 修改用户的基本组名(或使用 GID 号) |
-G | 修改用户的附加组名(或使用 GID 号) |
-s | 指定用户的登录 Shell |
-l | 更改用户账户的登录名称 |
-L | 锁定用户账户 |
-U | 解锁用户账户 |
4.删除用户命令 userdel
userdel [选项]… 用户名
4.1.基本用法
删除用户账户
userdel username
删除用户账户及其主目录
userdel -r username
4.2.常用选项
-f | 强制删除用户账户,即使用户当前登录或用户的进程仍在运行中 |
-r | 同时删除用户的主目录及其相关文件 |
-Z | 删除用户的SELinux用户记录 |
三.环境初始化配置
1.系统环境初始化配置文件
/etc/profile
/etc/bashrc
对所有用户有效
2.用户环境初始化配置文件
~/.bash_profile
~/.bashrc
~/.bash_logout
只对当前用户有效
3.其他配置
3.1.设置用户每次登录时要执行的命令
/etc/profile
~/.bash_profile
3.2.设置切换shell环境时(包括登录系统时)要执行的命令
/etc/bashrc
~/.bashrc
3.3.设置退出登录或shell环境时执行的命令
~/.bash_logout
四.管理目录和文件属性
1.组账号文件
/etc/group
- 有4个字段
组账号名:x占位符:GID号:组账号成员
2.组账号管理
2.1.添加组账号命令 groupadd
groupadd [-g GID] 组名
基本用法
创建新用户组
groupadd groupname
常用选项
-g GID | 指定新用户组的组ID(GID) 如果未指定,系统将自动分配一个未被使用的GID |
-r | 创建一个系统用户组 将为用户组分配一个低的GID 通常在500以下 |
2.2.管理组账号的成员命令 gpasswd
gpasswd [选项]… 组账号名
基本用法
设置用户组密码
gpasswd groupname
添加用户到用户组
gpasswd -a username groupname
从用户组中删除用户
gpasswd -d username groupname
常用选项
-A username | 指定一个用户作为管理员 管理员可以添加或删除用户组成员,以及更改用户组密码 |
-M username1;username2 | 直接设置用户组的成员列表,取代原有成员列表 |
-R | 指定用户组为只读模式 禁止普通用户修改用户组 |
2.3.删除组账号 groupdel
groupdel [选项]… 组账号名
基本用法
组账号名是要删除的用户组的名称
常用选项
-f | 强制删除组,即使仍有用户属于该组 |
2.4.查询用户所属的组 groups
groups [用户名]
基本用法
- 用户名 是要查询其所属用户组的用户名
- 如果未指定用户名,则默认为当前登录用户
注意:groups命令仅显示当前用户的用户组列表,不会显示其他用户的信息
2.5.查询登录系统的用户
w who users
3.文件权限
r读 w写 x执行文件/切换目录 -
4 2 1 0
- 读取r:允许查看文件内容、显示目录列表
- 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
- 可执行x:允许运行程序、切换目录
4.设置权限
4.1.设置文件和目录的权限 chmod
chmod [ugoa] [+-=] [rwx] 文件或目录
或
chmod nnn 文件或目录
- u,g,o,a分别表示属主、属组、其他用户、所有用户
- +,-,=分别表示添加,去除、设置权限
基本用法
设定文件权限
chmod permissions filename
设定目录权限
chmod permissions directory
常用选项
-R | 递归地应用权限修改,包括目录下的所有文件和子目录 |
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不显示错误讯息 |
-v | 显示权限变更的详细资料 |
4.2.设置文件和目录的归属chown
chown 属主 文件或目录
chown:属主 文件或目录
chown 属主:属组 文件或目录
基本用法
改变文件的所有者和/或所属组
chown [options] owner[:group] file(s)
递归地改变目录及其下所有文件和子目录的所有者和/或所属组
chown -R [options] owner[:group] directory(s)
常用选项
-R | 递归地改变目录及其下所有文件和子目录的所有者和/所属组 |
-v | 显示每个文件的改变详细信息 |
--reference=ref_file | 从ref_file中复制文件所有者和/所属组的信息 |
-h | 不跟踪符号链接的目标 |
4.3.umask
作用
- 控制新建的文件或者目录的权限
- 默认权限去除umask的权限为新建的文件或者目录的权限
设置
- 默认权限 umask 022
- 文件最大默认权限为6 目录最大默认权限为7
- 文件/目录的默认权限 最大默认权限-umask值