千家信息网

【Linux】用户组、用户操作

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,​ /:根目录​ root:超级管理员(root)的家​ home:其他用户(普通用户)的家​ etc:配置文件​ usr:存放共享文件的(软件的安装路径)​ lib:依赖库Linux用户组和用户的概
千家信息网最后更新 2024年11月21日【Linux】用户组、用户操作


​ /:根目录

​ root:超级管理员(root)的家

​ home:其他用户(普通用户)的家

​ etc:配置文件

​ usr:存放共享文件的(软件的安装路径)

​ lib:依赖库

Linux用户组和用户的概念
基本概念
用户分为 超级管理员 和 普通用户
用户组 是用户的管理单元,一个用户至少属于一个用户组

依赖关系
超管 操作用户
超管可以创建、修改、删除 、修改密码
超管 操作用户组
超管可以增删改用户组、可以移动用户至不同用户组
用户组类似于标签,同一个用户可能有多个标签,也就是 一个用户可以属于多个用户组
用户操作
不能 增删改用户、用户组
超管 管理用户组
新增用户组
groupadd 组名
查看用户组
某个用户所属的组名 : groups 用户名
修改组名
groupmod -n 新组名 原组名
删除用户组
groupdel 组名
ps: 用户组下有用户,需要先删除完用户才能删除用户组
超管 管理用户
创建用户
useradd -m [-g 组名] 新用户名
参数解释:

  1. -m 自动在/home目录了,建立用户家目录,家目录名字就是新用户名
  2. -g 组名 指定新用户所在的组,如果不带"-g 组名"参数的话,会建立和新用户名同名的组

设置用户密码(修改)
passwd 新用户名

修改用户名
usermod -l 新名 旧名

删除用户
userdel -r 用户名
参数解释:

  1. -r recursion的缩写,递归。 将用户名的目录文件递归删除
    1.1 如果使用 -r 参数,再增加同名的用户名会报Creating mailbox file: File exists的错误

超管 管理用户和用户组
新增用户到用户组
useradd -m -g 组 新用户名
将用户移动到用户组
usermod -g 组 用户名
将用户复制到用户组
usermod -G 组 用户名
从组中删除用户
gpasswd -d 用户名 组
PS:能删除的用户只能是从其他组复制过来的用户,如果要删除组中的唯一用户,使用:userdel -r 用户名
超管 查看并修改 /etc/sudoers 文件的读写权限

  1. ll -h 查看sudoers的权限
    [root@james etc]# ll -h

-r-r-----. 1 root root 4.0K Mar 2 2012 sudoers

长度为10的表达式,第一位是文件类型标识位,后面9位是 3 * 3 的权限定义位

文件标识位

  • : 文件
    d : 目录
    为什么是三个3
    第一个3
    当前用户的权限
    第二个3
    跟当前用户同组的用户的权限
    第三个3
    其它组的用户的权限
    为什么每组有3位
    第1位
    r : 英语read的缩写 读权限
    第2位
    w : 英语write的缩写 写权限
    第3位
    x : 执行权限
    -r-r-----. root用户具备可读可写可执行的权限,跟root同组的用户只可读,其他组的用户没有任何权限
  1. -r-r----- 的二进制表示
    第1位:- 文件
    第2 - 4位 : r-- =100 = 1 22 + 0 11 + 0 * 10 = 4
    第5 - 7位 第 8 - 10位 同理

  2. 使用二进制参数修改sudoers的权限
    [root@james etc]# chmod 740 sudoers
    [root@james etc]# ll -h | grep sudoers
    -rwxr-----. 1 root root 4.0K Mar 2 2012 sudoers

超管 使用/etc/sudoers 授予用户sudo权限
vim /etc/sudoers 加入

普通用户 使用超管命令 - 必须加上sudo前缀
[tom@james ~]$ usermod -G emp tom
-bash: /usr/sbin/usermod: Permission denied
[tom@james ~]$ sudo usermod -G emp tom

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.#2) Think before you type.#3) With great power comes great responsibility.

[sudo] password for tom:
[tom@james ~]$

0