电脑系统linux普通用户,Linux操作系统用户管理

Linux操作系统中用户有着不同功能的身份。

Linux系统中用户的分类

1)超级用户: root uid=0

2)系统用户:不需要登录系统,服务于应用程序,维护系统的运行,如 bin,nobody uid=1-499

3)普通用户:可以登录的用户 uid>=500

UID:用户标识

系统文件:

/etc/passwd:用户信息

/etc/shadow:用户密码相关的信息

对用户的操作:新增、删除、修改、查看、设置密码

1、查看用户 id

# id //默认查看的是当前用户的信息

uid=0(root) gid=0(root) groups=0(root)

# whoami //查看当前用户是谁

root

# id lp //查看指定用户的信息

uid=4(lp) gid=7(lp) groups=7(lp)

uid:用户标识

gid:组标识,用户的主组

groups:用户所属组信息

2、添加用户 useradd

注意:添加用户的操作只有 root 能操作

# useradd niulang

反例:

# su - niulang // switch user切换用户

$ useradd zhinv

-bash: /usr/sbin/useradd: Permission denied 权限被拒绝,普通用户是无法添加用户的

$ exit

logout

# id niulang

uid=500(niulang) gid=500(niulang) groups=500(niulang)

添加用户时,如果不指定用户的组,那么默认会创建一个与用户名同名的组作为用户的主要组。

1)添加用户时指定选项 man useradd

-c:注释性的描述信息

-d:指定用户的家目录

默认情况下:

root 的家目录是 /root

普通用户的家目录是 /home

-g:指定用户的主要组,前提是组必须存在

-G:指定用户的附加组(附属组),前提是组必须存在

-s:指定用户的登录 shell

-u:指定用户的uid

# head -1 /etc/passwd

root:x:0:0:root:/root:/bin/bash

用户名:密码位:uid:gid:注释性描述:用户的家目录:用户的登录shell

-u

-g

-c

-d

-s

# echo $SHELL //查看当前 shell,echo 可以用来打印变量

/bin/bash

要求区分的两种 shell

/bin/bash:可登录 shell,如果用户的 shell 是这个,那么该用户可以登录到系统中

/sbin/nologin:非登录shell,如果用户的 shell 是这个,那么该用户是不允许登录到系统的

格式:useradd 选项 选项的参数 ... 用户名

例子:

# useradd -u 600 -s /sbin/nologin zhinv

# id zhinv

uid=600(zhinv) gid=600(zhinv) groups=600(zhinv)

注意:添加用户时,实际上执行了以下操作

1、修改了 /etc/paasswd 文件

2、修改了 /etc/shadow 文件

3、修改了 /etc/group 文件

4、修改了 /etc/gshadow 文件

5、创建了家目录 /home

6、创建了邮箱帐号 /var/spool/mail/

# tail -1 /etc/passwd

zhinv:x:600:600::/home/zhinv:/sbin/nologin

# useradd -g 502 wangmu 错的

useradd: group '502' does not exist

# useradd -g zhinv wangmu

# id wangmu

uid=601(wangmu) gid=600(zhinv) groups=600(zhinv)

同时添加多个用户时,命令中间可以使用分号隔开

3、删除用户 userdel

# userdel wangmu //删除的时候不会删除用户的家目录和邮箱

# useradd wangmu //能添加,但是会有提示消息

useradd: warning: the home directory already exists.

Not copying any file from skel directory into it.

Creating mailbox file: File exists

-r: //可以干净的删除一个用户

# userdel -r wangmu

# cd /var/spool/mail/ //邮箱所在位置

4、给用户设置密码

passwd

超级用户:既可以修改自己的密码,又可以修改别人的密码,无需提供当前密码

普通用户:只能修改自己的密码,要求严格,并且需要提供当前密码,而且密码不能过于简单

# passwd //默认修改当前用户的密码

Changing password for user root.

New password:

BAD PASSWORD: it is based on a dictionary word

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

# passwd niulang //修改指定用户的密码

Changing password for user niulang.

New password:

BAD PASSWORD: it is too short

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

反例:

# su - niulang

$ passwd zhinv

passwd: Only root can specify a user name.

普通用户修改自己的密码,需要当前密码,而且长度最少6位,而且不能是字典单词

$ passwd

Changing password for user niulang.

Changing password for niulang.

(current) UNIX password:

New password:

BAD PASSWORD: it is based on a dictionary word

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

/etc/shadow:存放用户密码信息的文件

# head -1 /etc/shadow

root:$6$9AOmQbxm$3X1qbP0srKNql7jCXpmwhyNxGTHmIbT65zF.:16276:0:99999:7:::

用户名:加密后的密码:....

$6$:加密算法是sha512

$1$:加密算法是md5

-l 锁定密码 (实际是给密码前加 !!)

-u 解锁密码 (取消密码前的 !!)

5、修改用户:不常用

usermod: //modify:修改

-G:修改用户的附属组,不管用户原来的附属组如何,直接覆盖

-g:修改用户的主要组

-a:一般和-G联合使用,追加附属组

-u:修改用户的uid

-d:修改用户的家目录

-s:修改用户的shell

-L : 锁定账户 (实际是给账户密码前加 !)

-U: 解锁账户 (取消账户密码前的 !)

# useradd -G niulang,zhinv sha

# id sha

uid=601(sha) gid=601(sha) groups=601(sha),500(niulang),600(zhinv)

# useradd sha2

# usermod -G sha2 sha

# id sha

uid=601(sha) gid=601(sha) groups=601(sha),602(sha2)

# usermod -a -G niulang sha

# id sha

uid=601(sha) gid=601(sha) groups=601(sha),500(niulang),602(sha2)

谢谢您的阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上百台linux的服务器互信,批量自动建立linux服务器之间的ssh互信

介绍:我们在部署无密码访问时,如果手工输入.很费时间.下面方法用于自动化生成authorized_keys,免去了手工数据.方法: 利用expect编写sshkey.exp在远程主机上生成id_rsa,并重定向到本地.在利用noscp.exp.把文件复制到远程主机步骤:(本方法在centos6.4 上验证通过)1 本地执行ssh-…

debian 编译linux内核源码,Debian下为本机编译内核模块的方法

改用Debian之后发现用之前在Red Hat下编译内核模块的Makefile不好使了,原因是在/lib/modules/uname -r/下没有了build目录,也没有内核的源代码。上网查了一些资料,说在Debian下编译内核需要安装内核头文件。apt-get install linux-headers-un…

linux服务器操作系统日志都有哪些,Linux操作系统服务器日志管理详解

Linux操作系统服务器日志管理详解Linux操作系统服务器日志管理详解日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有&#…

linux7配置dns服务器,centOS7搭建DNS服务器配置详解

写在前言:DNS服务器中 named-checkconf -z /etc/named.conf 命令用来检查所有与DNS有关的配置文件,若有错误,会直接提示,可以代替相关的所有检查命令。通过yum安装所需的BIND软件,系统光盘中自带了BIND服务的安装文件。…

linux重新安装xrog文件,Linux下重新生成xorg.conf

较新版本的Linux系统都已经没有xorg.conf文件,但是有时候为了对显示做微调或为了支持多屏显示等原因,还需要手工生成一个xorg.c较新版本的Linux系统都已经没有xorg.conf文件,但是有时候为了对显示做微调或为了支持多屏显示等原因,…

linux获取weblogic版本,LINUX查看JDK和Weblogic版本命令

满意答案xjiank2014.05.03采纳率:50% 等级:12已帮助:4893人JDKA、查找目前所使用的linux下所使用的jdk安装后的目录:echo $JAVA_HOME;B、获得目前所使用的linux下所使用的jdk的版本java -version;C、获得…

如何知道linux的ssh秘钥是否匹配,SSH密钥验证

[SSH登录两种方式验证](一):用户名密码验证 说明:1.客户机向服务器发送SSH连接请求2.服务器收到请求,发送一个公钥给客户机3.客户机收到公钥,对输入的用户名密码进行加密返回给服务器4.服务器收到加密信息利用私钥解密对比用户…

linux 拨号网关,用LINUX做在一张软盘上的拨号网关 (转)

用LINUX做在一张软盘上的拨号网关 (转)[more]用做在一张上的拨号网关作者:linix摘要:本文给出了如何用LINUX做一个仅需要一张软盘的拨号网关。可以用它作为或一般MODEM的拨号网关。这些年PC机的发展真可以说是日新月异,这当然是好事。但是我们…

linux之父ted演讲视频观后感,ted演讲的观后感3篇

ted演讲的观后感3篇ted演讲的观后感篇一:《这一次是TED演唱,因为演讲真的很恐怖!》观后感 一个天生口吃的女孩,站在TED的讲台上,她要说她的故事,唱她的歌。这令我感触不少。先说一说,看完这场演讲,我脑中闪…

linux延迟绑定,php延迟绑定和非延迟绑定解析

php版本&#xff1a; php5.6延迟绑定有: get_class($this), get_called_class(), new static(), static::非延迟绑定有&#xff1a;get_class(), __CLASS__, new self(), self::使用new static()时<?phpclass NewStatic{//该类的实例private $newStatic; //判断$newStatic是…

学linux需要关闭防火墙,一起学习linux 关闭防火墙命令

p>Linux还是比较常用的&#xff0c;于是我研究了一下Linux关闭防火墙命令&#xff0c;在这里拿出来和大家分享一下&#xff0c;希望你能学会Linux关闭防火墙命令 。1) 永久性生效&#xff0c;重启后不会复原开启&#xff1a; chkconfig iptables on关闭&#xff1a; chkconf…

linux centos7 r安装,如何在CentOS 7上安装R

R是一种快速增长的开源编程语言和免费环境&#xff0c;专门从事统计计算和图形表示。它得到R统计计算基金会的支持&#xff0c;主要由统计学家和数据挖掘人员用于开发统计软件和执行数据分析。本教程将教您如何在CentOS 7上安装R以及如何从官方综合R归档网络(CRAN)安装R软件包。…

C语言实践作业报告,c语言社会实践报告

资料简介c 语言社会实践报告c 语言社会实践报告随着个人素质的提升&#xff0c;越来越多的事务都会使用到报告&#xff0c;报告中提到的所有信息应该是准确无误的。 相信许多人会觉得报告很难写吧&#xff0c;下面是为大家的 c 语言社会报告&#xff0c;仅供参考&#xff0c;欢…

c语言程序设计电加热炉,基于80C52单片机的电加热数字恒温控制系统设计

1 控制方案设计温度场是一个梯度场&#xff0c;温度的上升或下降随时间缓慢变化。电加热炉温度控制过程可以用自然降温、程序升温和恒温保持3个分过程来描述。自然降温&#xff1a;停止加热&#xff0c;环境温度在整个过程中保持不变&#xff0c;受控温度场最终稳定为环境温度。…

c语言程序培训,编写简单的c语言程序(noi培训)

编写简单的C语言程序(NOI培训),刘汝佳,何为“简单”&#xff1f;,百度风格&#xff1a;简单可依赖简单不等于简陋我们的目标&#xff1a;用简单、直观、不容易出错的程序来完成任意复杂的功能&#xff0c;而不是把各种“高级的东西”堆砌在一起&#xff0c;然后把包括自己在内的…

c语言用链表编写简单程序,C语言单链表简单实现(简单程序复杂化)

PS: goto还是很好玩的。#include #include typedef struct _node{int value;struct _node *next;} Node;typedef struct _list{Node* head;}List;void add(List* plist,int number);void print(List* list);void deletel(List* list,int number);void freel(List* list);int ma…

C++语言程序设计上机指导(二级),C++语言程序设计上机指导(二级)

第1章 上机基础1.1 考试大纲1.2 考纲提示1.3 考试要求1.4 题型和分值1.5 考试环境1.6 上机操作步骤1.6.1 启动1.6.2 登录1.6.3 考试开始1.6.4 交卷第2章 C语言基础2.1 C语言概述2.1.1 C语言的基本符号2.1.2 C语言的词汇2.1.3 C程序的基本框架2.2 数据类型、表达式和基本运算2.2…

6s在c语言中的用法,C语言中assert的用法讲解

assert是指编写代码时做出一些假设&#xff0c;断言就是用于在代码中捕捉这些假设&#xff0c;可以将断言看作是异常处理的一种高级形式。下面是小编为大家整理的C语言assert的用法讲解&#xff0c;欢迎参考~assert宏的原型定义在中&#xff0c;其作用是如果它的条件返回错误&a…

cmd c语言 图形,CMD-C彩图隐写方案

1.前言本文提出了当前经典的彩图隐写方案&#xff0c;它具有聚类修改方向的特点&#xff0c;是第一个公认的彩色图隐写方案&#xff0c;为后续彩图隐写术和隐写分析工作提供了清晰的思路&#xff0c;具有深远的意义。2.背景现代灰度图像隐写方案是在最小化失真函数框架下设计的…

android 闪存软件测试,手机为什么这么卡:闪存I/O测试AndroBench

手机为什么这么卡&#xff1a;闪存I/O测试AndroBench软件名称&#xff1a;Androbench软件版本&#xff1a;4.0.1软件大小&#xff1a;1.01MB软件授权&#xff1a;免费适用平台&#xff1a;Android很多朋友买手机只是为了日常使用&#xff0c;卡顿是最影响日常使用的心情的问题了…