U14Linux的帐号与用户组

时间:2021-09-11 16:20:09

1.在/etc/group和/etc/gshadow中查找mousegroup:  grep mousegroup /etc/group /etc/gshadow  (grep的使用)

2.其实Linux并不认识你的"帐号名称",他仅仅认识ID.每个登录的用户至少都会取得两个ID,一个是用户ID(UID),另一个是用户组ID(GID).跟用户帐号有关的两个非常重要的文件:一个是管理用户UID/GID重要参数的/etc/passwd.另一个是专门管理密码相关数据的/etc/shadow.

3./etc/passwd的文件结构:每一行都代表一个帐号,有几行就代表有几个帐号在系统中像bin,daemon,adm,nobody这些帐号是系统正常运行所必须的,他们被称作系统帐号.

  例如:  head -n 1 /etc/passwd    执行之后会显示的内容:  root:x:0:0:root:/root:/bin/bash(每一行使用":"分隔,共有七个字段)

                           他们分别为: 帐号名称:密码:UID:GID:用户信息说明:主文件夹(该用户登录时会立刻跑到这个目录中来):Shell

                           对于UID有几点说明:0为系统管理员,1~499保留给系统使用的

4./etc/shadow文件结构:

   例如: head -n 1 /etc/shadow    

   执行之后显示的内容: root:$6$CQBVuQIT$oF1m.fPaVvsQTkHxZEPRrLeScol7Su10ABJdk43tsbyTS1t/lPLDmYWk.xufxn75cnRnBN.vOCzTIUW4gpobP1:15877:0:99999:7::: 

   shadow同样以":"作为分隔符,有9个字段.  

  帐号名称:密码(密文):最近更改密码的日期:密码不可改动的天数:密码需要重新更改的天数:密码需要更改期限前警告天数:密码过期后的宽限时间:帐号失效时间:保留

  参数说明:  密码不可改动的天数:若为0,表示密码随时可以修改.若为20表示,设置密码之后20天之内都无法改变这个密码.

         密码需要重新更改的天数:若为20,表示最近一次更改密码之后在20天内需要再次更改密码.

         密码需要更改期限前警告天数:若为7,表示密码到期之前的7天内,系统会警告该用户.

         密码过期后的宽限时间:密码过期后,当你登录系统时,系统会强制要求必须重新设定密码才能继续使用.

         帐号失效时间:帐号在此字段规定的日期后,将无法再使用.(通常应用在"收费服务"中)

5.帐号的两个文件(/etc/passwd和/etc/shadow)了解完之后,来了解用户组的文件:/etc/group和/etc/gshadow.

6./etc/group的文件结构:每一行代表一个用户组,以":"作为字段的分隔符.有4个字段.

   例如:  head -n 1 /etc/group    执行后的结果为:  root:x:0:root

       用户组名称:用户组密码:GID(我们/etc/passwd第四个字段使用的GID就是这个):此用户组支持的帐号名称(举例来说:若想要让yhw也加入root这个用户组,在第一行的        最后加上“,dmtsai”就行了,使其变成“root:x:0:root,yhw”就可以了)

7.有效用户组:每个用户的/etc/passwd里面的第四列有所谓的GID,那个就是这个用户的初始用户组。也就是说,当该用户登录系统后,立刻就拥有这个用户组的相关权限。

    有几点要注意一下:若一个用户的初始用户组是wjygroup,则在wjygroup的/etc/group的第四个字段不用写入该帐号,因为是初始用户组。若某个用户想加入yhwgroup组,而    yhwgroup不是他的初始用户组,则需要在yhwgroup的/etc/group的第四列加上“,这个用户的帐号名”。

    在读取/写入/执行文件时,针对用户组部分,只要是该用户所在用户组拥有的功能,该用户都拥有。但是,若要新建一个新的文件或目录,新文件的组是哪一个就要看当时的有效用    户组是哪一个了。使用groups命令,查看当时有效用户组,第一个输出的即为有效用户组。有效用户组切换命令:  newgrp 用户组名(newgrp是另外以一个shell来提供这个功能    的,所以想回到原来环境输入exit就行了)。

8./etc/gshadow的文件结构:这个文件以“:”分隔,第二个字段为密码列,如果密码列上为“!”,表示该用户组不具有用户组管理员(无合法密码)。

      例如:  head -n 1 /etc/gshadow    结果为:  root:::root

                          用户组名:密码列:用户组管理员帐号:该用户组支持的帐号

9.新增用户:  useradd 用户名(具体参数查看书P409)

        例如:新增一个用户,指定其UID为700(不存在),指定其初始用户组为mousegroup(已经存在):  useradd -u 700 -g mousegroup yhw

    其实useradd的默认值可以使用useradd -D调出来。  例如:可以新建/etc/skel/www目录,这样新增的用户在他的主文件夹下就会有www这个文件夹。

10.使用useradd新增了用户之后,该帐号是被*的,需要使用passwd设置其密码。root更改其他用户密码的方式:  passwd 账号名。  

                                      用户自己更改自己密码的方式(root也是这样):  passwd

        例如:管理yhw的密码,使其具有60天内要更改密码,超期10天密码失效的设置:  passwd -S yhw; passwd -x 60 -i 10 yhw; passwd -S yhw

           让帐号wjy失效:  passwd -l wjy

           让账号wjy重新激活:passwd -u wjy    (当使用passwd -S wjy查看时,若第二字段为P则是激活状态。若为L则为锁定失效状态。)

11.chage -l 账号名(查看该帐号的详细密码信息).    有趣的功能:新建一个名为yhw的帐号,该帐号第一次登录使用默认密码,但必须更改密码后使用新密码才能登录系统使用bash.

        useradd yhw;echo "123" | passwd --stdin yhw; chage -d 0 yhw

12.对账号的信息进行微调使用usermod命令(P416)。删除用户使用userdel 用户名(-r连同主文件夹一起删掉)

    注意:如果想要完整的将某个账号删除,最好可以在执行userdel -r username之前,先执行find / -user username查出整个系统内属于username的文件,再进行删除。

13.finger这个命令可以查阅很多的用户相关信息(P417)。  chfn这个命令可以更改自己的相关信息。(P418)  chsh可以更改shell.  id命令可以查询某人或自己的相关UID/GID    等信息。

14.与对用户的操作很相似,P420对用户组的操作命令有:groupadd(新增用户组),groupmod(微调用户组信息),groupdel(删除用户组)。若某个账号的初始用户组使用了某个用户  组,则该用户组无法删除。

15.如果系统管理员太忙,可以新建用户组管理员(相当于版主)。

      例如:新建一个用户组,名称为mousegroup且用户组交给wjy管理:  groupadd mousegroup; gpasswd mousegroup    gpasswd -A wjy mousegroup

         以wjy登录系统,并且让他加入自己和yhw成为mousegroup成员:  gpasswd -a wjy mousegroup; gpasswd -a yhw mousegroup

16.ACL是Access Control List的缩写,主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置。ACL可以针对单一用户,单一文件或目录进行     r,w,x的权限设置,对于需要特殊权限的使用情况很有帮助。(还没有看,详见P423)

17.用户身份切换命令;su(切换成root,输入su或者su -)(输入exit可以离开su环境)

    例如:执行一个只有root执行的命令,执行后还是原身份:  su - -c "head -n 3 /etc/shadow"(这个必须知道root密码)

      切换成yhw账户:  su -l yhw

    虽然root很方便,但是当我的主机是多人管理时,大家都要使用su切换成root身份,那么大家就都知道root密码了,这样不太好。所以,最好使用sudo.

18.sudo的执行仅仅输入自己的密码就行了。仅有/etc/sudoers内的用户才能执行sudo这个命令。

    例如:以sshd的身份在/tmp下面新建一个名为mysshd的文件:  sudo -u sshd touch /tmp/mysshd

19./etc/sudoers应该用visudo来修改,直接在root下输入visudo即可进入。具体修改详见(P430)。

20.用户的特殊shell与PAM模块没有看,P433.

21.如果想知道目前已登录在系统上的用户,可以输入  w  或者  who来查看。

  另外,若想知道每个帐号的最近登录时间,则可以使用lastlog命令。

22.用户对谈命令:write,mesg,wall。

    例如;我们的Linux上目前有wjy和yhw两人在线,wjy想和yhw说话可以这样:who(查询yhw所在的终端接口),然后执行  write yhw pts/i(查到的接口号),接着输入想说的话     就行了。而yhw会立即接受到消息。但是这样会打断yhw当前的工作。所以可以通过mesg n或者mesg y来设定是否接收消息。使用mesg查看当前的mesg设置。(但是,mesg的     功能对root传来的信息没有抵抗能力)。

    wall “消息们”:可以广播给其他在线用户。

23.用户邮件的使用:mail.

    mail 用户名 -s “标题”输入回车后,就可以输入信件内容了。结束时,最后一行输入一个小数点。

    例如:将主文件夹下的环境变量文件寄给自己:  mail -s "bashrc file content" wjy<~/.bashrc

24.手动新增用户(批量新建,检查工具等)没看。P443

U14Linux的帐号与用户组的更多相关文章

  1. 给Linux添加新用户,新建用户,新建帐号

    给Linux添加新用户,新建用户,新建帐号 添加用户组 sudo groupadd groupname 添加用户 sudo useradd username -m -s /sbin/nologin - ...

  2. Linux学习笔记---用户管理---帐号管理

    root管理 (1)新增用户:useradd -u 指定UID -g 指定GID -G 作为组员添加到某个组 -M 不创建主用户目录 -m 创建主用户目录 -c 用户信息说明列 -d 指定某个目录为主 ...

  3. Linux 下WordPress FTP帐号解决办法

    自己用Ubuntu搭建WordPress后在更换主题时提示需要输入FTP帐号和密码,解决办法主要是把WordPress主目录的权限所有者弄为Apache: 找到apache服务所使用的用户名和用户组 ...

  4. Chapter 2 User Authentication&comma; Authorization&comma; and Security(2):创建登录帐号

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/38705965,专题目录:http://blog.csdn.net/dba_huangzj ...

  5. ubuntu用户帐号

    与用户帐号相关的有几个非常重要的文件/ect/passwd,/etc/shadow,/etc/group /etc/passwd 执行 head -n 5 /ect/passwd显示前5行,内容如下: ...

  6. 树莓派修改默认pi帐号亲测有效

    # 树莓派修改默认pi帐号亲测有效### 1.我的树莓派机型:3B+,系统:Raspbian桌面标准版,连接的屏幕:电视机..###2.打开树莓派LX终端,快捷键:Ctrl+Alt+t ###3.输入 ...

  7. 一起学微软Power BI系列-使用技巧&lpar;4&rpar;Power BI中国版企业环境搭建和帐号问题

    千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...

  8. SQLSERVER走起微信公众帐号已经开通搜狗微信搜索

    SQLSERVER走起微信公众帐号已经开通搜狗微信搜索 请打开下面链接 http://weixin.sogou.com/gzh?openid=oIWsFt-hiIb_oYqQHaBMoNwRB2wM ...

  9. SQLSERVER走起微信公众帐号全新改版 全新首页

    SQLSERVER走起微信公众帐号全新改版 全新首页 今天,SQLSERVER走起微信公众帐号增加了首页功能 虽然还是订阅号,不过已经对版面做了比较大的修改,希望各位亲用得放心.用得安心O(∩_∩)O ...

随机推荐

  1. java JSP&lpar;原创新手可进&rpar;

    一. 同等编程方式jsp与asp.net的不同 app需要做一个简单网站,和几个用户推广链接,所以涉及到web这块开发,原本昨天想直接使用asp.net来做,但是之后放弃了这个想法,因为数据访问接口都 ...

  2. mysql卸载(转)

    按以下步骤卸载mysql server 主要步骤: 1. 停止服务MySQL 2. 卸载mysql相关的程序 3. 删除注册表(运行->regedit),machine->system-& ...

  3. C&plus;&plus;内存未释放的情况

    以下例子中,存储了整数123的记亿体空间不能被删除,因为地址丢失了.这些空间已无法再使用. #include <iostream> using namespace std; int mai ...

  4. 25&period; Reverse Nodes in k-Group

    Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If ...

  5. 【转】Java编程之字符集问题研究

    发现这是对字集说得最明了的一篇文章了. 转发自:http://tomcat-oracle.iteye.com/blog/2037160 1. 概述 本文主要包括以下几个方面:编码基本知识,java,系 ...

  6. 如何备份及恢复Linux文件权限

    你可能听说或碰到过这样的事情:一个系统管理员菜鸟不小心输入"chmod -R 777 /"从而导致了巨大的悲剧,使得整个系统遭到了严重的破坏.在日常管理中,我们有许多工具可以用来备 ...

  7. linux下FTP服务器搭建教程1

    你买了个主机就像是买了块地皮,搭建FTP就像是盖房子,我在地皮上建房子,然后创建的用户就像是钥匙,我给谁钥匙(权限),谁就可以到我家去玩,去放东西,拿东西. 虽然我们买不起现实的房子,但是我们可以买互 ...

  8. Java高新技术 反射机制

     Java高新技术 反射机制 知识概要:                   (1)反射的基石 (2)反射 (3)Constructor类 (4)Field类 (5)Method类 (6)用反射方 ...

  9. Vagrant Box下载缓慢解决方法

    box 搜索页面:https://atlas.hashicorp.com/boxes/search example:homestead 1,选中box和版本,先根据提示安装 2,获取box下载地址,采 ...

  10. NIO文件锁FileLock

    目录 <linux文件锁flock> <NIO文件锁FileLock> <java程序怎么在一个电脑上只启动一次,只开一个进程> 文件锁可以是shared(共享锁) ...