专栏首页锦小年的博客linux服务器搭建之路13-用户/用户组管理

linux服务器搭建之路13-用户/用户组管理

文章目录

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户/用户组管理是管理员绕不开的必备技能。

1. 与用户相关的系统文件

centos中与用户相关的系统文件有两个:/etc/passwd和/etc/shadow。前者记录用户相关的信息,后者记录用户相关口令(加密后的密码),后者只有管理员可以看见。两个文件都是一行表示一个与用户相关信息,中间用冒号(:)隔开。

1.1 /etc/passwd文件

/etc/passwd由―:分割成7个字段,每个字段的具体含义是:

  • (1) 用户名(如第一行中的root就是用户名),代表用户账号的字符串。
  • (2) 第二个字段存放的是该账号的口令。
  • (3) 这个数字代表用户标识号,也叫做uid。
  • (4) 表示组标识号,也叫做gid。
  • (5) 注释说明,该字段没有实际意义。
  • (6) 用户的家目录。
  • (7) 用户的shell。除了/bin/bash外还有/sbin/nologin比较多,它表示不允许该账号登录,建立账号时添加-s选项指定第七段的值。

1.2 /etc/shadow文件

该文件储存的密码相关的口令,只有管理员可见。分为9个字段。

  • (1) 用户名。
  • (2) 用户密码,这个密码已经加密,该文件属性设置为000,但是root账户是可以访问或更改的。
  • (3) 上次更改密码的日期,这个数字是这样计算得来的,距离1970年1月1日到上次更改密码的日期,例如上次更改密码的日期为2012年1月1日,则这个值就是365*(2012-1970)+(2012-1970)/4+1=15341。因为如果是闰年,则有366天。
  • (4) 要过多少天才可以更改密码,默认是0,即不限制。
  • (5) 密码多少天后到期。默认是99999,可以理解为永远不需要改。
  • (6) 密码到期前的警告期限。
  • (7) 账号失效期限。密码已经到期后多少天失效。
  • (8) 账号的生命周期。跟第三段一样。
  • (9) 作为保留用的,没有什么意义。

有了这些知识,就可以批量添加用户了。【待续/…】

2. 用户管理

2.1 增加用户

useradd [-options] 用户名

可选参数有: -c:加上备注文字,备注文字保存在passwd的备注栏中。

-d:指定用户登入时的主目录,替换系统默认值/home/<用户名>

-D:变更预设值。

-e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。

-f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.

-g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。

-G:指定用户所属的附加群组。

-m:自动复制到home目录下的文件所在的文件夹,默认是/etc/skel

-M:不要自动建立用户的登入目录。

-n:取消建立以用户名称为名的群组。

-r:建立系统账号。

-s:指定用户登入后所使用的shell。默认值为/bin/bash。

-u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。

最常用法:指定home目录,并从/etc/skel目录下复制home文件

useradd -d /data/liugroup/home/test1 -g LiuGroup -m -u 2000 test1

2.2 删除用户

userdel [-options] 用户名

可选参数有: -r 同时删除用户home目录 例如:

userdel -r test1

2.3 用户信息变更

usermod [-options] 用户名

可选参数有: -u 指定uid或属主名字 -g 指定gid或属组名字 -G 添加扩展组,可以一次性添加多个组,使用“,”分开 -s 指定shell -d 指定用户家目录,是会在/etc/paswd文件中修改。实际位置上的文件夹还需要自己创建

2.4 用户查看

id 用户名

例如:

id test1

3. 用户组管理

3.1 增加用户组

groupadd [-options] 组名

可选参数有: -g 指定gid 例如:

groupadd -g 5000 group1

3.2 删除用户组

groupdel 组名

4. 批量创建用户并修改密码

用倾向用python脚本调用系统命令来完成批量任务。

user_name = ['testt','tterwer']
user_id = [9000,9001]
user_dir = '/data/liugroup/home/'
for name, id in zip(user_name,user_id):
    # 创建用户
    add_cmd = 'useradd -d /data/liugroup/home/%s -g LiuGroup -m -u %d %s'%(name,id,name)
    os.system(add_cmd)
    #修改密码
    add_passwd = 'echo "nuture500" | passwd --stdin %s'%name
    os.system(add_passwd)
    path = os.path.join(user_dir,name)
    # 修改home用户目录所有者
    os.system('chown -R %s:LiuGroup %s'%(name, path))
    # 修改home用户目录权限
    os.system('chmod  700 %s'%path)

运行两个命令,第一个是useradd,添加用户,第二个是用一个技巧修改密码。"passwd123"是密码 其他批量方法: https://www.cnblogs.com/lanxuezaipiao/archive/2012/12/01/2797440.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 卡方分布分析与应用

    卡方检验(chi-square,记为χ2\chi^2检验)是统计学中常用来计数数据分析的方法,对于总体的分布不作任何假设,因此它属于非参数检验法中的一种。本博文...

    锦小年
  • python 微信公众号开发[1] 后台服务器端配置与公众号开发配置

    微信公众号开发的硬件必备条件:(1)申请一个公众号 (2)有公网ip的服务器(最好是阿里云,腾讯云等的云服务器)(3)解析到(2)中服务器地址的域名(阿里云,腾...

    锦小年
  • Python数据分析(5)-numpy数组索引

    numpy数组的索引遵循python中x[obj]模式,也就是通过下标来索引对应位置的元素。在numpy数组索引中,以下问题需要主要: 1)对于单个元素索引...

    锦小年
  • 用户画像行为分析流程

    什么是用户画像? 简而言之,用户画像是根据用户社会属性、生活习惯和消费行为等信息而抽象出的一个标签化的用户模型。构建用户画像的核心工作即是给用户贴“标签”,...

    学到老
  • 教你提升用户生命周期价值

    用户生命周期价值CLV(Customer Lifetime Value)比生命周期更重要。让用户能在生命周期中产生商业价值,才是运营的使命。这里的商业价值,不单...

    数据通20847430
  • 产品经理究竟应该关注什么数据 由产品特点和生命周期决定

    产品这群人啊,真的是三句话不离老本行,之前和部门的产品Mentor一起吃饭的时候,他问了我这么一个问题:“如果你是饿了么的产品经理,那你日常工作的时候应该关注一...

    灯塔大数据
  • 基于大数据的用户画像构建(理论篇)

    文 | 罗宇矗 什么是用户画像? 简而言之,用户画像是根据用户社会属性、生活习惯和消费行为等信息而抽象出的一个标签化的用户模型。构建用户画像的核心工作即是给用户...

    CDA数据分析师
  • 面向NLP的AI产品方法论——如何做好“多轮对话管理”

    看着这个标题我就想笑,原来的标题是,如何做好多轮对话管理,然后我就默默的加了个引号,用于断句。

    半吊子全栈工匠
  • 用户画像行为分析流程

    简而言之,用户画像是根据用户社会属性、生活习惯和消费行为等信息而抽象出的一个标签化的用户模型。构建用户画像的核心工作即是给用户贴“标签”,而标签是通过对用户信息...

    学到老
  • 我们最常见的UX设计交付成果有哪些?

    以下内容由摹客团队翻译整理,仅供学习交流,摹客iDoc是支持智能标注和切图的产品协作设计神器。

    奔跑的小鹿

扫码关注云+社区

领取腾讯云代金券