千家信息网

linux用户管理的操作有哪些

发表于:2024-10-28 作者:千家信息网编辑
千家信息网最后更新 2024年10月28日,这篇文章主要介绍了linux用户管理的操作有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux用户管理的操作有哪些文章都会有所收获,下面我们一起来看看吧。1.l
千家信息网最后更新 2024年10月28日linux用户管理的操作有哪些

这篇文章主要介绍了linux用户管理的操作有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux用户管理的操作有哪些文章都会有所收获,下面我们一起来看看吧。

1.linux用户账号分类

超级用户: root 拥有对系统的最高的管理权限 UID=0

普通用户:系统用户 UID: >=500

UID:即每个用户的身份标示,类似于每个人的身份证号码.

虚拟用户:伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp,apache

用户和组的关系:

一对一:一个用户可以存在一个组中; 一对多:一个用户可以存在多个组中

多对一:多个用户可以存在一个组中; 多对多:多个用户可以存在多个组中

2.用户管理

常用命令添加用户:

useradd -d -u "UID" -g "初始组" -G "附加组" -s "登陆的shell" 用户

示例:

useradd  -d /home/   #添加用户useradd  -d /home/   -G rna,dna  -g rna   #指定用户组passwd     #给用户添加密码

使用命令 userdel 删除用户账户

userdel 

删除用户 ,同时删除他的工作目录

userdel -r 

常用命令添加组groupadd

groupadd [-g gid [-o]][-r][-f]group

参数说明:

  • -g:指定新建工作组的 id;

  • -r:创建系统工作组,系统工作组的组ID小于 500;

  • -K:覆盖配置文件 "/ect/login.defs";

  • -o:允许添加组 ID 号不唯一的工作组。

  • -f,--force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。

#groupadd -g 344 rna  #创建一个新的组,并添加组 ID。

给用户添加密码或者修改用户密码:

passwd    #交互echo 123456 | passwd --stdin     #不交互

用户切换su

su命令其实就是切换用户的意思。

示例:

su  #默认切换到root用户,执行后然后输入root密码就可以切换root用户,最后执行exit命令可以切换到原先的用户。su-  #切换为root用户并且可以把当前目录切换为root的用户家目录/root。su   #切换用户

说明:在root用户下可以切换为系统拥有的任意用户并且不需要输入其用户密码。

添加sudo成员轻松管理服务器

赋予某些成员sudo权限可以跳过root用户登录而去执行一些只有root才有权限执行的命令。比如修改他人的密码:sudo passwd user1。当然前提是当前登录用户拥有执行该命令的权限。

可以通过配置/etc/sudoers 文件来实现赋予其他成员sudo权限。

文件内容增加(部分):

root    ALL=(ALL)       ALL

#新增上一行的内容,并修改用户名为omicgene 这条命令的含义omicgene 用户可以执行任何的sudo命令。执行的同时需要输入omicsgene 用户的密码。

3.用户的配置文件

linux系统添加用户,其实就是在修改以下三个文件,因此也可以直接修改以下文件达到设置添加用户的目的:

名 称

帐号信息

说 明

用户配置文件

/etc/passwd

记录了每个用户的一些基本属性,并且对所有用户可读,每一行记录对应一个用户,每行记录通过冒号进行分隔

用户组文件

/etc/group

用户组的所有信息存放地儿,并且组名不能重复

用户对应的密码信息

/etc/shadow

因为passwd文件对所有用户是可读的,为安全起见把密码从passwd中分离出来放入这个单独的文件,该文件只有root用户拥有读权限,从而保证密码安全性

3.1. /etc/passwd 文件存储用户信息文件

数据用冒号隔开:

tail -1 /etc/passwd:x:1001:1001::/home/:/bin/bash
用户名
x密码占位符
1001用户的UID,它都是用数字来表示的
1001用户所属组的GID,它都是用数字来表示的
用户描述信息对用户的功能或其它来进行一个简要的描述
/home/用户家目录(shell提示符中"~"代表的那个)
/bin/bash用户登录系统后使用的shell
3.2 /etc/shadow 存储用户密码文件

数据用冒号隔开:

tail -1 /etc/shadow:$6$YMszQvnu$U//qYqHjvQvKsADGnP7b9HLfBmmoO7BVJo0JdAQ.D1L97atkdQQZ2uo57Ro27mcheXFIaW.Vb4w0tv5MWflwo1:18315:0:99999:7:::

name

登录名称,这个必须是系统中的有效账户名

password

已加密密码,分为三个部分,第一部分是表示使用哪种哈希算法;第二部分是用于加密哈希的salt;第三部分是已加密的哈希

哈希算法:$1表示MD5 ; $6 表示SHA-512 ; $5 SHA-256

查看帮助说明:

man 5 passwd

man 5 shadow

man 5 group

man 3 crypt

lastchange

最近一次更改密码的日期,以距离1970/1/1的天数表示

min-age

不能更改密码的最少天数,最近更改过后几天才可以更改;如果为0表示"最短期限要求"

maxage

密码过期时间,必须更改密码前的最多天数

warning

密码即将到期的警告期,以天数表示,0表示"不提供警告"

inactive

宽限天数,密码到期后

expire

账号过期时间,以距离1970/1/1的天数计算 (千年虫)

blank

预留字段

3.3./etc/group 用户组信息文件

数据用冒号隔开,如果一个组有多个成员,我们是可以在/etc/group文件中最后一个字段看到的

[root@centos7 ~]# tail /etc/groupslocate:x:21:avahi:x:70:postdrop:x:90:postfix:x:89:ntp:x:38:tcpdump:x:72:wang:x:1000:wangvboxsf:x:982:dna:x:1101:rna:x:1100:

用户组名:密码:用户组ID:用户列表

用户组密码现在基本已经不用了, 'x'就是表示没有密码.

3.4 添加用户时环境变量模板文件

这些文件在添加用户的时候会自动拷贝到用户的家目录。因此,有些环境设置可以在模板中提前设置好,避免初学用户自己去设置带来的错误,省去管理员的麻烦。
[root@centos7 ~]# ll -a /etc/skel/total 24drwxr-xr-x.   3 root root   78 Feb 22 09:26 .drwxr-xr-x. 141 root root 8192 Feb 22 22:06 ..-rw-r--r--.   1 root root   18 Aug  8  2019 .bash_logout-rw-r--r--.   1 root root  193 Aug  8  2019 .bash_profile-rw-r--r--.   1 root root  231 Aug  8  2019 .bashrcdrwxr-xr-x.   4 root root   39 Feb 22 09:25 .mozilla

例如模板中设置以下内容:

#快捷命令alias e="less -S "alias ee="less -SN "alias l="ls -lhtr"alias ll="ls -lh"#终端显示当前目录export PS1="\[\e[32m\][\[\e[35m\]\u\[\e[m\]@\[\e[36m\]\h \[\e[31m\] \t \w\[\e[32m\]]\[\e[36m\]$\[\e[m\]"

4.其他用户相关命令:

id 用户和组的信息

whoami   #查看当前有效用户名

who #显示目前登入系统的用户信息。

w # w命令用于显示已经登陆系统的用户列表

users #用于显示当前登录系统的所有用户的用户列表

chage #要求用户定期修改密码

-m:密码可更改的最小天数。为0时代表任何时候都可以更改密码
-M:密码保持有效的最大天数
-W:用户密码到期前,提前收到警告信息的天数
-E:帐号到期的日期。过了这天,此帐号将不可用
-d:上一次更改的日期,为0表示强制在下次登录时更新密码
 chage -d 0     # 修改用户密码信息:让这个用户首次登录系统时必须更改其密码

usermod 修改用户信息

语法:usermod 【参数】用户名

常用参数:

-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell
-L 锁定
usermod   -u 1111 oracle  #修改 用户的uid

关于"linux用户管理的操作有哪些"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"linux用户管理的操作有哪些"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0