目录
一、用户账号和组账号概述
1.Linux基于用户身份对资源访问进行控制
用户账号:超级用户
普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制。
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的地权限用户账号,这些用户不能登录系统,只是维持系统或某个程序的正常运行。
2.组账户
基本组(私有组):主要工作,只能有一个
附加组(公共组):可以有多个附加组
3.UID和GID
UID:用户标识号
GID:组标识号
Linux中根据UID识别用户,其中 管理员:root为0。程序用户:1-999(CentOS7以后)对守护进程获取资源进行权限分配。普通用户;1000+给用户进行交互式登录使用。
GID的作用是用于标识和管理用户组,它是一个用于系统内部识别用户组的数字值。
root 组账号的 GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。
4.用户账号文件
passwd文件
用户账号文件:/etc/passwd 基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root才可以更改。
zhangsan : x :1001 :1001 :/zhangsan :/home/lucas /bin/bash
1 2 3 4 5 6 7
1:用户名称
2:密码占位符“x”
3:用户账号的UID号
4:所属基本组账号的GID号
5:用户全名
6:宿主目录
7:登录Shell信息
shadow文件
用户密码文件:/etc/shadow shadow文件用于存放用户密码,默认只有root用户能够读取shadow文件中的内容,且不允许直接编辑该文件中的内容。
root: * : 18445 : 0 : 99999 : 7 : : :
1 2 3 4 5 6 7 8 9
1 : root 用户名
2 : * 密码 * 和 !! 表示不能登录此用户 (字段内容为空则无需密码就可登录)
3 : 18445 上次修改密码的时间,表示子1970.1.1算起到最后一次修改密码时间隔得天数
4 : 0 密码最短有效天数,默认
5 : 99999 密码有效期 99999为默认值 近似于永久有效
6 : 密码到期提醒,默认值为7
7 : 密码到期后 不修改 还能用多久 这个时间之后,原密码失效
8 : 失效时间 指定用户作废的天数,默认为空,表示账号永久可用
9: 保留
二、用户账户管理
1.添加用户useradd
添加用户:useradd
useradd +选项 +用户名
选项 | 说明 |
---|---|
-u | 指定用户UID号,不能与其他用户相同 |
-d | 指定用户的宿主目录位置(当与-M一起使用时,不生效) |
-e | 指定用户的账户失效时间,可使用YYYY-MM-DD的格式 |
-g | 指定用户的基本组名,对应的组名必须存在 |
-G | 指定用户的附加组名,对应的组名必须存在 |
-M | 不建立宿主目录 |
-s | 指定用户的登录Shell |
useradd -u 1002 -d /opt/test -g xy -G xy03 -s /bin/bash test
#添加新用户 UID 主目录 所属主组 附加组 登录shell 用户名
2.密码管理 passwd
passwd为账号设置密码。root用户可以指定用户名作为参数,对指定账号的密码进行管理;普通用户只能执行单独的“passwd”命令修改自己的密码。
passwd +选项 +用户名
选项 | 说明 |
---|---|
-d | 清空指定用户的密码,仅使用用户名即可登录系统 |
-l | 锁定用户名,锁定的用户帐号将无法登录系统 |
-S | 查看用户的状态(是否被锁定) |
-u | 解锁用户账户 |
echo 123123 |passwd --stdin 用户名
# 用免交互的方式设置密码
3.修改用户usermod
usermod 对已有账户进行修改各项属性。
usermod +选项 +用户名
选项 | 说明 |
---|---|
-u | 修改用户的UID号。usermod -u uid号 用户名 |
-d | 修改用户的宿主目录位置 |
-e | 修改用户的账户失效时间,可用YYY-MM-DD的格式 |
-g | 指定用户的基本组名(或使用UID号)。 |
-G | 指定用户的附加组名(或使用GID号)。 |
-s | 指定用户的登录Shell |
-L | 锁定用户账户 |
-U | 解锁用户账户 |
4.删除用户userdel
userdel +选项 +用户名
加 -r 时 表示连用户的宿主目录一并删除
例: ]# userdel -r stu01
]# ls -ld /home/stu01
ls:/home/stu01/:没有这个文件或目录
三、组的增、删、改、查
1.添加组账号 groupadd
groupadd +选项 +用户名
groupadd [-g GID] 组账号名
groupadd -g 1000 market #添加组账号market
2.添加删除组成员gpasswd
设置组账号密码(极少用)、添加/删除组成员
gpasswd +选项 +用户名
选项 | 说明 |
---|---|
-a | 向组内添加一个用户 |
-d | 从组内删除一个用户成员 |
-M | 定义组成员列表,以逗号分隔 |
gpasswd -M aaa,bbb,ccc dn #将用户aaa,bbb,ccc加入到dn用户组中
3.删除组groupdel
gtoupdel +组账号名
groupdel market #删除组账号market
四、查询账号相关信息
1.id命令
id命令用于查看用户的UID GID 基本组 附加组
id +用户名
id test
uid=13323(test)gid=12345(test)组=12333(test) #没有创建附加组只有基本组test
2.finger命令
finger命令用于查询用户账号的详细信息(需要先进行安装finger软件包)
finger test
Login test #登录用户
Name test #用户名
Directory /home/test #用户家目录
Shell /bin/bash #登录Shell
Never logged in #没有登录过
No mail #没有发送邮件
No Plan #没有计划
3.查询已登录到主机的用户信息
3.1 w命令
w +用户名
3.2 who 命令
who命令显示当前用户信息,但是无法知晓每个用户正在执行的命令。
3.3users命令
五、文件/目录的权限和归属
1.基本概述
权限分为三种:读(r)、写(w)、执行(x)。
读 r:查看文件;写 w :可修改其内容; 执行 x:可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)
文件/目录的权限
读 写 执行
r w x
4 2 1
2.查看权限和归属
- rw- r-- r-- 1 toor root 0 Aug 6 01:54 1.txt
1 2 3 4 5 6 7 8 9 10
1:文件类型
2:属主权限
3:属组权限
4:其他用户权限
5:硬连接数
6:root属主
7:root属组
8:文件大小
9:最后修改时间
10:文件名
3.chmod设置目录和文件的权限
3.1chmod更改文件权限
chmod +选项 +文件或目录
3.2 chowd更改目录权限
chown命令用于设置文件/目录的属主和属组,将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户id,组可以是组名或组id。
-R:递归修改指定目录下所有子目录及文件归属
将当前前目录下的所有文件与子目录的拥有者皆设为shanji,群体的使用者guhuozai 地址在dongguan
chown -R shanji : guhuozai ./dongguan
3.3 umask 设置目录和文件的默认权限
指定目前用户在新建文件或目录时的权限默认值。
文件夹默认最大权限为777,文件默认的最大权限为666 (没有执行权限)。新建目录权限= 777-umask,新建文件权限=666 - umask
umask是需要减去的权限