Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须拥有一个账号,然后以这个账号的身份进入系统。

  用户:使用linux系统的人。

  用户组:具有相同权限的一组用户。

  linux中的用户分为root用户和非root用户。非root用户即普通用户。当然也可以分三种用户身份,系统用户、 普通用户和根用户。

    1.根用户(超级用户):根用户权限最大,UID默认为0。
    2.系统用户: 系统运行时的一些特 殊用户,这类用户默认被限制登陆系统,但是一些进程需要使用这类用户运行,比如系统中的httpd进程就是使用用户apache运行的。这样是为了系统中系统服务由这些用户运行,更加安全。 它们的UID为1-999。
    3.普通用户:和系统用户不一样通常普通用户通过用户名和密码登录到系统,即管理员创建的用于日常工作而不能管理系统的普通用户,UID一般大于500。

查看更用户和用户组相关的文件

/etc/group:存储当前系统所有用户组的信息。每一行对应一个用户组信息。每一行用多个冒号:连接,作用也不同。

[root@localhost data]# cat /etc/group
root:x::
bin:x::
daemon:x::
sys:x::
adm:x::
tty:x::
disk:x::
lp:x::
mem:x::
kmem:x::
wheel:x::xyy

分别代表

组名称  组命名占位符 组编号 组中用户名列表。

我们看有些组中用户名列表是空的,说明这个用户组可能没有用户,当这个用户组只有一个用户且用户名和组名相同时候,可以省略。

1. root用户组,组号一定是0。

2. 组号1-499是系统预留的组号,比如给一些软件服务用的,mysql,httpd。

3. 用户手动创建的组号是从500开始的。

4. 组密码占位符都是用x来表示的。

/etc/gshadow: 存储系统用户组的密码信息。

[root@localhost data]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
lp:::
mem:::
kmem:::
wheel:::xyy
cdrom:::
mail:::postfix

/etc/group文件有多少行 /etc/gshadow就有多少行,每一行都一一对应。

[root@localhost data]# wc -l  /etc/group
/etc/group
[root@localhost data]# wc -l /etc/gshadow
/etc/gshadow

组名称  组密码  组管理者 组中用户列表

组密码为 * 代表组没有密码。组管理者尾款那么组里用户都可以管理这个用户组。组中用户列表和/etc/group里的组中用户列表一样。

/etc/passwd:存储系统中所有用户的信息。

[root@localhost data]# cat /etc/passwd
root:x:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
adm:x:::adm:/var/adm:/sbin/nologin
lp:x:::lp:/var/spool/lpd:/sbin/nologin
sync:x:::sync:/sbin:/bin/sync
shutdown:x:::shutdown:/sbin:/sbin/shutdown
halt:x:::halt:/sbin:/sbin/halt
mail:x:::mail:/var/spool/mail:/sbin/nologin
operator:x:::operator:/root:/sbin/nologin
games:x:::games:/usr/games:/sbin/nologin
ftp:x:::FTP User:/var/ftp:/sbin/nologin
nobody:x:::Nobody:/:/sbin/nologin
avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin

用户名  :  密码占位符  :  用户编号 :用户组编号 : 用户注释信息 :  用户主目录 : shell类型 (用来执行用户输入指令硬件接口,通常是/bin/bash)

/etc/shadow : 存储系统所有用户密码信息。

[root@localhost data]# cat /etc/shadow
root:$$xlxl/3ch$XPvzGYnvC.jk5y7NvQcbNO/8RZ6pLCFvFi79ceS7fXbffKEHG1tfRwbB/9UzApx6uTbM2B5T3I.PK9Aw3bBLr1:::::::
bin:*:::::::
daemon:*:::::::
adm:*:::::::
lp:*:::::::
sync:*:::::::
shutdown:*:::::::
halt:*:::::::
mail:*:::::::
operator:*:::::::
games:*:::::::
ftp:*:::::::
nobody:*:::::::

添加修改组和用户


批量添加用户

https://www.cnblogs.com/webnote/p/5936250.html

groupmod命令用于更改群组识别码或名称。

语法:

groupmod [-g <群组识别码> <-o>] [-n <新群组名称>][群组名称]

参数

  • -g    <群组识别码>  设置欲使用的群组识别码。
  • -o  重复使用群组识别码。
  • -n   <新群组名称>  设置欲使用的群组名称。
[root@localhost ~]# groupadd group_test
[root@localhost ~]# tail -n /etc/group
song:x::
group_test:x::
[root@localhost ~]# groupmod -n group_test_new group_test
您在 /var/spool/mail/root 中有新邮件
[root@localhost ~]# tail -n /etc/group
song:x::
group_test_new:x::

Linux用户身份切换命令

su(switch user)命令可以用来切换用户的。

在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】

[song@localhost root]$ su - song
密码:
上一次登录:日 5月 :: CST 2018pts/ 上
[song@localhost ~]$ whoami
song

切换到root用户

[song@localhost ~]$ su -
密码:
上一次登录:日 5月 :: CST 2018从 192.168..192pts/ 上
[root@localhost ~]# whoami
root

也可以使用exit

[song@localhost ~]$ exit
登出

passwd命令后面不能加用户名

[song@localhost ~]$ passwd song
passwd:只有根用户才能指定用户名。

禁止用户登录


进入/etc/passwd文件将用户song后面改成/sbin/nologin,这样用户song就被禁止登陆了。

也可以命令来修改这个文件

[root@localhost dirIn]# usermod -s /sbin/nologin song
[root@localhost dirIn]# tail -n /etc/passwd 查看发现已经修改了
song:x::::/home/song:/sbin/nologin

也可以用命令usermod来禁止用户。

[root@localhost dirIn]# usermod  -L song

song用户登录提示

login as: song
song@192.168.199.190's password:
Access denied

解锁用户

[root@localhost dirIn]# usermod  -U  song

删除用户

userdel命令可以用于删除用户帐号及相关档案。
语法:userdel [-r] 用户名
参数:-r 用于彻底删除,用户HOME目录下的档案会被移除,在其他位置上的档案也将一一找出并删除,比如路径/var/mail/用户名 下的邮件。
警告:userdel不允许你移除正在线上的使用者帐号。你必须kill此帐号现在在系统上执行的程序才能进行帐号删除。
用法示例:
彻底删除名为zhidao的用户:
$ userdel -r zhidao

 查看当前用户及系统用户信息的一些命令


who命令看当前正在登录的用户

[root@localhost ~]# whoami
root

who命令查看当前系统登录了哪些用户

[root@localhost ~]# who
root pts/ -- : (192.168.199.192)
song pts/ -- : (192.168.199.192)

w命令用于显示目前登入系统的用户信息,以及他们正在执行的命令,下面最后列信息。

[root@localhost ~]# w
:: up :, users, load average: 0.01, 0.02, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 192.168.199.192 : .00s .70s .42s w
song pts/ 192.168.199.192 : .00s .09s .09s -bash

last命令用于显示用户最近登录信息。不加参数的last命令会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。

[root@localhost ~]# last
song pts/ 192.168.199.192 Thu May : still logged in
root pts/ 192.168.199.192 Thu May : still logged in
song pts/ 192.168.199.192 Thu May : - : (:)
song pts/ 192.168.199.192 Thu May : - : (:)
.........

lastlog命令用于显示系统中所有用户最近一次登录信息,并格式化输出上次登录日志/var/log/lastlog的内容。

[root@localhost ~]# lastlog
用户名 端口 来自 最后登陆时间
root pts/ 192.168.199.192 四 5月 :: +
bin **从未登录过**
daemon **从未登录过**
adm **从未登录过**
lp **从未登录过**
sync **从未登录过**
shutdown **从未登录过**
halt **从未登录过**
mail **从未登录过**
operator **从未登录过**
games **从未登录过**

参数u可以指定某个用户

[root@localhost ~]# lastlog -u song
用户名 端口 来自 最后登陆时间
song pts/ 192.168.199.192 四 5月 :: +
您在 /var/spool/mail/root 中有邮件
[root@localhost ~]# lastlog -u root
用户名 端口 来自 最后登陆时间
root pts/ 192.168.199.192 四 5月 :: +

显示当前用户信息

# id //显示当前用户ID
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t

显示用户群组的ID

# id -g
0

显示所有群组的ID

# id -g
0 1 2 3 4 5 6 10

显示指定用户信息

# id hnlinux

http://man.linuxde.net/id

【Linux】linux用户系统管理的更多相关文章

  1. 2.Linux的用户、用户组、权限、文件系统管理及其网络配置

    2.1 Linux的用户及用户组 2.1.1 Linux的用户管理 用户账号管理包含以下三个方面: 用户账号的添加.删除.与修改 用户口令(密码)的管理 用户组的添加.删除管理 Linux系统中用户信 ...

  2. Linux 新建用户、用户组,给用户分配权限(chown、useradd、groupadd、userdel、usermod、passwd、groupdel)

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  3. 用Bash脚本将Linux普通用户添加为系统管理员

    将Linux普通用户添加为系统管理员在Gnome或KDE这样强大与完善的桌面环境下是非常简单的事情,一般来说在用户设置的对话框里就直接有相应选项.不过,出于简洁与高效的风格,自己目前并未使用这些高端但 ...

  4. Linux命令大全----系统管理相关命令

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka       摘要:本文主要讲了Linux命令大全----系统管理相关命令,并附有实例 一.安装 ...

  5. Linux 新建用户、用户组,给用户分配权限

    注:内容来自网络 Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对 ...

  6. Linux将用户添加到组的指令

    原文:https://blog.csdn.net/youmatterhsp/article/details/80549683:           https://www.cnblogs.com/cl ...

  7. 【转】linux 设置用户id 设置组id

    linux 设置用户id 设置组id   转自 linux 设置用户id 设置组id   最近看apue,简单记录对设置用户id理解(设置组id同理). 1. 相关的id好像很多,共有哪些? 文件2个 ...

  8. Linux给用户添加sudo权限

    一.linux给用户添加sudo权限: 有时候,linux下面运行sudo命令,会提示类似: xxxis not in the sudoers file.  This incident will be ...

  9. Linux跨用户copy文件

    foo用户home目录下有一文件file.txt,要将其copy至bar用户的home目录.Linux对用户home目录有严格的权限限制,非owner用户或者同group用户无权限读写,除非是root ...

  10. linux 下用户管理

    linux 下用户管理 一.用户的分类 1.超级用户:root UID=0 2.系统用户:不需要登录系统,对应用程序服务,主要维护系统的正常运行:UID = 1 ~ 499(RHEL7 = 1 ~ 9 ...

随机推荐

  1. 2-10 就业课(2.0)-oozie:4、通过oozie执行shell脚本

    oozie的配置文件job.properties:里面主要定义的是一些key,value对,定义了一些变量,这些变量往workflow.xml里面传递workflow.xml :workflow的配置 ...

  2. vue :src 不显示的解决方案

    一定要将静态资源引入 [ require("@/assets/") ],绑定到 模型绑定的:src 数据中 动态的数据才能有效   <template>   <d ...

  3. 用BusyBox制作Linux最小系统

    1.下载busybox-1.30.1 地址:https://busybox.net/downloads/busybox-1.30.1.tar.bz2 2.解压:tar xvf busybox-1.30 ...

  4. Win10下数据增强及标注工具安装

    Win10下数据增强及标注工具安装 一.   数据增强利器—Augmentor 1.安装 只需在控制台输入:pip install Augmentor 2.简介 Augmentor是用于图像增强的软件 ...

  5. 加傲腾内存的电脑PE无法识别本地磁盘解决办法(M.2接口??)

    ---恢复内容开始--- PE一直无法识别本地硬盘一直以为是主板设置的事情!原来是新兴的接口(M.2固态具体我不大明白)的事情,需要磁盘驱动,因为PE是精简的大多数不带驱动,但是2018年的新更新的P ...

  6. (五)微信小程序的跳转

    我们在微信页面往往有点击一个图片就可以跳转的情况,接下来我们就学习一下这个功能 一  js版本--bindtap 实现跳转 1. 首先我们先写一个跳转的按钮(在index.wxml) <view ...

  7. 小程序封装API

    一般我们https请求都是通过wx.request来请求,但是这种请求如果多了,页面会混乱不说,还不好管理,因此我将请求单独拎出去,方便管理,也方便后期维护. // api.js const API_ ...

  8. usb摄像头驱动的移植

    相关软件下载地址:http://pan.baidu.com/s/16yo8Y 1.使用摄像头型号ov9650 ①修改.配置内核 1.修改vi drivers/i2c/busses/Kconfig (参 ...

  9. 八十六、SAP中ALV的事件查看

    一.事务代码SE37,点击运行 二.再点击执行 三.我们可以看到有17个事件,点击17前面的表格图标 四.来到详细的事件中 五.我们回到SE37,点击显示 六.查看参数,为一个内表 七.我们点击SLI ...

  10. 031-PHP获取图像信息

    <?php list($width, $height, $type, $attr) = getimagesize("plane.jpg"); echo "宽度为:& ...