CentOS 7 用户账户配置

说明:

1、这篇博文记录的是CentOS 7 用户账户的配置,包括添加用户、添加用户组、删除用户、删除用户组等。其中包括分析用户的配置文件、目录以及对安全的思考。

2、用户配置方面CentOS 7与以往版本感觉没有差别。

第一部分 认识用户

Centos 7 系统最小化安装,默认配置,是没有创建其他用户的。作为服务器操作系统,为了安全起见,一般是使用一般用户的。这就牵涉到用户的创建、用户组的创建以及删除。

此外,CentOS 7 和其他版本的Linux一样,都具有相应用户的配置文件及目录,如下:

/etc/passwd         //用户账户信息,可以看出用户名称 /etc/shadow          //用户账户加密后信息,包括但不限于/etc/passwd中的信息 /etc/group           //组账户信息,可以看出组名称 /etc/gshadow       //组账户安全信息,包括但不限于/etc/group中的信息 /etc/default/useradd //账户创建时默认值 /etc/skel/           //包含默认文件的目录,具体作用尚不清楚 /etc/login.defs      //安全性的默认配置,与上面/etc/default/useradd有区别

我们看一下比较重要的配置文件/etc/default/useradd,内容如下:

# useradd defaults file
GROUP=100                        //起始GID值
HOME=/home                       //家目录位置
INACTIVE=-1             //有效时间,负值为永久,正数代表天数
EXPIRE=
SHELL=/bin/bash                   //shell路径
SKEL=/etc/skel                    //默认配置文件路径
CREATE_MAIL_SPOOL=yes             //是否创建邮件池,具体作用待以后学习

我们再来看一下/etc/login.defs文件,重点内容如下:

MAIL_DIR        /var/spool/mail...

# Password aging controls:           密码期限配置##       PASS_MAX_DAYS   Maximum number of days a password may be used.#       PASS_MIN_DAYS   Minimum number of days allowed between password changes.#       PASS_MIN_LEN    Minimum acceptable password length.#       PASS_WARN_AGE   Number of days warning given before a password expires.#PASS_MAX_DAYS   99999PASS_MIN_DAYS   0PASS_MIN_LEN    8PASS_WARN_AGE   7...

# Min/max values for automatic uid selection in useradd      最小/最大UID设置#UID_MIN                  1000              //我们创建的用户的UID从1000开始UID_MAX                 60000....

# Min/max values for automatic gid selection in groupadd#GID_MIN                  1000GID_MAX                 60000....CREATE_HOME     yes                   //是否创建家目录...

# Use SHA512 to encrypt password.        //采用SHA512加密ENCRYPT_METHOD SHA512

从文件内容可见,/etc/login.defs 是比较宏观的进行偏重安全方面的配置。

下面是一些实际过程中常用的命令:

useradd         //添加用户
passwd          //为用户设置密码
userdel         //删除用户
usermod         //修改用户信息
groupadd       //添加用户组
groupdel        //删除用户组
groupmod        //修改用户组信息
groups          //显示当前进程用户所属的用户组
    

第二部分  添加用户

例子一: 最简单的添加用户

执行如下命令:

useradd test

passwd test

实例如图,并且系统会对密码做限制,比如长度、复杂度,但是不影响创建。可以理解为“温馨提示”。

这样一个用户名为test的用户已经创建好了。我们看一下属性。

执行命令:id test   //查看用户信息

我们发现test的uid=1000,gid=1000,位于test用户组,说明缺参数的新建用户,会默认新建一个与用户名同名的用户组并加入其中,我们也注意到UID、GID的值与默认的配置文件中保持一致,可见配置文件是生效的,同样也可以再新建一个用户,看一下UID、GID的值,会看到是1001.可以尝试一下。我们可以切到/home目录下,会看到用户目录,与配置文件设定一致。

例子二:带参数的创建账户

上个例子我们采用默认配置,只是设置了用户名和密码。这次我们手动设置UID、GID等。首先我们看一下,useradd的参数,如下:

 -b, --base-dir BASE_DIR       新账户的主目录的基目录
  -c, --comment COMMENT         新账户的 GECOS 字段
  -d, --home-dir HOME_DIR       新账户的主目录
  -D, --defaults                显示或更改默认的 useradd 配置
 -e, --expiredate EXPIRE_DATE  新账户的过期日期
  -f, --inactive INACTIVE       新账户的密码不活动期
  -g, --gid GROUP               新账户主组的名称或 ID
  -G, --groups GROUPS   新账户的附加组列表
  -h, --help                    显示此帮助信息并推出
  -k, --skel SKEL_DIR   使用此目录作为骨架目录
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -l, --no-log-init     不要将此用户添加到最近登录和登录失败数据库
  -m, --create-home     创建用户的主目录
  -M, --no-create-home          不创建用户的主目录
  -N, --no-user-group   不创建同名的组
  -o, --non-unique              允许使用重复的 UID 创建用户
  -p, --password PASSWORD               加密后的新账户密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录
  -s, --shell SHELL             新账户的登录 shell
  -u, --uid UID                 新账户的用户 ID
  -U, --user-group              创建与用户同名的组
  -Z, --selinux-user SEUSER             为 SELinux 用户映射使用指定 SEUSER

新建一个UID=501,GID=600,30天有效期,家目录为/home/test5的用户test4.

命令 :

groupadd -g 600  test3                //创建GID=600的用户组test3
useradd -u 501 -g 600 -f 30 -m   -d /home/test5 test4                 

当我们再次打开用户文件/etc/passwd或者id test4会看到我们自己的配置。

uid=501(test4) gid=600(test3) 组=600(test3)

 第三部分 删除用户/组

当我们创建用户/组有错误时,可能会删除用户/组,然后再重新创建。我们使用userdel命令来删除用户。

执行命令:

[[email protected] home]# userdel test
[[email protected] home]# useradd test
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在

出现这个问题是因为我们删除用户时,系统为了安全起见并没有删除相关的文件以及目录。我们查看一下userdel参数:

用法:userdel [选项] 登录

选项:
  -f, --force                   force some actions that would fail otherwise
                                e.g. removal of user still logged in
                                or files, even if not owned by the user
  -h, --help                    显示此帮助信息并推出
  -r, --remove                  删除主目录和邮件池
  -R, --root CHROOT_DIR         chroot 到的目录
  -Z, --selinux-user            为用户删除所有的 SELinux 用户映射

我们可以使用参数-rf 来删除相关文件目录,这一步具有危险性,是否有回滚操作,不是特别清楚。

执行命令:

[[email protected] home]# userdel -rf test
[[email protected] home]# useradd test

这样,就不会出现提示了。

除此之外,我觉得最重要的还是不同用户间的权限分配问题。先暂时留下来,根据实际情况分配。大家,还可以根据参数,依据实际情况配置。大家可以相互交流。

时间: 2024-10-11 22:24:36

CentOS 7 用户账户配置的相关文章

Centos FTP服务器的原理以及虚拟用户的配置

前面笔者写过一篇"FTP本地用户"随笔,那只是一个案例,并没有完整的写出来作用.配置文件解析和原理,今天笔者将发布"FTP服务器的原理以及虚拟用户的配置"随笔 FTP服务的原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文件传输协议,FTP协议是现今使用最为广泛的网络文件共享协议之一 现在也一直有在用着FTP协议来进行各种文件的传输,FTP为人们提供了一种可靠的方式在网络上进行文件的共享 FTP是C/S架构的服务,拥有一个

推荐-Vsftpd虚拟用户的配置 for CentOS

Vsftpd虚拟用户的配置 System:Linux centos6.5 2.6.32-431.el6.x86_64 vsftpd-2.2.2-21.el6.x86_64 第一步.安装 #cd  /etc/yum.repos.d/ # rm -rf * # wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo # yum clean all # yum -y install vsftpd # yum -y install db4-ut

CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)

CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL) 一.准备篇: 1 /etc/init.d/iptables stop #关闭防火墙 2 关闭SELINUX 3 vi /etc/selinux/config 4 #SELINUX=enforcing #注释掉 5 #SELINUXTYPE=targeted #注释掉 6 SELINUX=disabled #增加 7 :wq 8 shutdown -r now #重启系统 二.安装篇 1.安装nginx 1 yum re

CentOS 7.0安装配置Vsftp服务器步骤详解

安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止

如何在 CentOS 7 用 cPanel 配置 Nginx 反向代理

导读 Nginx 是最快和最强大的 Web 服务器之一,以其高性能和低资源占用率而闻名.它既可以被安装为一个独立的 Web 服务器,也可以安装成反向代理 Web 服务器.在这篇文章,我将讨论在安装了 cPanel 管理系统的 Centos 7 服务器上安装 Nginx 作为 Apache 的反向代理服务器.Nginx 作为前端服务器用反向代理为静态文件提供服务,Apache 作为后端为动态文件提供服务.这个设置将整体提高服务器的性能. 让我们过一遍在已经安装好 cPanel 11.52 的 Ce

CentOS普通用户添加管理员权限

1.添加用户,首先用adduser命令添加一个普通用户,命令如下:#adduser keaising//添加一个名为keaising的用户#passwd ljl //修改密码Changing password for user keaising.New UNIX password: //在这里输入新密码Retype new UNIX password: //再次输入新密码passwd: all authentication tokens updated successfully. 2.赋予roo

CentOS 7.0安装配置Vsftp服务器

一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/ip

CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)

这篇文章主要介绍了CentOS 6.4下配置LNMP服务器的详细步骤,需要的朋友可以参考下 准备篇 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口

用户账户和组账户的的相关文件及文件权限介绍

与用户账户和组账户相关的文件: /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/default/useradd /etc/login.defs /etc/skel(Directory) /etc/passwd: root:x:0:0:root:/root:/bin/bash 1  2 3 4   5    6       7 1.用户账户登录名称: 2.使用"x"表示密码占位符: 3.用户账户的UID: 4.用户账户的GID,即