3.用户管理 终端命令

提示:创建用户/删除用户/修改其他用户密码的终端命令都需要通过sudo执行

3.1创建用户/修改密码/删除用户

序号 命令 作用 说明
01 useradd -m -g 组 新建用户名 添加新用户 * -m自动建立用户家目录
* -g 指定用户所在的组,否则会建立一个和同名的组
02 passwd 用户名 设置用户密码 如果是普通用户,直接用password
可以修改自己账户密码
03 userdel -r 用户名 删除用户 -r 选项会自动删除用户家目录
04 cat/etc/passwd | grep 用户名 确认用户信息 新建用户后,用户信息会保存在/etc/passwd文件中

提示

  • 创建用户时,如果忘记添加-m选项指定新用户的家目录--最简单的方能股份就是删除用户,重新创建
  • 创建用户时,默认会创建一个和用户名同名的组名
  • 用户信息保存在/etc/passwd文件中

3.2查看用户信息

序号 命令 作用
01 id[用户名] 查看用户UID和GID的信息
02 who 查看当前所有登录的用户列表
03 whoami 查看当前登录用户的账户名

passwd文件

/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,列分别是

1.新建用户名

2.密码(x,表示加密的密码)

3.UID(用户标识)

4.GID(组标识)

5.用户全名或本地账号

6.家目录

7.登录使用的Shell,就是登录之后,使用的终端命令,ubuntu默认是dash

查看当前用户的信息只用输入id即可:

下图中的(:0)登录地址为当前计算机

用Shell实现多用户登录

再回到Ubuntu就可以看到多用户who,下图就是用Shell登录的张三的用户,时间以及ip地址

usermod

  • usermod可以用来设置用户主组/附加组登录Shell ,命令格式如下:
  • 主组:通常在新建用户是指定,在etc/passwd第4列GID对应的组
  • 附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限

提示:设置了用户的附加主之后,需要重新登录才能生效!

#修改用户的主组(passwd 中的GID)
usermod -g 组 用户名 #修改用户的附加组
usermod -G 附加组 用户名 #修改用户登录 Shell
usermod -s /bin/bash

*注意:默认使用useradd添加的用户是没有权限使用sudoroot usermod -G sudo 用户名`

后面的python表示用户名,而前面的附加组比如:adm,cdrom等都是python用户所具有的权限

zhangsan的用户就没有附加组的权限:

zhangsan添加附加组:

which(重要)

提示

  • /etc/passwd是用于保存用户信息的文件
  • /usr/bin/passwd是用于修改用户密码的程序
  • which命令可以查看执行命令所在位置,例如:
which ls   

#输出
#/bin/ls which useradd #输出
#/usr/sbin/useradd

执行后如下: 其中rwss表示__可执行权限__

bin 和 sbin

  • Linux中,大多数可以执行文件都保存在/bin/sbin/usr/bin/usr/sbin
  • /bin (binary)是二进制执行文件目录,主要用于具体应用
  • /sbin (system binary)是系统管理员专用的二进制存放目录,主要用于系统管理
  • /usr/bin (user commard dor applications)后期安装的一些软件
  • /usr/sbin (super user commands for applications)禅机用户的一些管理程序

提示:

*cd这个终端命令是内置在系统内核中的,没有独立的文件,因此用which无法找到cd命令的位置

3.3 切换用户

序号 命令 作用 说明
01 su -用户名 切换用户,并且切换目录 -可以切换到用户家目录,否则保持位置不变
02 exit 退出当前登录账户
  • su不接用户名,可以切换到root,但是不推荐使用,因为不安全
  • exit示意图如下:

3.4 修改文件权限

序号 命令 作用
01 chown 修改拥有者
02 chgrp 修改组
03 chmod 修改权限

注意:操作文件夹,需要另外加R的命令

*命令格式如下:

# 修改文件|目录拥有者  “|”是或者的意思
chown 用户名 文件名|目录名 #递归修改文件|目录的组
chgrp -R 组名 文件名|目录名 #递归修改文件权限,操作文件夹
chmod -R 755 文件名|目录名
  • chmod在设置权限时,可以简单第使用三个数字分别对应__拥有者/组__和__其他__用户的权限
# 直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他
chmod +/-rwx 文件名|目录名

  • 常见数字组合有(u表示用户/g表示组/o表示其他):
  • 777===>u=rwx,g=rwx,o=rwx
  • 755===>u=rwx,g=rx,o=rx
  • 644===>u=rw,g=r,o=r

例子:

操作文件夹:需要有R

3-3 用户管理-新建用户useradd和passwd的更多相关文章

  1. Linux 用户篇——用户管理命令之useradd、passwd、userdel、usermod

    一.用户重要,用户管理命令同样重要 用户是Linux系统安全的核心,每个登录Linux系统的用户都会分配相应的权限,这些权限取决于能否访问系统中各种对象.而管理这些用户的相关信息离不开用户管理命令,比 ...

  2. (四)Linux之用户管理(用户和用户组)

    Linux之用户管理(用户和用户组) 目录 Linux之用户管理(用户和用户组) 一.概述 二.用户和组的关系 三.关于UID和GID(用户ID和组ID) 四.用户和组的数据 /etc/passwd内 ...

  3. 用户管理 之 用户(User)和用户组(Group)配置文件详解

    用户(User)和用户组(Group)的配置文件,是系统管理员最应该了解和掌握的系统基础文件之一,从另一方面来说,了解这些文件也是系统安全管理的重要组成部份:做为一个合格的系统管理员应该对用户和用户组 ...

  4. linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

  5. 给Linux添加新用户,新建用户,新建帐号

    给Linux添加新用户,新建用户,新建帐号 添加用户组 sudo groupadd groupname 添加用户 sudo useradd username -m -s /sbin/nologin - ...

  6. Linux系统 关机/重启/用户切换/注销,用户管理(用户创建/修改,用户组增加/删除),Linux中 / 和 ~ 的区别

    1.关机/重启命令 shutdown命令 shutdown -h now :立即关机 shutdown -h 1 :1分钟后关机 shutdown -r now :立即重启 shutdown -r 1 ...

  7. 【Linux学习】Linux用户管理2—用户配置文件

    Linux用户管理2-用户配置文件 /etc/passwd: 存放系统用户的文件 输入 vi /etc/passwd /etc/shadow: 保存保密文件 /etc/group: 群组文件 输入 v ...

  8. 【Linux学习】Linux用户管理1—用户查询指令、用户切换

    Linux用户管理1-用户查询指令.用户切换 一.用户查询指令 who: 查看当前在线用户情况 -a:显示所有用户的所有信息 -m:显示运行该程序的用户名,和"who am I"的 ...

  9. Oracle Database XE 11gR2 自带的用户,新建用户,修改用户密码

    操作系统:Windows 10 x64 第一节:下载 Oracle Database XE 11gR2 第二节:安装.验证安装 Oracle Database XE 11gR2 第三节:Oracle ...

随机推荐

  1. Mysql 的异常:The last packet successfully received from the server was 90 milliseconds ago. The last packet sent successfully to the server was 43,603,303 milliseconds ago. is longer than the server con

    调试一个程序, 调试到一半, 下班回家, 程序卡在了某一行, 第二天早上回来一看, 发现了异常: Wed Sep :: GMT+: WARN: Establishing SSL connection ...

  2. Centos7 死活上不了网

    NAT模式,手动修改ifcfg 如下: # vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=EthernetPROXY_METHOD=noneBR ...

  3. 针对windows系统如何解决openssl_pkey_export(): cannot get key from parameter 1这个问题

    为了解决这个问题我百度了很多方法,可是很多方法并没有效果. 方法一: 如果你安装的是phpstudy这个集成环境,那么 1.你就要去php拓展里面去打开php_opemssl中打开这个扩展. 2.去p ...

  4. Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包

    场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  5. SSH框架之Spring第四篇

    1.1 JdbcTemplate概述 : 它是spring框架中提供的一个对象,是对原始JdbcAPI对象的简单封装.spring框架为我们提供了很多的操作模板类. ORM持久化技术 模板类 JDBC ...

  6. 测试工程师如何使用 CODING 进行测试管理

    CODING 为您的企业提供从概念到软件开发再到产品发布的全流程全周期软件研发管理,为您的研发团队提供全程助力,帮助研发团队捋清需求.不断迭代.快速反馈并能实时追踪项目进度直到完成.同时 CODING ...

  7. vmware vsphere client 虚拟机动态添加磁盘

    0x00 事件 为了在虚拟机添加了磁盘之后,不重启机器加载新磁盘. 如上图,添加了一块 10G 的磁盘之后. 在虚拟机中是看不到新添加的磁盘: 0x01 解决 运行如下命令,通过重新扫描 SCSI ( ...

  8. sql server日期转换为dd-mon-yyyy和dd-MMM-yyyy这样的英文月份格式(27-Aug-2019)

    脚本: /* 功能:sql server日期转换为dd-mon-yyyy和dd-MMM-yyyy这样的格式 示例:27-Aug-2019 作者:zhang502219048 脚本来源:https:// ...

  9. tensorflow基础-数据类型

    一:tensorflow中的计算定义和执行 首先,对于tensorflow来说,最重要的概念就是图(Graph)和会话(Session),tensorflow的计算思想是:以图的形式来表示模型,表示和 ...

  10. 从零开始学习java一般需要多长时间?

    从零开始学习java一般需要多长时间? 其实学java一般要多久?因人而异,例如一个零基础的小白自学java,每天学习8个小时来算,而且在有学习资料的基础上,每天学习,从零到找到工作,起码要半年起步, ...