Linux课程_____用户的管理

news/2024/7/24 8:46:35 标签: linux, 运维, 服务器

一、规则

用户至少属于一个组,在创建时如果不指定组,将会创建同名的组
用户只能有一个基本组(主组),但可以隶属于多个附加组
如果一个组作为某用户的基本组,此组将不能被删除
UID: 用户标识
GID: 组的标识

root管理员的uid及gid 都为0

二、用户的配置文件

1./etc/passwd
   test     :x               :1000   :1000   :test Test   :/home/test       :/bin/bash
   用户名:口令节点     :UID      :GID   :描述         :宿主目录           :登录的SH

   口令节点代表密码文件

2./etc/shadow
   test         :$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:14495              :0                 :99999:7:::
   用户名      :密码hash值                                         :最后修改时间:最短有效期:最长有效期:提前警告时间:密码过期后禁用时间:帐号失效时间:保留字段

3.用户环境变量配置文件:
默认情况下都存放在宿主目录里,都是隐藏文件.
创建用户时通过复制模板生成 /etc/skel

4.组的配置文件 #cat /etc/group

三、用户管理命令

 1.useradd  新建用户

-u 指定用户的uid
  -d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell

profil  是全局参数

 [root@localhost mnt]# useradd -u 1667 -d /mnt/test4 -g 0 -G 1002 -s /bin/sh test4

 [root@localhost mnt]# ls /home/  //查看所有用户

  2.passwd 设置用户密码

普通用户只能修改自己的密码,管理员可以修改所有人的密码
普通用户修改密码时需要先验证当前的密码

 3.usermod 修改用户属性

-L 锁定用户
-U 解锁用户

[root@localhost ~]# usermod -L test7   //通过注销系统验证登录
    [root@localhost ~]# su - test7          // 使用SU可以正常切换
    [test7@localhost ~]$ exit
    logout
    [root@localhost ~]# usermod -U test7

4.userdel  删除用户

删除目录里的用户,目录变成普通文件

-r 将用户宿主目录一起删除

当一个有其他的成员时,删除主组会报警,但是还是会执行命令主组会变为其他成员。

[root@localhost ~]# ls /home/
test  test2  test5  test7  user1
[root@localhost ~]# userdel test   //会留下宿主目录
[root@localhost ~]# ls /home/
test  test2  test5  test7  user1
[root@localhost ~]# rm -rf /home/test   //删除宿主目录
[root@localhost ~]# ls /home/
test2  test5  test7  user1
[root@localhost ~]# userdel -r test2   //递归删除,和宿主目录一起删除
userdel: group test2 not removed because it has other members.
[root@localhost ~]# su - test2  // - 表示环境变量
su: user test2 does not exist
[root@localhost ~]# ls /home/
test5  test7  user1

修改配置文件创建用户:

1.vim /etc/passwd  添加一行记录

修改  名称 uid  gid  描述 
2.vim /etc/shadow  添加一行记录 :wq! 强制保存退出

修改名称 (密码最短生效时间,最长生效时间,预警过期时间...)
3.vim /etc/group   添加一行主组记录

修改名称
4.生成宿主目录 [root@localhost ~]# cp -r /etc/skel/  /home/user6

5.修改宿主目录的权限 [root@localhost ~]# chown user6:user6 /home/user6 -R

 5.groupadd 新建组

  -g 指定组的 gid

[root@localhost ~]# groupadd -g 1009 group1
[root@localhost ~]# tail /etc/group   //查看

 6. 将用户从组中移除

 [root@localhost ~]# useradd -G group1 test8  //新建用户test8添加到group1组中
[root@localhost ~]# id test8
uid=1673(test8) gid=1673(test8) groups=1673(test8),1009(group1) //主组为test8
[root@localhost ~]# gpasswd -d test8 group1  //将test8从组中移除
Removing user test8 from group group1
[root@localhost ~]# id test8
uid=1673(test8) gid=1673(test8) groups=1673(test8) 

 7.删除组

#groupdel 组名
[root@localhost ~]# groupdel group1

 8.查看用户信息

 #id  用户名
[root@localhost ~]# id test8
uid=1673(test8) gid=1673(test8) groups=1673(test8)

 9.查看用户属于组的信息

#groups 用户名
[root@localhost ~]# groups test8
test8 : test8  //所有者:同组人

修改权限

chown user6:user6 /home/user6 -R   // 修改 所有者  所属组   用户地址  R是递归

10. gpasswd命令设置组帐号密码、添加/删除组成员

常用命令选项

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

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

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

[root@localhost ~]# gpasswd -a test market

正在将用户“test”加入到“market”组

[root@localhost ~]# grep "market" /etc/group  //查看组成员

market:x:1000:test

[root@localhost ~]# gpasswd -M  test,root,adm market    / / 将多个用户添加到组

[root@localhost ~]# grep "market" /etc/group

market:x:1000:test,root,adm

 四、文件/目录的权限和归属

1.查看文件权限和归属

[root@localhost ~]#  ls -l install.log 

 

 权限标识

——— — —— — —— — —
文件类型所有者同组人其他人

文件类型一般是权限的第一位

——1d除此之外
普通文件连接文件目录文件其他文件

权限表示   r:读         w:写        x:执行

数字表示  4:读        2:写        1:执行

2.修改用户权限

chmod (需要修改的类型) (+-=)(r,w,x)文件或者目录

类型简称ug oa
注释所有者同组人其他人全部

chmod 数字权限表示 文件或者目录

当其他人分组被修改成可写文件后,目录文件会高亮

当任意分组修改成执行文件后,文本文件和普通文件会变成绿色


http://www.niftyadmin.cn/n/5431519.html

相关文章

构建可靠的分布式配置中心:设计原则与实践指南

I. 引言 A. 分布式系统的配置挑战 在现代软件开发中,分布式系统已经成为主流。这些系统由多个相互连接的节点组成,各个节点可能位于不同的地理位置,运行在不同的硬件设备上。这种架构使得系统更具弹性和可伸缩性,但也带来了一系…

【状态压缩DP】第十三届蓝桥杯省赛C++ B组《积木画》(C++)

【题目描述】 小明最近迷上了积木画,有这么两种类型的积木,分别为 I 型(大小为 2 个单位面积)和 L 型(大小为 3 个单位面积): 同时,小明有一块面积大小为 2N 的画布,画布…

【C++】map和set深度讲解

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握map和set容器。 > 毒鸡汤:…

github登录时解决2FA问题

使用Edge浏览器下载插件 https://microsoftedge.microsoft.com/addons/detail/authenticator-2fa-client/ocglkepbibnalbgmbachknglpdipeoio 下载后弹框会显示是否添加,添加。如下: Chrome下 https://chrome.google.com/webstore/detail/authenticator…

Day44-sersync企业实时复制实战

Day44-sersync企业实时复制实战 1. sersync实时复制工具介绍1.1 sersync工具简介1.2 sersync特点1.3 sersync图解原理1.4 sersyncrsync实时复制方案项目实践1.4.1 图解项目方案架构及实现原理1.4.2 确保远程数据传输服务部署完成1.4.3 检查当前系统nfs01是否支持inotify实时监控…

如何用 UDP 实现可靠传输?并以LabVIEW为例进行说明

UDP(用户数据报协议)本身是一个无连接的、不可靠的传输协议,它不提供数据包的到达确认、排序保证或重传机制。因此,如果要在UDP上实现可靠传输,就需要在应用层引入额外的机制。以下是一些常见的方法: 确认和…

第二十章 构建和配置 Nginx (UNIX® Linux macOS)

文章目录 第二十章 构建和配置 Nginx (UNIX Linux macOS)Assumptions安装为CSP构建Nginx Web服务器 第二十章 构建和配置 Nginx (UNIX Linux macOS) 本页介绍如何构建和配置 Nginx Web 服务器,以便与 UNIX、Linux 或 macOS 上的 InterSystems Web Gateway 一起使用…

QT的一些小操作

一、延时 &#xff08;1&#xff09;在新的线程中可以使用QThread的静态方法msleep、sleep、wait等进行延时 &#xff08;2&#xff09;在主线程中使用以下代码进行延时不会阻塞线程 QTime time; time.start(); while(time.elapsed() < 10000){QCoreApplication::processE…