在实际的工作中,在接触Linux的用户组管理的时候,一般来说都是在系统开建设的时候设置好,root权限由特定的负责人保管用户密码,避免误操作带来不必要的麻烦。

在具体使用的时候,会利用相关的命令设置一些对应的用户,给与一些合适的权限进行管理。

用户的新增和修改

  • 在使用的时候,可以通过这几个命令去查看用户、用户组和在线的用户idgroupswho

  • 使用命令cat /etc/passwdcat /etc/shadow ,查看系统登录的用户名和密码

  • 使用命令useradd name ,会在/etc/passwd和/etc/shadow末尾追加一条记录,同时会分配给该用户一个UID,完成一个用户的新增。

  • 创建一个UID为555的账号 useradd -u 555 user01

  • 创建一个用户user02所属的group是user01 useradd -g user02 user01

  • 创建一个user 3,可以指定/home/mydir3作为user3用户的家目录useradd -d /home/mydir3 user3

  • 修改用户的usermode

  • 删除用户userdel userdel name(用户名)

新增和删除用户组

  • 新增用户组 groupadd 组名
  • 查看用户组信息 cat /etc/group
  • 删除用户组groupdel 组名

检查用户信息

  • 使用命令,userswhow ,这几个命令都还是可以查看用户信息,并且所能查看的信息也是递增关系的。
  • finger命令在不加任何参数的情况下,同样会显示系统的登录用户
  • 使用命令finger 用户名可以直接查看用户的具体信息

切换用户

  • 在Linux中,实际使用root用户的情况会比较少,基本都是使用权限相对较低的用户,减少在使用中带来的不安全的问题。
  • 主要使用su 和 sudo 这两个命令来切换根用户(root),普通用户,系统用户。使用exit可以退出当前登陆的用户,切换用户进行登陆。
  • su 默认情况下就是切换到root用户,在su- 这里,还可以加参数,这样做和直接输入命令的区别在于前者是只切换了用户到root,后者不仅用户切到了root,还把对应的环境也是切换到了root之中。
  • 在使用su命令的过程中,root用户切换到其他用户都是不需要的,其他用户切换到root是必须要知道root密码,这可能会带来不必要的麻烦

  • 在sudo这个命令中,可以使用方式是在sudo后跟上需要执行的命令,比如说sudo passwd user1,即使用root的身份修改user1的密码。运行该命令时,系统首先检查/etc/sudoers,判断该用户是否有执行sudo的权限,在确定有执行权限后,系统要求用户输自己的密码,如果密码输入正确,则会以root用户的身份运行passwd user1命令。
## Sudoers allows particular users to run various commands as
## the root user,without needing the root password.
##
## Examples are provided at the bottom of the file for collections
## of related commands,which can then be delegated out to particular
## users or groups.
##
## This file must be edited with the 'visudo' command.
......(略去内容)......
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
john ALL=(ALL) ALL #复制上一行的内容,并修改用户名为john
## Allows members of the 'sys' group to run networking,software,
## service management apps and more.
# %sys ALL = NETWORKING,SOFTWARE,SERVICES,STORAGE,DELEGATING,PROCESSES,LOCATE,DRIVERS
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
## Allows members of the users group to mount and unmount the
## cdrom as root
# %users ALL=/sbin/mount /mnt/cdrom,/sbin/umount /mnt/cdrom
## Allows members of the users group to shutdown this system
# %users localhost=/sbin/shutdown-h now

具体的使用是在使用之前设置文件/etc/sudousers的配置,命令visudo,,可以直接对文件进行修改主要anywhere附近的用户,添加一个控制的用户,以后可以使用这个用户进行间接控制,从而不咋在使用root用户。

在配置文件中的root下设置这种配置,表示使用用户名为John的用户,切换用户权限的时候不需要输入密码,可以控制服务器的启动和关闭

``john ALL=(ALL) NOPASSWD: /sbin/shutdown,/usr/bin/rebboot

例行执行任务管理

Linux中也有处理这两种任务的方法。如果任务是周期性执行的,其命令为cron;如果只是在某一个特定的时间执行一次,其命令为at。通俗来讲就是在执行一些定时任务的时候会使用到的命令。

Linux学习系列--用户(组)新增、查看和删除的更多相关文章

  1. Linux学习之用户身份与文件权限

    Linux学习之用户身份与文件权限 1 用户身份及能力 Linux系统的管理员之所以是root,并不是因为其名叫root,而是该用户身份号码数值(UID)为0. 管理员UID为0:系统的管理员用户 系 ...

  2. Linux学习之用户配置文件详解(十四)

    Linux学习之用户配置文件详解 目录 用户信息文件/etc/password 影子文件/etc/shadow 组信息文件/etc/group 组密码文件/etc/gshadow 用户信息文件/etc ...

  3. c/c++ linux epoll系列2 利用epoll_wait查看是否可以送信

    linux epoll系列2 利用epoll_wait查看是否可以送信 write函数本来是非阻塞函数,但是当缓存区被写满后,再往缓存区里写的时候,就必须等待缓存区再次变成可写,所以这是write就变 ...

  4. Linux学习之用户管理命令与用户组管理命令(十五)

    Linux学习之用户管理命令与用户组管理命令 目录 用户管理命令 用户添加命令useradd 修改用户密码passwd 修改用户信息usermod 修改用户密码状态chage 删除用户userdel ...

  5. Linux学习系列八:操作网口

    一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在 ...

  6. Linux学习--4.用户和组的管理

    用户和组的管理 前言 本篇文章主要讲Linux系统下用户和组的概念,还有添加用户和组,修改用户和组的基本操作,会涉及不少与之相关的配置文件与命令的介绍,几乎所有 正文 首先,简单提下概念,用户是操作系 ...

  7. linux学习系列三

    1. 账户与账户安全 账户和组是操作系统的基本概念,linux的组有基本组和附加组之分,一个用户只可以加入到一个基本组中国,但是可以加入到多个附加组中.创建用户时,系统默认会自动创建同名的组,并设置用 ...

  8. linux 学习7 用户管理相关文件 r

    7.1.用户配置文件 7.2.用户管理相关文件 7.3.用户管理命令 7.4.用户组管理命令 删除用户userdel [root@localhost ~]# userdel [-r] 用户名 //一定 ...

  9. linux基础之用户登录信息查看命令

    用户登录信息查看命令 1.who命令 同一个账号通过不同终端登录也属于不同的登录信息,这里不同的终端包含虚拟终端和模拟终端,因为一个用户通过一个终端登录属于一个session 基本介绍 打印当前系统上 ...

随机推荐

  1. 关键字 global和nonlocal

    globale 表示从全局把一个变量(比如a)引入局部,后面的变量全是此变量a 使用   globale 变量名 # 全局变量一般是不能随意的修改的 # a = 10 # def func(): # ...

  2. Java学习笔记-基础语法ⅩⅠ-UDP、TCP

    网络编程 三要素:IP地址.端口.协议 IP地址:使用ipconfig查看,如果装了VM的话,会有VMnet1.VMnet8和WLAN,net1不能从虚拟机到主机,net8不能从主机到虚拟机,net0 ...

  3. 【面试普通人VS高手】Spring 中Bean的作用域有哪些?

    一个工作3年的小伙子,去面试被问到Spring里面的问题. 这个问题比较简单,但是他却没有回答上来. 虽然他可以通过搜索引擎找到答案,但是如果没有理解,下次面试还是不会! 这个面试题是: " ...

  4. 聊聊FLINK-25631贡献

    从入行做数据库开发,到2018年过渡到大数据开发,可以说我已经与sql朝夕相处了七八年了,经常惊讶于简单的语法就能产生复杂的操作,而且还能根据索引等统计信息自动优化,不禁很想实现自己的sql语法,却不 ...

  5. 1903021121-刘明伟-java十一周作业-java面向对象编程

    项目 内容 课程班级博客链接 19级信计班(本) 作业要求链接 第十一周作业 博客名称 1903021121-刘明伟-java十一周作业-java面向对象 要求 每道题要有题目,代码(使用插入代码,不 ...

  6. 从NSSRound#1学到了什么

    sql_by_sql 二次注入: 更改密码的功能形如: update user set password='%s' where username='%s'; 的语句就可以存在二次注入,即假设有个adm ...

  7. Ubuntu中安装redis

    第一种方式在线安装首要前提安装c语言编译环境,命令如下:$sudo apt-get install gcc 安装完成后可以输入$gcc --version查看版本 1.获取源码:$wget https ...

  8. Git命令行提交代码步骤

    先进入对应的项目目录 1.拉取服务器代码,避免覆盖他人代码 git pull 2.查看当前项目中有哪些文件被修改过 git status 具体状态如下: 1:Untracked: 未跟踪,一般为新增文 ...

  9. 好客租房8-React基础阶段总结

    React总结 1react是构建用户组件的javascript库 2使用react是,推荐使用脚手架方式 3初始化项目命令:npx create-react-app my-app 4启动项目命令:y ...

  10. python基础与数据类型(int, float, str, list)

    目录 python多版本共存 在cmd窗口进入不同版本的python环境 在pycharm中切换不同的版本 python语法之注释 python变量与常量 变量 变量的本质 变量的命名规范 常量 py ...