zoukankan      html  css  js  c++  java
  • Linux用户和用户组管理

    该内容来摘自于鸟叔的Linux私房菜。

    Linux的每个用户包含两个ID,一个是用户ID,一个是用户组ID。系统会根据/etc/passwd和/etc/group的设定来决定用户的访问权限。下面对用户和用户组的常用命令进行说明。

    • /etc/passwd文件
    $ grep 'dmtsai' /etc/passwd
    monkey:x:503:504::/home/monkey:/bin/bash

    一共包含7个字段,以“:”分隔:

    第一个为用户名;第二个 ”x“ 表示密码,密码被隐藏在/etc/shadow里面;第三和第四,503和504分别是UID(用户标识符)和GID(组标识符);第五段这里是空,表示用户信息说明。第六段是用户的$HOME文件夹; 最后一个是shell 路径。

    • /etc/group文件
    $ head -n 2 /etc/group
    root:x:0:root
    bin:x:1:root,bin,daemon

    一共包含4个字段,第一个是用户组名称,紧接着是密码,然后是用户组ID, 最终的是用户组包含的用户,以“,”分开。

    另外一个关于用户组的很重要的概念是“初始用户组”和“有效用户组”。“初始用户组”顾名思义就是在创建用户的时候默认的用户组,于用户名同名。“有效用户组”指的是用户之后被加入的某个组。那么这里就存在一个问题,如果初始创建一个文件,怎么知道是否输入哪个组还是两个组都都有权限。这里就需要使用groups命令:

    $ groups
    monkey users

    这里显示monkey用户属于monkey和users用户组。而第一个“monkey”表示的就是有效用户。那么当用户新建文件的时候,文件默认的权限就属于"monkey"这个用户组。如果需要修改有效用户组,可以通过newgrp命令:

    $ newgrp users
    $ groups
    users monkey

    OK, 有了以上的概念,下面可以进行账号管理了。这里只关心一下几个问题:

    • 如何创建用户,并且设置或者之后微调其用户组权限。
    $ useradd [-u UID] [-g 初始用户组] [-G 次要用户组] 用户账号名
    范例:
    $ useradd -u 700 -g users vbird2
    $ ll -d /home/vbird2
    drwx------ 4 vbird2 users 4096 Feb 25 09:59  home/vbird2
    另外,usermod可以微调用户权限,用法与useradd类似。

    $ (sudo) usermod [-G 添加的用户组] [-a append到该用户组]
    范例:
    $ usermod -G wheel -a vbird2 // 将vbird2用户添加到wheel用户组中
    • 修改密码。自然是使用passwd命令,并且所有人都可以使用来修改命令。
    • 删除用户组。使用userdel命令。
  • 相关阅读:
    PAT甲级1137Final Grading
    晚测6
    模拟15
    模拟14
    模拟13
    晚测5
    晚测4
    模拟11
    7012. 2021.03.15【2021省赛模拟】十
    7011. 2021.03.13【2021省赛模拟】nonintersect
  • 原文地址:https://www.cnblogs.com/JimmyTY/p/5382382.html
Copyright © 2011-2022 走看看