centos7用户管理 linux

centos7用户管理

1.linux用户账号分类

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

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

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

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

用户和组的关系:

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

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

attachments-2020-02-dIgfOmnc5e51e63ea965d.png

 2.用户管理

常用命令添加用户:

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

示例:

useradd  -m omicsclass # 自动创建家目录
useradd  -d /home/omicsclass omicsclass  #添加用户
useradd  -d /home/omicsclass omicsclass  -G rna,dna  -g rna   #指定用户组
passwd omicsclass    #给用户添加密码

使用命令 userdel 删除用户账户

userdel omicsclass 

删除用户 omicsclass,同时删除他的家目录

userdel –r omicsclass 


常用命令添加组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 omicsclass   #交互
echo 123456 | passwd --stdin omicsclass    #不交互


用户切换su

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

示例:

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

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

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

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

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

文件内容增加(部分):

root    ALL=(ALL)       ALL
omicsgene   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
omicsclass:x:1001:1001::/home/omicsclass:/bin/bash
omicsclass 用户名
x 密码占位符
1001 用户的UID,它都是用数字来表示的
1001 用户所属组的GID,它都是用数字来表示的
用户描述信息 对用户的功能或其它来进行一个简要的描述
/home/omicsclass 用户家目录(shell提示符中“~”代表的那个)
/bin/bash 用户登录系统后使用的shell

3.2 /etc/shadow  存储用户密码文件

数据用冒号隔开:

tail -1 /etc/shadow
omicsclass:$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/group
slocate:x:21:
avahi:x:70:
postdrop:x:90:
postfix:x:89:
ntp:x:38:
tcpdump:x:72:
wang:x:1000:wang
vboxsf:x:982:
dna:x:1101:omicsclass
rna:x:1100:

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

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

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

这些文件在添加用户的时候会自动拷贝到用户的家目录。因此,有些环境设置可以在模板中提前设置好,避免初学用户自己去设置带来的错误,省去管理员的麻烦。
[root@centos7 ~]# ll -a /etc/skel/
total 24
drwxr-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 .bashrc
drwxr-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 omicsclass    # 修改用户omicsclass密码信息:让这个用户omicsclass首次登录系统时必须更改其密码

usermod  修改用户信息

语法:usermod 【参数】用户名

常用参数:

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

用户管理相关文章:https://www.omicsclass.com/article/759


  • 发表于 2020-02-23 10:45
  • 阅读 ( 3793 )
  • 分类:linux

0 条评论

请先 登录 后评论
omicsgene
omicsgene

生物信息

698 篇文章

作家榜 »

  1. omicsgene 698 文章
  2. 安生水 347 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. 红橙子 78 文章
  7. rzx 74 文章
  8. CORNERSTONE 72 文章