一、基本介绍

Linux用户分为三类,即普通用户、根用户、系统用户。

普通用户指的是所有使用Linux系统的真实用户。

根用户就是root用户,权限最大,它的ID为0,也被称为超级用户,root用户拥有对系统绝对的控制权:可以修改、删除、运行任何文件。所以从另外一方面来说,它也是最危险的。

系统用户是指系统运行时必须有的用户,并不是指真实的使用者。

比如在RedHat或CentOS下运行网站服务时,需要使用系统用户apache来运行httpd进程,而运行mysql数据库服务时,需要使用系统用户mysql来运行mysqld进程。

通过ps aux命令可以查看系统用户进程。

ls -l 文件名 可以查看该文件权限

ls -l (在不加文件名的前提下可以查看所有文件权限)

id 可以查看自己的UID

groups 可以确认自己所在的组

who 查询当前在线用户

二、账号管理

新增用户: useradd 用户名

修改密码 :passwd 用户名修改或者直接passwd (注意前者密码设置很简单,可通过,后者密码如果设置过于简单,会导致设置失败)

修改用户:usermod

例如:

[root@Cfhost-170820-UCNK ~]# useradd tom

[root@Cfhost-170820-UCNK ~]# passwd tom

Changing password for user tom.
New password:
Retype new password:
Sorry, passwords do not match.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully. //查看用户tom在/etc/passwd中的记录,冒号隔开的是用户tom的新家目录
[root@Cfhost-170820-UCNK ~]# cat /etc/passwd | grep tom tom:x:559:559::/home/tom:/bin/bash//如果希望修改家目录为/home/tom_new,可以使用以下命令
[root@Cfhost-170820-UCNK ~]# usermod -d /home/alice_new -m alice
usermod: directory /home/alice_new exists [root@Cfhost-170820-UCNK ~]# usermod -d /home/tom_new -m tom [root@Cfhost-170820-UCNK ~]# cat /etc/shadow | grep tom tom:$6$Pii73qyW$8NvDm/UevXhiPowgdvtjv78pjrDUazxOldmuAEYIQZ0yiGRQQpgD9bZwsIkO
wuAOzv/D33IEL8/s..yPZPm8m.:17476:0:99999:7:::
[root@Cfhost-170820-UCNK ~]# usermod -L tom//冻结该用户
//执行下列命令时,你会发现第二列多了一个感叹号,使用usermo -U tom命令可以解冻结
[root@Cfhost-170820-UCNK ~]# cat /etc/shadow | grep tom
tom:!$6$Pii73qyW$8NvDm/UevXhiPowgdvtjv78pjrDUazxOldmuAEYIQZ0yiGRQQpgD9bZwsIkOwuAOzv/D33IEL8/s..yPZPm8m.:17476:0:99999:7:::

删除用户:userdel 用户名

userdel tom 该命令将会删除tom在/etc/passwd和/etc/shadow中的记录,但是并不会删除原来用户的家目录和邮件信息。可以使用userdel -r 用户名 来达到彻底删除的目的。

新增和删除用户

groupadd 组名 #新增组

groupdel 组名 #删除组

检查用户信息:

users 查看当前有哪些用户

who 查看在线用户

w 可以查看用户更加详细的信息(包括登录时间、ip地址等)

调查用户:finger

finger命令在不加任何参数的情况下,同样会显示系统的登录用户,如下图所示

Login     Name       Tty      Idle  Login Time   Office     Office Phone
root root pts/0 38 Nov 6 19:04 (183.240.196.151)
root root pts/1 21 Nov 6 19:29 (183.240.196.151)
root root pts/2 Nov 6 19:46 (183.240.196.151)
root root pts/3 21 Nov 6 19:46 (183.240.196.151)

补充:如果在finger 用户名 会显示该用户名更加详细的信息

切换用户:

su 命令单独使用直接切换为root用户

su - 用户名 切换到该用户

注意:使用su命令虽然方便,但还是存在缺陷,就是切换到其他用户时,需要知道该用户的密码,如果需要切换到root,那就需要知道root的密码。我们知道root是系统中1权限最高的用户,如果让太多人知道root密码是非常不安全的,所以我们建议使用sudo。

例行任务管理

单一时刻执行一次任务:at

例如: at now + 10 munutes

//30分钟后关机

atq查看当前使用at命令调度的任务列表

atrm 删除已经进入任务队列的任务

周期性执行任务:cron

crontab -l 查看设置的任务

crontab -r 删除所有任务

crontab -u 用户名 -l  //查看该用户任务列表

Linux系统学习之Linux账号管理的更多相关文章

  1. Linux学习笔记(五) 账号管理

    1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...

  2. Linux系统学习笔记:文件I/O

    Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...

  3. Linux内核学习笔记-2.进程管理

    原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  4. linux kernel学习笔记-5内存管理_转

    void * kmalloc(size_t size, gfp_t gfp_mask); kmalloc()第一个参数是要分配的块的大小,第一个参数为分配标志,用于控制kmalloc()的行为. km ...

  5. Linux系统的用户和用户组管理

    一.用户账户管理 Linux/Unix是一个用户.多任务的操作系统:在讲Linux账号及账户组管理之前,先简单了解一下多用户.多任务操作系统的基本概念. Linux的单用户多任务 在Linux下,当你 ...

  6. Linux系统学习 八、SSH服务—SSH远程管理服务

    1.SSH简介 ssh(安全外壳协议)是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议.传输的时候是经过加密的,防止信息泄露,比telnet(明文传递)要安全很多. ftp安装 ...

  7. Linux系统用户与属组管理(3)

    好了,终于要到了管理 Linux 账号的时刻了,对于 Linux 有一定的熟悉度之后,再来就是要管理连上 Linux 的账号问题了,这个账号的问题可大可小,大到可以限制他使用 Linux 主机的各项资 ...

  8. Linux系统学习之 一:新手必须掌握的Linux命令1

    2018-10-03 16:04:12 一.常用系统工作命令 1.wget 命令 作用:用于在终端中下载网络文件. 格式:wget [参数] 下载地址 参数及作用: -b : 后台下载模式 -d:显示 ...

  9. Linux系统学习(一)一Linux介绍

    一.Linux初识 1.1 Linux是什么 Linux是一种自由和开放源码的类UNIX操作系统,使用Linux内核.目前存在着许多不同的Linux发行版,可安装在各种各样的电脑硬件设备,从手机.平板 ...

随机推荐

  1. webstorm编辑器相关

    1.怎么去掉webstorm中间那条线? 如图: 2.webstorm 常见快捷键 1.代码导航和用法查询:只需要按着Ctrl键点击函数或者变量等,就能直接跳转到定义:可以全项目查找函数或者变量,还可 ...

  2. iPhone手机怎么投屏到电脑上

    如今生活水平不断上升,人们更加追求高质量.高享受的生活,所以可以利用一切资源提高生活质量,享受更好的生活体验,比如说手机投屏电脑就可以提高我们的视觉体验,所以更多的人去尝试,那么iPhone手机怎么投 ...

  3. Suricata规则编写——常用关键字

    本篇转载自:http://blog.csdn.net/wuyangbotianshi/article/details/44775181 1.简介 现在的NIDS领域snort一枝独秀,而suricat ...

  4. docker研究-2

    容器和虚拟机都是一种虚拟化技术,两者的主要区别: 虚拟机占用资源多,启动慢,荣誉步骤多:而容器启动快,占用资源少,体积小.Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它 ...

  5. vue 构建项目遇到的问题

    1.我在打包完成后,打开index.html文件发现地址并没有携带路由. config下的 index.js 中的build命令的配置有一个属性叫assetsPublicPath,它的值为‘/’.意思 ...

  6. [Python][小知识][NO.4] wxPython 字体选择对话框(O.O 不知道放到那里就放到这个分类的)

    1.前言 O.O 前两天回家浪了两天,断更了 哎~~~ o.o 有时候,有木有想改标签或编辑框中内容的字体呀?(o.o 反正我是没有). wxpython也可以说是所在的操作系统,有字体选择器,给我们 ...

  7. xxx.jar或者xxx.war中没有主清单属性和spring-boot-maven-plugin的作用

    因为springboot本身集成了tomcat插件,所以我们可以直接使用mvn clean package命令打成jar包或者war包,然后使java -jar xxx.jar 或者 java -ja ...

  8. 简单易懂的程序语言入门小册子(6):基于文本替换的解释器,引入continuation

    当我写到这里的时候,我自己都吃了一惊. 环境.存储这些比较让人耳熟的还没讲到,continuation先出来了. 维基百科里对continuation的翻译是“延续性”. 这翻译看着总有些违和感而且那 ...

  9. centOS7docker安装oracle

    1.拉取oracle 11g 的镜像: 用root登陆服务器,输入下面的命令,拉取oracle 11g的镜像,有点大,6.8G多: docker pull registry.cn-hangzhou.a ...

  10. 基于centOS7:新手篇→nginx安装

    一.首先安装编译工具和库 #安装make zlib gcc OpenSSL yum -y install make zlib zlib-devel gcc-c++ libtool openssl op ...