linux之用户管理

 用户和用户组

用户:简称UID(Users ID),linux下的用户可以分为三类,分别是普通用户、系统用户以及根用户。

用户组:简称GID(Group ID)。

普通用户

指使用linux系统中的真实用户,这类用户可以使用用户名和密码来登陆系统。普通用户只能在其家目录中操作,其用户的UID一般大于500。

根用户

根用户也就是root用户,ID是0,也称为超级用户。root用户对系统拥有绝对的控制权。其可以修改、删除任何文件,可以运行任何命令。

系统用户

系统用户是指运行系统必须有的用户,但不是指真实的使用者。例如需要运行MySQL数据库服务时,需要系统用户mysql来运行mysqld进程。系统用户ID的范围是1~499。

用户组

用户组跟用户类似,其每个用户均属于其一个用户组中。

查用户和用户组命令

用户查找用id命令来进行。

swz@swz-ubuntu:~$ id
用户id=1000(swz) 组id=1000(swz) 组=1000(swz),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),133(lxd),134(sambashare)

用户组命令可以用groups来查找。

swz@swz-ubuntu:~$ groups
swz adm cdrom sudo dip plugdev lpadmin lxd sambashare

用户名和用户密码配置文件

我们在登陆linux系统时,必须要输入用户和密码。而记录系统用户名和密码的两个重要文件为:/etc/passwd以及/etc/shadow。

swz@swz-ubuntu:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin

上述配置文件都是使用6个冒号进行分隔的,隔开的七列字符串。其意义如下图。

列数含义说明
1用户名UID的字符串形式
2密码旧的系统,是加密的密码。新系统中,将密码放在/etc/shadow下,此时为x
3UID系统来区分不同用户的整数
4GID系统区分不同用户组的整数
5说明栏类似于注释
6家目录用户登录之后,其所处的目录就是家目录
7登陆shell用户登录时所用的shell

默认其他用户是不能查看密码的,只有根用户(root用户)才能查看密码。不过此密码是加密之后产生的,不是用户的登录密码。

root@swz-ubuntu:/home/swz# cat /etc/shadow
root:$6$mGjGK2OhUsTtxXpE$HhuQ/FqGfHidpZVrN76jBywe8Hw3IV9NXUWaIIlpAoil99JEwlu9eODOYgMyPiMqe3pau9lmgbtZBo4Uao94Q1:19178:0:99999:7:::
daemon:*:18912:0:99999:7:::
bin:*:18912:0:99999:7:::
sys:*:18912:0:99999:7:::

例如上述$6$mGjGK2OhUsTtxXpE$HhuQ字符串就是其加密之后的密码。

/etc/shadow文件是由8个冒号分隔开的9列字符串,其意义如下图。

列数含义说明
1用户名是UID的字符串标记方式
2密码经过加密之后的密码
3密码的最近修改时间这个数字是从1970年以后修改日的天数
4密码不可修改的天数修改密码后,几天内不可以修改密码,如果是0,可以修改
5密码重复修改的天数考虑到密码使用一段时间后,可能会泄露。可以再设置一个修改时间,密码到期后系统会提醒用户修改密码。
6密码失效前警告的天数设定密码到期前几天开始提醒用户修改密码
7密码失效宽限天数如果密码到期,过了几天就会失效,无法登录到系统
8账号失效日期一般为空
9保留字段暂时没有使用

账号管理

账号管理涉及到账号的添加、删除、以及修改。

新增和删除账户

添加用户

useradd这个命令用来添加用户,使用方法,useradd 用户名。

具体的我就不演示了。其创建之后会创建根目录,一般是/home/用户名。

更改密码

用passwd更改密码,注意密码不能太简单。passwd后面不加用户名,默认修改当前用户的密码。一般用法为:passwd 用户名。

检查用户信息

常见命令一般有users、who、w。

users命令一般用来查看当前系统有哪些用户,默认在不同终端的登录同一个用户,系统会判定是两个用户。users查看的信息量比较少,可以使用who查看更多的信息。

swz@swz-ubuntu:~$ users
swz
swz@swz-ubuntu:~$ who
swz      pts/0        2022-07-09 09:05 (192.168.141.142)

明显使用who可以查看更多的信息,上述who中第二列是登录的终端,一般pts是远程登录的终端。后面是登录时间。

而w可以查看更多的信息,如下。

swz@swz-ubuntu:~$ w
 09:53:21 up  1:07,  1 user,  load average: 0.01, 0.02, 0.00
USER     TTY      来自           LOGIN@   IDLE   JCPU   PCPU WHAT
swz      pts/0    192.168.141.142  09:05    1.00s  0.07s  0.00s w

调查用户

可以用finger查看登录用户的信息,加用户名可以看到登录用户的详细信息。

swz@swz-ubuntu:~$ finger
Login     Name       Tty      Idle  Login Time   Office     Office Phone
swz       swz        pts/0          Jul  9 09:05 (192.168.141.142)
swz@swz-ubuntu:~$ finger swz
Login: swz                      Name: swz
Directory: /home/swz                    Shell: /bin/bash
On since Sat Jul  9 09:05 (CST) on pts/0 from 192.168.141.142
   5 seconds idle
No mail.
No Plan.

切换用户

可以使用su来切换用户,其目录会变,必须输入密码。

swz@swz-ubuntu:~$ su root 
密码: 
root@swz-ubuntu:/home/swz# 

利用sudo,可以行使其他用户的权利,但不是真正切换到了用户。

swz@swz-ubuntu:~$ sudo ls /root
snap
swz@swz-ubuntu:~$ pwd
/home/swz
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值