Linux账号权限和管理
一.用户账号和组账号概述
1.用户账号分类
- 超级用户:root ,默认权限最大的用户 0
- 普通用户:拥有部分权限的用户 1–999
- 程序用户:拥有程序应用的权利 1000–
2.组账号分类
- 基本组(私有组)
- 附加组(公共组)
3.UID和GID
- UID:用户标识号
- GID:组标识号
二.用户账号文件
1.文件位置
- /etc/passwd
2.作用
-
/保存用户名称,宿主目录,登录shell等基本信息
-
密码占位符 组id 登录shell root: x: 0: 0: root: /root: /bin/bash 用户账号 用户id 用户说明 宿主目录
3.文件位置
- /etc/shadow
4.作用
-
保存用户密码,账号有效期等信息
-
root: !!: : 0: 99999: 7: : : 1 2 3 4 5 6 7 8 9
1.用户名
2.用户密码
3.上一次修改密码时间(从1970年1.1开始算)
4.多久后可以改密码
5.密码有效时间
6.提前多少天告知修改密码
7.密码过期后多少天禁用用户(宽限天数)
8.密码失效时间
9.保留字段
ps:用冒号作为分隔符
三.添加用户账户和管理密码
1.useradd命令
- 格式
useradd [选项]… 用户名
-
常用选项
- -u 指定UID
- -d 指定家目录
- -e 指定用户的失效时间
-
-g 指定用户的基本组
-
-G 指定用户的附加组
-
-M 创建新用户时不创建家目录
- -s 指定用户登录shell
2.passwd命令
- 格式
passwd [选项]… 用户名
-
常用选项
-
-d清楚指定用户的密码
-
-l锁定指定用户的密码
-
-S 查看用户账号是否被锁定
-
-u解锁指定用户的密码
-
[root@localhost home]# passwd -d kyky5
清除用户的密码 kyky5。
passwd: 操作成功
//清除用户密码
[root@localhost home]# passwd -l kyky5
锁定用户 kyky5 的密码 。
passwd: 操作成功
//锁定用户账户,锁定的用户账号将无法再登录系统。(一定要事先设好密码)
[root@localhost home]# passwd -S kyky5
kyky5 LK 2021-09-04 0 99999 7 -1 (密码已被锁定。)
//查看用户kyky5用户的状态
[root@localhost home]# passwd -uf kyky5
解锁用户 kyky5 的密码。
passwd: 操作成功
3.usermod命令
- 格式
usermod [选项]… 用户名
-
常用选项
-
-u 修改UID
-
-d 修改宿主目录位置
-
-e 修改账户的失效时间
-
-g 修改基本组名
-
-G 修改附加组名
-
-M 不建立宿主目录,即使/etc/login.defs系统配置中已设定要建立宿主目录
-
-s 指定用户登录shell
-
-L 锁定账户
-
[root@localhost home]# usermod -L yxp1
//锁定账户yxp1
-
-U 解锁账户
-
-l 修改账户登录名称
[root@localhost home]# usermod -l yxp1 test1
//修改用户名test1称改为yxp1
[root@localhost home]# id yxp1
uid=2000(yxp1) gid=2000(test1) 组=2000(test1)
4.userdel命令
- 格式
userdel [-r] 用户名 //结合-r可以删除宿主目录
[root@yxp red]# userdel test1
//删除用户,此时家目录里的宿主目录不会被删除,结合-r可以一次性删除
[root@yxp red]# ls -a /home
. .. red susan test test1 test2 yxp
[root@localhost home]# cd /home/
[root@localhost home]# ls
kyky kyky1 kyky5 test1 user1
[root@localhost home]# userdel -r kyky5
//结合-r可以一次性删除家目录下的宿主目录
[root@localhost home]# ls
kyky kyky1 test1 user1
四.管理组账号
1.groupadd命令
- 格式
groudadd [-g GID] 组账号名
[root@yxp ~]# groupadd -g 1800 admin //添加一个组号1800名称为admin的组
[root@yxp ~]# tail -2 /etc/group //查看末尾两行组号信息
red:x:1004:
admin:x:1800: //添加成功
2.groupwd命令
- 格式
gpasswd [选项]… 组账号名
- 常用选项
- -a 向组内添加一个用户
- -d 从组内删除一个用户
- -M 定义组成员列表,
3.groupdel 命令
- 格式
groupdel 组账号名
4.groups 命令
- 格式
groups [用户名]
[root@yxp ~]# groups user1
user1 : user1 mask
5.id 命令
- 格式
id [用户名]
-
[root@yxp ~]# id user2 uid=1007(user2) gid=1007(user2) 组=1007(user2),2000(mask)
6.finger 命令
- 格式
finger [用户名]
-
需要先安装finger安装包 [root@yxp ~]# finger yxp Login: yxp Name: yxp Directory: /home/yxp Shell: /bin/bash Last login 五 9月 3 11:12 (CST) on pts/0 No mail. No Plan.
7.w 命令 who命令
- 格式
w [选项] 用户名
8.users 命令
五.文件/目录的权限和归属
1.chomd命令
-
格式
- 字符形式:chomd 文件…
- 数字形式:chomd nnn 文件/目录…
-
权限项 读 写 执行 读 写 执行 读 写 执行 字符表示 r w x r w x r w x 数字表示 4 2 1 4 2 1 4 2 1 权限分配 文件所有者 文件所属组 其他用户 -
ls -ld 123 原始权限 drwxr-xr-x. 2 root root 6 8月 6 16:27 123 设置123权限为777 chmod 777 123 结果 drwxrwxrwx. 2 root root 6 8月 6 16:27 123
2.chown/chgrp命令
-
格式
chown/chgrp 属主 文件或目录原始属主 ls -ld 123 drwxrwxrwx. 2 ly root 6 8月 6 16:27 123 更改属主为1009 chown 1009 123 更改结果 ls -ld 123 drwxrwxrwx. 2 1009 root 6 8月 6 16:27 123
chown/chgrp :属组 文件或目录
原始属组 ls -ld 123 drwxrwxrwx. 2 1009 root 6 8月 6 16:27 123 更改属组为1010 chown 1009 123 更改结果 ls -ld 123 drwxrwxrwx. 2 1009 1010 6 8月 6 16:27 123
chown/chgrp 属主:属组 文件或目录
原始属主属组 ls -ld 123 drwxrwxrwx. 2 1009 1010 6 8月 6 16:27 123 更改属主为1010 属组为1011 chown 1009 123 更改结果 ls -ld 123 drwxrwxrwx. 2 1010 1011 6 8月 6 16:27 123
chown -R 递归修改 属主: 属组 文件或目录
[root@localhost home]# ll 123 -rw-r--r--. 1 root root 0 8月 6 20:46 1.txt -rw-r--r--. 1 root root 0 8月 6 20:46 2.txt [root@localhost home]# chown -R 1010:1011 /home/123 [root@localhost home]# ll 123 -rw-r--r--. 1 1010 1011 0 8月 6 20:46 1.txt -rw-r--r--. 1 1010 1011 0 8月 6 20:46 2.txt [root@localhost home]# cd 123 [root@localhost 123]# touch 3.txt [root@localhost 123]# ll /home/123 -rw-r--r--. 1 1010 1011 0 8月 6 20:46 1.txt -rw-r--r--. 1 1010 1011 0 8月 6 20:46 2.txt -rw-r--r--. 1 root root 0 8月 6 20:48 3.txt
3.umask命令
-
作用:控制新建的文件或者目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限 -
umask 022 :设置权限为755
-
umask :查看权限
-
[root@localhost 456]# umask 000 [root@localhost 456]# mkdir 2.txt [root@localhost 456]# ll drwxr-xr-x. 2 root root 6 8月 6 21:07 1.txt drwxrwxrwx. 2 root root 6 8月 6 21:08 2.txt 6 20:46 2.txt -rw-r--r--. 1 root root 0 8月 6 20:48 3.txt
3.umask命令
-
作用:控制新建的文件或者目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限 -
umask 022 :设置权限为755
-
umask :查看权限
-
[root@localhost 456]# umask 000 [root@localhost 456]# mkdir 2.txt [root@localhost 456]# ll drwxr-xr-x. 2 root root 6 8月 6 21:07 1.txt drwxrwxrwx. 2 root root 6 8月 6 21:08 2.txt