用户和组
用户和组
用户管理
管理用户
切换管理员身份
su
注销当前用户(需要运行级别)
logout
添加用户
useradd [-d] [指定目录名] 用户名
默认该用户的主目录为 /home/用户名/
, 也可以添加参数给用户指定主目录.
-d: directory
创建一个用户 king
并指定主目录为 /home/king
useradd -d /home/king king
设置密码
passwd 用户名
给 king
设置密码
passwd king
查看当前用户所在的目录
pwd
删除用户
userdel [-r] 用户名
删除用户 king
并保留主目录
userdel king
删除用户和主目录
userdel -r king
查询用户信息
id 用户名
切换用户
su 用户名
高权限切换到低权限不需要密码.
返回原来的用户需要
exit
/logout
指令.
查看初始登录用户
whoami | who am i
带空格分隔可显示详细信息.
只会显示第一个登录的用户, 中间通过
su
命令切换不会记录.
用户组
新增组
groupadd 组名
删除组
groupdel 组名
新增用户时放入一个组
useradd -g 用户组 用户名
不指定组的时候默认会创建一个和用户名同名的组, 该组默认只有该用户一人.
[root@Linux home]# id root
uid=0(root) gid=0(root) 组=0(root)
修改用户组
usermod -g 用户组 用户名
相关文件
用户的配置文件:
/etc/passwd
每一行都对应一个用户
含义:
用户名:口令:用户标识符:组标识符:注释性描述:主目录:登录 Shell
显示
x
为无法查看登录 Shell: 登录命令经过
sh
解析后的命令(bash(国内), tcsh, csh 等等)Shell 可以看做是一个命令解释器,为我们提供了交互式的文本控制台界面,我们可以通过终端控制台来输入命令,由 shell 进行解释并最终交给内核执行
root:x:0:0:root:/root:/bin/bash
admin:x:1000:1000:admin:/home/admin:/bin/bash
口令配置文件:
/etc/shadow
含义: 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
没有密码显示为
!!
root:$6$xr04p.ELb1j3qIIo$Tw42zWccKfIpWQ7bP/3y8f2a7Cz44tYEM3.HAIMLYqrwfUahAsNRkohiSwyMlF.ocd3KsSSjZGZ4A5NffC4Lo/::0:99999:7:::
king5:!!:19264:0:99999:7:::
组配置文件:
/etc/group
含义: 组名:口令:组标识号:组内用户列表
组内用户可能会被隐藏无法查看
root:x:0:
admin:x:1000:admin
组管理
Linux 中的每个用户都必须属于一个组, 不能独立于组外. 在 Linux 中每个文件都有所有者, 所在组, 其他组的概念.
所有者
查看文件所有者
ls -ahl
修改文件所有者
chown [选项] 用户名 文件名/目录
修改文件所有者和所在组
chown [选项] 用户名:用户组 文件/目录
参数选项
-R 多级目录需要递归
使用 root
创建一个文件 apple.txt, 将所有者修改为 admin
touch apple.txt
chown admin apple.txt
将 /home/test
目录下的所有文件和目录的所有者都改成 tom
chown -R /home/test
所在组
查看 文件/目录 所在组
cd /home
ls -ahl
创建组
基本语法
groupadd 组名
创建一个组 monster, 创建一个用户 fox, 放入 monster 组中
groupadd monster
useradd -g monster fox
修改文件所在组
chgrp [选项] 组名 文件/目录
参数选项
-R 多级目录需要递归
其他组
除文件所有者和所在组用户外, 系统的其他用户都是文件的其他组.
修改用户所在组
需要 root 权限.
usermod -g 组名 用户名
修改该用户登录的初始目录
usermod -d 目录名 用户名
该用户要拥有进入新目录的权限, 否则失败.
文件权限类
文件属性
Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在 Linux 中我们可以使用 ll 或者 ls -l 来显示一个文件的属性以及文件所属的用户和组
从左到右的 10 个字符标识
如果没有权限,就会出现减号 -
,从左至右用 0-9 这些数字来表示.
- 0 位表示类型
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件
-
代表文件
d
代表目录
c
代表字符设备文件(鼠标, 键盘)
b
代表块设备(硬盘)
l
链接文档 (link file)
第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。User
第 4-6 位确定属组(所有者的同组用户)拥有该文件的权限。Group
第 7-9 位确定其他用户拥有该文件的权限 Other
rwx
作用文件和目录的不同解释
作用到文件:
【r】: 代表可读(read) 可以读取,查看
【w】:代表可写(write) 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
【x】:代表可执行(execute) 可以被系统执行
作用到目录:
【r】: 代表可读(read) 可以读取,ls 查看目录内容
【w】:代表可写(write) 可以修改,目录内创建+删除+重命名目录
【x】:代表可执行(execute) 可以进入该目录
文件基本属性介绍
(1)如果查看到是文件:链接数指的是硬链接个数。
(2)如果查看的是文件夹:链接数指的是子文件夹个数。
chmod
改变权限
权限可以用数字表示为: r=4, w=2, x=1
rwx = 4 + 2 + 1
示例
# 增加执行权限
chmod +x nginx.conf
# chmod [u|g|o|a] +-= {rwx} 文件或目录
chmod u+x nginx.conf
chmod u-x nginx.conf
chmod u=x nginx.conf
chmod a+x nginx.conf
chmod a=rwx nginx.conf
# r=4 w=2 x=1
# 直接用数字修改权限
chmod 777 nginx.conf
# 修改整个文件夹的所有者,所属组,其他用户都具有可读可写可执行权限
chmod -R 777 nginx.conf