linux 用户账户和权限管理

用户账号:

超级用户 管理员账号root 默认对本级拥有最高权限的账户。在系统中是唯一。

普通用户:一般都是由管理员创建的,拥有的权限是受限的。一般只在自己的家目录当中拥有完整的权限。可以正常的登录系统。

程序用户:在安装软件时,有的应用程序需要创建一些账号来保证程序的正常运行,就会创建一个程序账户,程序账户是一些特定的低权限的账户,而且这些账户是不能登录到系统的。作用:保证程序的正常运行。

UID:用户的标识号,创建用户的时候可以指定,也可以系统自动分配。但是唯一,不能重复。

GID:组标识,创建用户的时候可以指定,也可以自动分配,也是唯一的,不能重复。

根据uid来区分:

管理员的uid 0

普通用户的uid 1000

程序用户的uid 1-999

判定一个用户是否为管理员,以uid为标准,uid=0才是管理员

/etc/passwd,每行的含义是什么 root❌0:0:root:/root:/bin/bashdn❌1000:1000:dn:/home/dn:/bin/bashsaned❌989:983:SANE scanner daemon user:/usr/share/sane:/sbin/nologin 字段 1:用户账号的名称 字段 2:用户密码的占位符。无实意。 字段 3:用户的 uid 号 字段 4:用户的 gid 号 字段 5:用户的全名,一般都和字段1一致 字段 6:用户的家目录所在的位置字段 7: 用户登录的 shel,shell 默认的解释器就是 bash,是有是/bin/bash 才可以登录系统/sbin/nologin /bin/false,表示不可以登录系统。一般程序用户的 shell 都是/sbin/nologin/bin/false。普通用户能否设置成/sbin/nologin? I

普通用户能设置成/sbin/nologin

/etc/passwd 保存的是用户信息。

/etc/shadow:用户的密码和账户的有效期。(以加密的方式保存) root:$6$uJ/b/.LajcTU7.1$VkuaSqemZKK2RGRB0472IYMTUkjFn,i0yoMKba8c.EcRzttYQEjo8G4ilThCTu/WgU3PV9AMsI5ewfL/3WuSp/:19864:0:99999:7::: 字段 1: 用户的账号名称 字段 2: 用户的密码,MD5 加密的方式。*表示不能登录系统,!!表示密码为空,不是真的 空。什么都没有才是真的为空。 字段 3: 表示上一次修改密码的时间。19864,表示从 1970-1-1 到 2024年 5-21 号过了多少 乐。 字段 4:密码的最短有效天数,0表示不限制 字段 5:密码的最长有效天数 99999 表示不限制 字段 6:提前多少天告诉用户,密码将会过期,默认7。 字段 7:密码过期之后多少天会禁用该用户。 字段 8:账号失效了多久,为空,永不失效。 字段 9:保留字段,预留字段,无实意。

添加用户,创建用户:

useradd

-u 指定 uid号。已被占用的uid不能被指定。

-d 指定用户的家目录的位置。(一般是不动的)

-e 指定用户的账户失效的时间,格式yyyy-mm-dd。

-M 创建用户时,不建立家目录

-s 创建用户时指定用户的登录shell。

shell就是计算机语言,bash来翻译这个计算机语言。

用户创建密码的命令:

passwd

-d 清空指定用户的密码。(慎用)

-l 锁定用户,无法登录。

-u 解锁用户

-S 查看用户的状态,用户是否被锁定。

修改密码的另一种方式:echo 用户名和要修改的密码 空格管道符空格passwd -- stdin 用户名。

修改账号的属性:

usermod

-u 修改用户的 uid

-d 修改用户的家目录地址(没人用)

-e 修改用户的账户失效时间 yyyy-mm-dd

-s 修改用户登录的shell

-L 锁定用户

-U 解锁用户

锁定用户的两种方式:

passwd -l

usermod -L

删除用户:

userdel

userdel 用户名 只删除用户,不删除家目录

userdel -r 用户名 删除用户的同时家目录一起删除。

组账号:

/etc/group 组账号信息

/etc/gshadow保存组账号的额外信息

groupadd 添加组账号

groupdel test1

添加或者删除组成员:

gpasswd

-a 向组内添加用户

-d 从组内删除用户

-M 定义组员的列表,每个用户用逗号隔开。

添加可以一次性多个,删除只能一个一个删。

配置文件:

/etc/profile 全局配置,对所有用户都生效。source 重启之后也对所有生效

~/.bash_profile用户登录时会读取的配置,只对自己生效。

~/.bashrc 用户的配置文件,只对自己生效,每一次新打开一个shell就会读取这个文件。

~/.bahs_logout:用户退出当面shell的时候会执行的配置。

每次登录都是shell的一个子shell每一个之间互相隔离。相当于进程 进程分了很多线程。

读取顺序:/etc/profile------~/.bash_profile

------~/.bashrc-------~/.bash_logout

权限管理:

查询用户身份标识:

id

查询 uid gid 所属组

查询已经登录到主机的用户信息:

w who users

u :所有者 u+r

g :所在组

o:其他用户

a:所有用户 a+x u+x o+x

八进制算法替换了

421

R read 读权限 4

W wirte 写权限 2

X 执行 执行权限 1

-rw -r--r--.1 root root 0 5月 21 13:43 123

rw- 6

r--4

s--4

6 4 4

-rwx r-x--x

7 5 1

chmod 赋权命令

递归赋权:

chomd -R 只有一层目录,目录当中所有的都生效,级联目录只有最后一个生效。

chmod353

所有者写和执行

所在组 读和执行

其他用户 写和执行

umask 用来设定文件和目录的默认权限:

文件的默认权限 666

目录的默认权限 777

创建文件,默认就是不给你执行权限。

创建目录,一定要有执行权限,没有执行权限就没有办法进行目录切换,不能cd进入这个目录。

面试题:我要修改一个文件的默认权限怎么办? 答:umask,如果是文件,怎么改umask都没有执行权限。

修改所有者和所在组:chown前提:用户(所有者)和组(所在组)都要存在,需要先创建好。

chown id:id所有者和所在组一起变

chown id.id

chownid 文件名/目录名 只修改所有者

chown :id文件名/目录名 只修改所在组

chown.id

/etc/passwd/etc/shadow Useradd Passwd Echo 密码|passwd--stdin 用户名 UserdelChmod Chown Umask

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值