`

U14Linux的帐号与用户组

 
阅读更多

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

分享到:
评论

相关推荐

    jdk-6u14-linux-x64.bin

    jdk-6u14-linux-x64.bin

    jdk-6u14-linux-x64-rpm.bin

    jdk-6u14-linux-x64-rpm.bin

    jre-6u14-linux-x64.bin

    jre-6u14-linux-x64.bin

    jdk-6u14-linux-ia64.bin

    jdk-6u14-linux-ia64.bin

    linux系统用jdk-6u45-linux-i586-rpm 32位

    本文将详细探讨标题提及的"Linux系统用JDK-6u45-linux-i586-rpm 32位",包括其特点、安装过程以及与32位Linux系统的兼容性。 JDK 1.6_045,也被称为Java SE 6 Update 45,是Oracle公司发布的一个早期版本的Java开发...

    jdk1.6 linux X64位安装包.rar

    软件介绍: jdk-6u45-linux-x64.bin为LINUX系统下的jdk1.6软件安装包,6u45版应该是JDK1.6的最高版本了,在搭建项目测试时需要安装的运行环境,官网现在不一定能够找得到。

    Serv_U14含破解

    Serv_U14含破解,支持多用户权限设置。

    jdk-6u14-linux-x64.bin/jdk.1.6

    纯纯开源且免费、没有科技与狠活

    WE-U14D串口转换器

    WE-U14D串口转换器介绍、功能、使用、产品使用情况等、等、等、等、等等。

    JDK-6u14-windows-i586-s.rar

    KVM是一种开源的虚拟化技术,允许Linux操作系统作为宿主机来运行多个虚拟机。在Java环境中,JDK的某些实现可能针对KVM进行了优化,以提高在虚拟化环境下的性能,比如减少内存占用和提高执行效率。 标签“kvm jdk”...

    JavaSetup6u14

    Java 让您可以玩网络游戏、与世界各地的人们聊天、计算您的抵押利息、欣赏三维图片等等。此外,对于作为公司计算基础的企业内部网应用程序和其他电子商务解决方案而言,它也是不可缺少的一部分。 注:此款软件加上...

    jre-6u14-windows-i586

    jre-6u14-windows-i586

    jre-6u14-ea-windows-i586-iftw-k.exe

    jre-6u14-ea-windows-i586-iftw-k.exe最新

    linux jdk+tomcat安装

    #### 一、Linux JDK 安装与配置 **1. 解压安装 JDK** - **准备 JDK 安装文件:** - 首先确保您已经下载了适合您 Linux 系统版本的 JDK 安装包。例如,本文档中的示例使用的是 `jdk-6u14-linux-i586.bin` 文件。 ...

    全国网球青少年(U14)排名赛竞赛规程.pdf

    全国网球青少年(U14)排名赛竞赛规程.pdf

    Linux下JAVA开发环境的搭建

    首先,需要删除 RedHat Enterprise 5 自带的 JDK,然后下载 JDK 安装包,例如 jdk-6u14-linux-i586.bin。安装 JDK 前,需要删除原来的 JDK,否则系统仍然使用原来的 JDK。安装 JDK 后,需要设置环境变量,包括 JAVA_...

    ser-u14绿色版+ser-u6

    同时给您两个绿色版本,希望各位客官给好评,谢谢了!

    mssdk10130048en MsSDK u14

    mssdk101400111en.msi是microstation开发的sdk,版本是U14。文件解压密码是:https://blog.csdn.net/csdn_wuwt

    linux下jdk的安装方法

    4. **设置文件权限**:使用`chmod u+x jdk-6u14-linux-i586.bin`或`chmod 701 jdk-6u14-linux-i586.bin`命令给予该文件执行权限。 5. **执行安装脚本**:运行`sudo ./jdk-6u14-linux-i586.bin`命令,当提示输入“yes...

    jdk-6u14-windows-i586.exe

    在压缩包子文件的文件名称列表中,我们只看到"jdk-6u14-windows-i586",这可能是指该压缩包包含了完整的JDK 6u14安装程序,包括了所有必要的库文件、头文件、文档和其他资源,供用户在Windows 32位系统上安装和使用...

Global site tag (gtag.js) - Google Analytics