一、用户重要,用户管理命令同样重要

  用户是Linux系统安全的核心,每个登录Linux系统的用户都会分配相应的权限,这些权限取决于能否访问系统中各种对象。而管理这些用户的相关信息离不开用户管理命令,比如useradd、passwd、userdel、usermod等等这些命令。

二、浅谈useradd、passwd、userdel、usermod

  (1)useradd命令

    命令格式:useradd option username(用户名)

    命令解释:添加用户。

    其中option有如下选项:

      -u:手动指定用户的UID。

      -d:手动指定用户的HOME目录,默认是/home/username。

      -c:手动指定用户的说明。

      -g:手动指定用户的初始组,推荐不要去改动,默认即可。一个用户只能有一个初始组。

      -G:手动指定用户的附加组,一个用户可以有多个附加组。如果更改的话,前提要指定的附加组必须存在。

      -s:手动指定用户的登录shell,默认是/bin/bash。如果更改的话,确保shell不要弄错了,否则会登录失败。

    如果option不写,Linux会使用默认模版对新增的用户进行相关信息的设置。

  (2)passwd命令

    命令格式:passwd option username(用户名)

    命令解释:修改用户的密码。只有root用户能修改自己和别的用户的密码,其他用户只能修改自己的密码

    其中option有如下可选:

      -S:查询用户密码的状态。

      -l:暂时锁定用户。

      -u:解锁用户。

      --stdin:可以通过管道符输出的数据作为用户的密码。该选项用来批量设置用户的密码,写shell脚本有用。

    如果option不写的话,就是设置用户的密码。如果username不写的话,那就是修改当前用户的密码。

  (3)userdel命令

    命令格式:userdel option username(用户名)

    命令解释:删除用户。

    其中option有如下可选:

      -r:删除用户的同时会删除用户的HOME目录以及邮件目录。

    如果option不写的话,该命令只会删除/etc/passwd文件中的用户信息,而不会删除系统属于该账号的任何文件。

  (4)usermod命令

    命令格式:usermod option username(用户名)

    命令解释:修改用户的相关信息。

    其中option有如下可选:

      -u:修改用户的UID,该选项可以将某个非root用户修改为root用户,其中root用户的UID是0。

      -c:修改用户的说明。

      -G:修改用户的附加组。

      -l:修改用户的登录名。

      -L:暂时锁定用户。

      -U:解锁用户。

三、效果演示

  (1)添加用户stanson,并设置其用户说明和用户的HOME目录,查看/etc/passwd文件是否添加该用户。Linux命令如下,效果如图3-1所示。

 useradd -c "test stanson" -d /stanson stanson

  

                   图 3-1

  (2)设置用户stanson密码。Linux命令如下,效果如图3-2所示。

 passwd stanson

  

                   图 3-2

  (3)修改用户stanson的说明。Linux命令如下,效果如图3-3所示。

 usermod -c "admin stanson" stanson

  

                  图 3-3

  (4)删除用户stanson,并删除用户的HOME目录。Linux命令如下,效果如3-4所示。

 userdel -r stanson

  

                 图 3-4

Linux 用户篇——用户管理命令之useradd、passwd、userdel、usermod的更多相关文章

  1. Linux 用户篇——用户管理命令之id、whoami、su、chage

    一.浅谈id.whoami.su.chage 本篇是续写上一篇<Linux 用户篇——用户管理命令之useradd.passwd.userdel.usermod>. (1)id命令 命令格 ...

  2. linux常用命令之--用户与用户组管理命令

    linux的用户与用户组管理命令 1.用户和群组 groupadd:用于添加新的组群 其命令格式如下: groupadd [-option] 群组名 常用参数: -g GID:指定创建群组的GID(G ...

  3. linux学习(五)用户与组管理命令,以及用户信息文件解释

    目录 (1)/etc/passwd文件 (2)/etc/shadow passwd命令 userdel命令 usermod命令 groupadd @(用户与组管理命令) linux是一个多用户多任务的 ...

  4. Linux就业技术指导(五):Linux运维核心管理命令详解

    一,Linux核心进程管理命令 1.1 ps:查看进程 1.1.1 命令解释 功能说明 ps命令用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片.如果想要动态地显示进程,就需要使 ...

  5. 云计算:Linux运维核心管理命令详解

    云计算:Linux运维核心管理命令详解 想做好运维工作,人先要学会勤快: 居安而思危,勤记而补拙,方可不断提高: 别人资料不论你用着再如何爽那也是别人的: 自己总结东西是你自身特有的一种思想与理念的展 ...

  6. Linux用户和组管理命令-用户创建useradd

    用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...

  7. linux用户与组管理命令的基本操作

    用户账号管理命令 为了提高系统的利用率,避免因多个用户共用一个root账号而造成不必要要的系统安全隐患,通常需要为 新用户添加账户.在Linux系统中,添加用户只能由超级用户来完成,也就是说,只能由r ...

  8. Linux用户与组管理命令

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...

  9. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

随机推荐

  1. MyBatis openSession(),close(),和commit() 底层代码剖析

    一:MyBatis工具类 中openSession到底做了什么? Mybatis工具类 private static final String RESOURCE = "mybatis-con ...

  2. 【bzoj2115】【wc2011】Xor

    2115: [Wc2011] Xor Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 5380  Solved: 2249[Submit][Status ...

  3. 【bzoj4004】装备购买

    Portal-->bzoj4004 Solution 这题的话..其实就是求\(n\)个\(m\)维向量的极大线性无关组,并且要求权值最大 然后套路什么的跟Portal-->bzoj310 ...

  4. 在 Xamarin.Forms 实现密码输入EntryCell

    在 Xamarin.Forms 中,我们通常使用 TableView 来构建输入表单.Xamarin 为我们提供了 EntryCell 用于输入文本,但是其并不支持密码输入,即密码掩码.这里要对 En ...

  5. Java--Inheritance constructor继承中的构造方法问题(二)

    看了前辈的博客,觉得这两点说的精辟:子类构造方法必须要调用父类的某个构造方法:被子类调用的父类构造方法在父类中必须是存在的. 上篇的例子有一点不明白,子类继承了父类的成员变量,父类的构造函数里引用了该 ...

  6. C++中添加配置文件读写方法

    比如有一个工程,一些变量有可能需要不时的修改,这时候可以通过从配置文件中读取该数值,需要修改时只需要修改配位文件即可. 比如有一个这样的变量m_nTest; 我么可以写两个函数ReadConfig() ...

  7. angular 有关侦测组件变化的 ChangeDetectorRef 对象

    我们知道,如果我们绑定了组件数据到视图,例如使用 <p>{{content}}</p>,如果我们在组件中改变了content的值,那么视图也会更新为对应的值. angular ...

  8. libevent学习笔记(参考libevent深度剖析)

    最近自学libevent事件驱动库,参考的资料为libevent2.2版本以及张亮提供的<Libevent源码深度剖析>, 参考资料: http://blog.csdn.net/spark ...

  9. Tensorflow BatchNormalization详解:3_使用tf.layers高级函数来构建带有BatchNormalization的神经网络

    Batch Normalization: 使用tf.layers高级函数来构建带有Batch Normalization的神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 吴 ...

  10. C++对象与其第一个非静态成员地址相同

    由于对象的内存空间里是按顺序依次存储了它的非静态成员变量,因此对象和它的第一个非静态成员变量的地址是相同的: class A { private: int i; } int main() { A a; ...