LINUX——账号和权限管理

一、管理用户账号和组账号

1、用户账号

(1)超级用户
(2)普通用户
(3)程序用户
id+用户名————查看基本信息

例:id root

在这里插入图片描述

cat /etc/passwd——查看用户信息

在这里插入图片描述

登录shell信息(/bin/bash为可登录系统,/sbin/nologin和/bin/false为禁止用户登录系统)

cat /etc/shadow——所有密码保存地

在这里插入图片描述

(4)各个用户的UID号

  • 管理员:root用户 UID=0
  • 程序用户:UID范围——1~499(Centos 6以前);1-999(centos7 以后),对守护进程获取资源进行权限分配。辅助程序创建,账户不登录
  • 普通用户:UID范围——500+(centos6以前);1000+(centos7的普通用户的UID范围是从500到65535),给用户进行交互式登录使用

2、组账号

(1)基础组(私有组)
(2)附加组(公共组)

3、UID和GID

(1)UID:用户标识号
(2)GID:组标识号

4、添加用户账号——useradd

(1)useradd 添加账号
useradd [选项]…用户名
(2)常用选项
在这里插入图片描述
(3)示例:

useradd -u 1005 -d /opt/test -g zjf test1——指定uid、家目录、组创建用户名

在这里插入图片描述

useradd test6——默认创建
cat /etc/passwd——查看创建用户名

在这里插入图片描述

cat /etc/shadow——查看密码

在这里插入图片描述
注:普通用户之间相互切换依然需要验证密码
在这里插入图片描述
解决方法:设置普通用户的密码

passwd test6——设置用户密码

在这里插入图片描述
在这里插入图片描述

5、设置密码——passwd

(1)格式
passwd+用户名 ——普通用户设置密码
(2)常用选项
在这里插入图片描述

(3)示例:

passwd -d zjf

在这里插入图片描述

passwd -l zjf

在这里插入图片描述

passwd -S zjf——超级管理员不受限制,普通用户之间切换会锁定

在这里插入图片描述

passwd -u zjf

在这里插入图片描述

6、设置密码——echo

(1)特点:运用管道符设置密码,可以批量添加用户的密码
(2)格式:echo 密码 | passwd --stdin 用户名
(3)示例:

echo 000000 | passwd --stdin zjf

在这里插入图片描述

7、修改用户账号的属性——usermod

(1)修改所创建用户的属性
(2)格式:usermod [选项] 登录用户名
(3)常用选项:

在这里插入图片描述

(4)示例:

usermod -u 1009 jgq——修改uid号

在这里插入图片描述

usermod -d /opt jgq——修改用户的家目录

在这里插入图片描述
在这里插入图片描述

usermod -s /no/login jgq——指定用户的登录是否可以shell

在这里插入图片描述

在这里插入图片描述

usermod -L jgq——锁定用户账户

在这里插入图片描述

usermod -U jgq——解锁用户账户

出现-bash-4.2 的解决办法: − b a s h − 4.2 的解决办法:-bash-4.2 的解决办法:bash4.2 表示使用的是bash shell程序的版本号是4.2,$表示当前用户是普通用户
[root@localhost home]# cp /etc/skel/.bashrc /home/jgq/
[root@localhost home]# cp /etc/skel/.bash_profile /home/test/
[root@localhost home]# chown jgq:jgq /home/jgq/.bash_profile
[root@localhost home]# chown jgq:jgq /home/jgq/.bashrc

8、使用户登陆不了

(1)使用 passwd -l 锁定用户的密码——仅限于普通用户之间切换,超级管理不限制
(2)使用 usermod -L 锁定用户账户——影响普通用户之间切换,不影响超级管理

9、删除用户账户——userdel

(1)特点:普通用户,程序用户均可删
(2)格式:userdel [-r] 用户名——添加“-r”选项时可以将该用户的宿主目录一并删除
(3)示例:

cat /etc/passwd——查看创建的用户

在这里插入图片描述

userdel -r test6——删除tses6

在这里插入图片描述

二、用户账户的初始配置文件

1、文件来源

(1)useradd 命令添加一个新的用户账号后会在该用户的宿主目录中建立一些初始配置文件
(2)这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件

2、主要的用户初始配置文件

(1)/etc/profile

  • 是系统的全局配置文件,对所有用户都生效,包含一些系统级别的环境变量和默认的系统级别的shell配置。(只对自己生效)
  • 例:

vim /etc/profile

在这里插入图片描述

source /etc/profile——重启生效

在这里插入图片描述

(2).bash_profile

  • 该文件是用户登录时被执行的脚本,可以用来配置环境变量和一些常用的命令别名等信息,通常用来为用户定制个性化系统环境
  • 例:

vim .bash_profile

在这里插入图片描述

source .bash_profile ——重启生效

在这里插入图片描述

(3).bashrc

  • 该文件是在每个新的bash shell 打开时被执行的脚本,通常用来定义一些用户自己的 shell 函数,命令别名,路径,颜色等(只对自己生效)
  • 例:

vim .bashrc

在这里插入图片描述

source .bashrc——重启
修改之后重新登录shell即可

在这里插入图片描述

(4).bash logout

  • 该文件是在用户退出 bash shell 时被执行的脚本,通常用来清理一些临时文件,关闭一些服务等等

(5)/etc/bashrc

  • 该文件是系统全局的bash 配置文件,对所有用户都有效。可以在该文件中添加系统全局的环境变量,别名等信息通常用来为所有用户定制系统级别的配置信息

注:这些配置文件是不同的环境下被执行的,执行的顺序也不同,通常在登录系统时:

  • 系统会首先执行 /etc/profile 文件
  • 然后 /.bash_profile 文件会被执行
  • 然后再执行 /.bashrc 文件
  • 而在退出 bash shell 时,.bash_logout 文件会被执行

3、组账号文件

(1)/etc/group:保存组账号基本信息

(2)/etc/gshadow:保存组账号的密码信息

例:

grep “postfix” /etc/group

在这里插入图片描述

4、添加组账号——groupadd

(1)格式:groupadd + 组名 ——创建组
(2)例:

groupadd whd——创建组
cat /etc/group——查看组

在这里插入图片描述
在这里插入图片描述

tail -f /etc/group

在这里插入图片描述
(3)指定GID号创建组

  • groupadd-g
  • 例:

groupadd -g 66 lux——指定GID号66创建

在这里插入图片描述

5、添加删除组成员——gpasswd

(1)常用选项
在这里插入图片描述
(2)例:

gpasswd -a jgq lux——向组内添加一个成员
cat /etc/group

在这里插入图片描述

gpasswd -d jgq lux ——从组内删除一个成员

在这里插入图片描述
在这里插入图片描述

gpasswd -M jgq,test6 lux——指定多个组员添加到组中去

在这里插入图片描述
在这里插入图片描述

6、删除组账号——groupdel

(1)格式:groupdel+组
(2)例:

groupdel lux

在这里插入图片描述
在这里插入图片描述

注:如果组长下有组员只能将组员移出删掉
删除组必须满足以下才可以删除:

  • 不可以有任何的关联关系
  • 基于用户创建的不可以删除
  • 只创建组但没有关联用户

7、查询用户所属的组——groups

(1)格式:groups+用户名
(2)例:

groups jgq

在这里插入图片描述

8、查询用户身份标识——id

(1)格式:id+用户名
(2)例:

id jgq

在这里插入图片描述

9、查询用户账号的详细信息——finger

(1)格式:finger +用户名
(2)如为安装,先安装
在这里插入图片描述
在这里插入图片描述

yum install -y finger

在这里插入图片描述

finger zjf

在这里插入图片描述

10、查询已登录到主机的用户信息——w、who、users

(1)示例:
在这里插入图片描述

三、文件/目录得到权限和归属

1、访问权限

(1)读取 r :允许查看文件内容、显示目录列表
(2)写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
(3)可执行x:允许运行程序、切换目录

2、归属(所有权)

(1)属主:拥有该文件或目录的用户账号
(2)属组:拥有该文件或目录的组账号

3、查看文件/目录的权限和归属

在这里插入图片描述
在这里插入图片描述

4、给文件/目录赋予权限——chmod

(1)格式:chmod +数字 +local。repo
(2)例:

chmod 421 local.repo

在这里插入图片描述

chmod u+x local.repo——加执行权限

在这里插入图片描述

chmod u+w-r local.repo ——加写权限去掉读权限

在这里插入图片描述

chmod 777 local.repo ——给予所有权限

在这里插入图片描述

chmod -R 777 /etc——改变当前目录包含子目录以及目录下所有的文件的权限

在这里插入图片描述

5、改变文件/目录的归属——chown

(1)所有者和所属组都改变

  • 格式1:

chown zjf:zjf local.repo——所有者和所属组都改变

在这里插入图片描述

  • 格式2:

chown root.root local.repo

在这里插入图片描述

(2)只改变组名所属组

chown :zjf local.repo

在这里插入图片描述
(3)只改变用户所有者

chown jgq local.repo

在这里插入图片描述
(3)递归修改当前迷路和目录里面的所有文件的所有者和所属组

chown -R zjf:zjf /etc

在这里插入图片描述
在这里插入图片描述
注:特殊:多个目录递归,只会对最后一个目录及文件生效
例如:
在这里插入图片描述

6、限制创建新文件和目录的权限——imask

(1)文件默认权限:666
目录默认权限:777
(2)文件:新建文件就是没有执行权想,必要chmod
目录:新建自带执行权限

7、修改主机名——hostname

(1)hostname +主机名
临时修改——重启即失效

hostname bl

在这里插入图片描述

(2)命令修改

  • hostnamectl set-hostname +主机名——永久修改

hostnamectl set-hostname lyx

在这里插入图片描述

  • vim /etc/hostname 进入后修改主机名——永久修改,必须重启生效

vim /etc/hostname——编辑重启虚拟机

在这里插入图片描述

8、补充

(1)echo $PATH——环境变量
(2)su

  • 普通用户下su 切回用户
  • root用户下:刷新
    (3)面试:
    cp /etc/passwd /opt/ky ——passwd复制到opt目录下
    他们的最低权限是多少
    cp——执行
    passwd——读
    ky——写
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一杯甜酒z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值