Linux中账号和权限的管理

发布时间 2023-10-31 19:25:00作者: 打开方式不对

用户账号分类

  • 超级用户:最高权限
  • 普通用户:权限受限的用户
  • 程序用户:给程序使用的用户(不可以登录) 

UID:(相当于用户的身份证)

Linux中每个用户都是通过uid来标识用户

管理员root:0

程序用户:1-499(centos6),1-999(centos7)

普通用户:500-60000(centos6),1000-60000(centos7)

GID:(相当于组的身份证)

组账号:

基本组(私有组):有且唯一

附加组(公共组):可有可无,也可以有多个

用户账号的管理

文件位置:

/etc/passwd——存放用户信息

 图中画圈的内容:root:x:0:0:root:/root:/bin/bash

root:用户名
:x密码占位符
:0:uid
:0:gid
:root:备注信息,描述
:/root:家目录路径
:/bin/bash:shell环境

/etc/shadow——存放密码

 添加用户:

useradd 命令

语法:useradd  [选项]   用户名

选项:

 

-s 修改shell 类型 /bin/bash /sbin/nologin
-u 指定uid
-M 不建家目录
-d 指定家目录
-e 用户失效时间
-g 指定基本组
-G 指定附件组
-r 随机生成 系统用户

 新建了一个用户名为ky33的用户并且指定了uid为2000,也没有创建家目录并将shell 类型 修改成了/sbin/nologin

修改密码:

passwd  命令

语法:passwd  [选项]   用户名
基本用法:不加选项,可以直接添加密码

 选项:

  • -d:清空指定用户的密码,仅使用用户名即可登录系统

  • -l:锁定用户账户

  • -S:查看用户账户的状态(是否被锁定)

  • -u:解锁用户账户

 1 [root@localhost /]# passwd -l ky33
 2 锁定用户 ky33 的密码 。
 3 passwd: 操作成功
 4 [root@localhost /]# tail -1 /etc/shadow
 5 ky33:!!:19660:0:99999:7:::
#!!表示密码
6 [root@localhost /]# passwd -d ky33 7 清除用户的密码 ky33。 8 passwd: 操作成功 9 [root@localhost /]# passwd -S ky33 10 ky33 NP 2023-10-30 0 99999 7 -1 (密码为空。) 11 [root@localhost /]# passwd -u ky33 12 解锁用户 ky33 的密码。 13 passwd: 警告:未锁定的密码将是空的。 14 passwd: 不安全的操作(使用 -f 参数强制进行该操作) 15 [root@localhost /]# passwd -uf ky33 16 解锁用户 ky33 的密码。 17 passwd: 操作成功 18 [root@localhost /]# echo "123456"|passwd --stdin ky33 19 更改用户 ky33 的密码 。 20 passwd:所有的身份验证令牌已经成功更新。

修改用户的属性

usermod  命令

语法:usermod   [选项]    用户名

选项:

  • -l :更改用户账号的登录名称(Login Name)

  • -L :锁定用户账户

  • -u :修改用户的 UID 号

  • -U :解锁锁用户账户

  • -d:修改用户的宿主目录位置。

  • -e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

  • -g:修改用户的基本组名(或使用 GID 号)

  • -G:修改用户的附加组名(或使用 GID 号)

  • -s:指定用户的登录 Shell

 1 [root@localhost /]# usermod -L ky33
  #锁定用户
2 [root@localhost /]# passwd -S ky33
  #查看状态
3 ky33 LK 2023-10-30 0 99999 7 -1 (密码已被锁定。)
4
[root@localhost /]# usermod -U ky33
  #解锁
5 [root@localhost /]# passwd -S ky33
  #查看状态
6 ky33 PS 2023-10-30 0 99999 7 -1 (密码已设置,使用 SHA512 算法。) 7 [root@localhost /]# usermod -l kyy33 ky33
  #更改用户名
8 [root@localhost /]# id ky33 9 id: ky33: no such user 10 [root@localhost /]# id kyy33 11 uid=2000(kyy33) gid=2000(ky33) 组=2000(ky33)

删除用户

userdel  命令

语法:userdel  [选项]   用户

选项:-r   将宿主目录一起删除

组管理:

组账号文件与用户账号文件相类似

 添加组

groupadd命令

groupadd     -g  gid    组账号名

 组内管理:——添加、设置、删除组成员

gpasswd命令

-a:向组内添加一个用户

-d:从组内删除一个用户

-M:定义组员列表,以逗号分隔

删除组账号:

groupdel命令+组账号

查询:

finger命令

查询用户账号的详细信息

文件/目录的权限与归属

权限

r 读:你能看到里面的内容

w 写:你可以修改文件内容

x 执行:一般对程序而言

对文件的权限

  1. r 可使用文件查看类工具,比如:cat,可以获取其内容

  2. w 可修改其内容

  3. x 可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)

对目录的权限

  1. r 可以使用ls查看此目录中文件列表

  2. w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关

  3. x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限

chmod

-R:递归修改指定目录下所有子项的权限

r 读:你能看到里面的内容 w 写:你可以修改文件内容 x 执行:一般对程序而言

x:对于文件夹而言 必须有执行的权限,否则无法进行任何操作(x是文件加的最小权限)无论在什么情况下 文件夹一定要有执行权限

特殊权限:

suid: 属主

gudi: 属组

sticky:粘贴位 对文件夹使用,对文件无效

chown:改变属主和属主

chown 用户名:用户名 文件名

-R 递归