技术博客 技术博客
  • JAVA
  • 仓颉
  • 设计模式
  • 人工智能
  • Spring
  • Mybatis
  • Maven
  • Git
  • Kafka
  • RabbitMQ
  • RocketMQ
  • Redis
  • Zookeeper
  • Nginx
  • 数据库套件
  • MySQL
  • Elasticsearch
  • MongoDB
  • Hadoop
  • ClickHouse
  • Hbase
  • Hive
  • Flink
  • Flume
  • SQLite
  • linux
  • Docker
  • Jenkins
  • Kubernetes
  • 工具
  • 前端
  • AI
GitHub (opens new window)
  • JAVA
  • 仓颉
  • 设计模式
  • 人工智能
  • Spring
  • Mybatis
  • Maven
  • Git
  • Kafka
  • RabbitMQ
  • RocketMQ
  • Redis
  • Zookeeper
  • Nginx
  • 数据库套件
  • MySQL
  • Elasticsearch
  • MongoDB
  • Hadoop
  • ClickHouse
  • Hbase
  • Hive
  • Flink
  • Flume
  • SQLite
  • linux
  • Docker
  • Jenkins
  • Kubernetes
  • 工具
  • 前端
  • AI
GitHub (opens new window)
  • Docker

    • Docker 概念、命令及Dockerfile介绍
    • Docker-Compose 命令及基本使用
    • Docker私有库的开发
  • Jenkins

    • Jenkins(一) 持续集成及Jenkins介绍
    • Jenkins(二) Jenkins安装和环境配置
    • Jenkins(三) Jenkins用户管理及凭证
    • Jenkins(四) Maven安装和配置
    • Jenkins(五) Jenkins构建Maven项目
    • Jenkins(六) Jenkins项目构建细节
    • Jenkins(七) Jenkins+Docker+SpringCloud微服务持续集成(上)
    • Jenkins(八) Jenkins+Docker+SpringCloud微服务持续集成(下)
  • Kubernetes

    • kubernetes(一) 概念及介绍
    • kubernetes(二) 集群环境搭建
    • kubernetes(三) 资源管理
    • kubernetes(四) Namespace、Pod、Lable、Deployment、Service 的资源介绍
    • kubernetes(五) Pod 介绍及配置
    • kubernetes(六) Pod 生命周期
    • kubernetes(七) Pod 调度
    • kubernetes(八) Pod 控制器详解
    • kubernetes(九) Service介绍、类型及使用
    • kubernetes(十) Ingress介绍及使用
    • kubernetes(十一) 数据存储(挂载卷管理)
    • kubernetes(十二) 安全认证
    • kubernetes(十三) DashBoard
  • linux

    • linux 创建用户及权限操作
      • 用户
        • usermod
      • 用户组 group
      • 文件权限 chown
      • chmod
    • Linux 磁盘操作相关命令
    • Linux 文本数据处理工具awk命令
    • Linux 定时任务
    • Linux 命令总结
    • Linux 22端口对外攻击解决
目录

linux 创建用户及权限操作

# 用户

关于 useradd 的某些参数:

  • -u UID:指定 UID,这个 UID 必须是大于等于 500,并没有其他用户占用的 UID
  • -g GID/GROUPNAME:指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在
  • -G GROUPS:指定附加组
  • -c COMMENT:指定用户的注释信息
  • -d PATH:指定用户的家目录

-g 基本组:如果没有指定用户组,创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是基本组,不可以把用户从基本组中删除。在创建文件时,文件的所属组就是用户的基本组。
-G 附加组:除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。
用户不论为与基本组中还是附加组中,就会拥有该组的权限。一个用户可以属于多个附加组。但是一个用户只能有一个基本组。

查看所有用户

cat /etc/passwd
1

添加

useradd xulei -d /home/users/xulei
1

删除用户及关联的目录

userdel -r xulei
1

# usermod

usermod 命令用于修改用户帐号。

  • -c <备注>  修改用户帐号的备注文字。
  • -d 登入目录 >  修改用户登入时的目录。
  • -e <有效期限>  修改帐号的有效期限。
  • -f <缓冲天数>  修改在密码过期后多少天即关闭该帐号。
  • -g <主组>  修改用户所属主组。
  • -G <群组>  修改用户所属的附加群组。
  • -l <帐号名称>  修改用户帐号名称。
  • -L 锁定用户密码,使密码无效。
  • -s 修改用户登入后所使用的 shell。
  • -u 修改用户 ID。
  • -U 解除密码锁定。
  • -a 代表 append,也就是将用户添加到新用户组中而不必离开原有的其他用户组

将 xulei 添加到 root 组

usermod -g root xulei
1

如果添加的用户不能通过 ssh 登录,可以查看用户受否有 bash 权限

# 查看所有用户,可以查看用户是否有如下路径
cat /etc/passwd
# 修改用户有 /bin/bash 权限
usermod -s /bin/bash 用户名
# 禁止用户有 /bin/bash 改为 /sbin/nologin
usermod -s /sbin/nologin 用户名
1
2
3
4
5
6

# 用户组 group

关于组的增加和删除信息会在 etc 目录的 group 文件中找到,命令 cat /etc/group 可以看到自己的分组和分组 id,0 表示管理员(root),1 - 500 表示系统用户。

groupadd 命令 语法格式如下:

  • -g:指定新建工作组的 id;
  • -r:创建系统工作组,系统工作组的组 ID 小于 500;
  • -K:覆盖配置文件 "/ect/login.defs";
  • -o:允许添加组 ID 号不唯一的工作组。
  • -f,--force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的 GID_MIN 已经存在时,选择另一个唯一的 GID(即 - g 关闭)。

查看所有组

cat /etc/group
1

查看当前组

[xulei@node102 sh]$ groups 
xulei
1
2

查看用户所属组

[xulei@node102 sh]$ groups root
root : root
1
2

删除组

groupdel xulei
1

添加额外组

usermod -a -G 组名称 用户名
1

# 文件权限 chown

用来更改某个目录或文件的用户名和用户组。

  • user : 新的档案拥有者的使用者 ID
  • group : 新的档案拥有者的使用者群体 (group)
  • -c : 若该档案拥有者确实已经更改,才显示其更改动作
  • -f : 若该档案拥有者无法被更改也不要显示错误讯息
  • -h : 只对于连结 (link) 进行变更,而非该 link 真正指向的档案
  • -v : 显示拥有者变更的详细资料
  • -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更 (即以递回的方式逐个变更)
  • --help : 显示辅助说明
  • --version : 显示版本

修改 abc 文件的所有者

chown root abc
1

把目录 /demo 及其下的所有文件和子目录的所有人改成 root,所属组改成 roota。

chown -R root:roota /demo
1

# chmod

-rwxr--r--. 1 xulei root  98 Sep  7 11:49 arp.sh
1

-rwxr--r-- 一共 10 个字符,下面讲解下:

  • d 表示目录,如果是 - 表示是一个普通文件。剩余的 9 个字符,分成 3 组,每组 3 个字符,分别表示 user/group/others 的 rwx 权限;
  • u user 表示拥有者,可以看到拥有者是 xulei 用户,但文件还属于 root 组,因此 xulei 还是无法执行该文件。
  • g group 表示组,除了 mysql 这个人的 同一个 MySQL 组拥有的权力
  • o others 就是其他人了,啥权限也没有。
  • a 表示 “所有 (all) 用户”。它是系统默认值。
[root@node102 sh]# chmod a+rwx checkLogin.sh 
[root@node102 sh]# ll
total 16
-rwxr--r--. 1 xulei root  98 Sep  7 11:49 arp.sh
-rwxrwxrwx. 1 xulei root 353 Jan 19 17:31 checkLogin.sh
-rwxr--r--. 1 root  root 123 Sep  7 10:39 nginx_check.sh
-rwxr-xr-x. 1 root  root 595 Nov 27 15:15 start.sh
1
2
3
4
5
6
7
上次更新: 6/11/2025, 4:10:30 PM
kubernetes(十三) DashBoard
Linux 磁盘操作相关命令

← kubernetes(十三) DashBoard Linux 磁盘操作相关命令→

Theme by Vdoing | Copyright © 2023-2025
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式