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命令。
  • 相关阅读:
    Leetcode 349. Intersection of Two Arrays
    hdu 1016 Prime Ring Problem
    map 树木品种
    油田合并
    函数学习
    Leetcode 103. Binary Tree Zigzag Level Order Traversal
    Leetcode 102. Binary Tree Level Order Traversal
    Leetcode 101. Symmetric Tree
    poj 2524 Ubiquitous Religions(宗教信仰)
    pat 1009. 说反话 (20)
  • 原文地址:https://www.cnblogs.com/JimmyTY/p/5382382.html
Copyright © 2011-2022 走看看