linux命令之 用户和群组

一、保存用户信息的文件

  1. 1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
pwftp:x:500:500::/alidata/www/wwwroot/:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
mysql:x:501:400::/home/mysql:/sbin/nologin

一共7项,都用:分隔

1 用户名  
2 密码 真正的密文保存在/etc/shadow中
3 UID 用户id
4 GID 组id
5 账户信息 这个账户有什么样的意义
6 家目录 在这个目录中,用户拥有全部的权限
7 shell类型 /sbin/nologin 非登录用户  
/bin/bash   一般用户使用的shell

/bin/false 无法登录

 

2. 新增用户

      useradd [-u UID] [-g GID] [-d HOME] [-mM]  [-s shell]  username

案例:

useradd –u  500 –g 500 –d /home/pwftp  -s /sbin/nologin  pwftp

建立了一个用户id为500,组id为500的用户,用户名pwftp,主目录/home/pwftp,

使用的/sbin/nologin这个shell是不可以登录的.

如果不想系统自动创建mysql用户家目录/home/mysql,则要使用-M参数

3. 删除用户

      userdel 用户名

案例:

userdel mysql

删掉mysql这个用户.

加入mysql用户组里只存在mysql这一个用户的话,这个组也会被同时删掉

如果mysql登录状态的,那么得等它登出了再删除

[root @test /root]# userdel testing  <==只有砍掉 /etc/passwd 与 /etc/shadow 的该账号内容;

[root @test /root]# userdel -r testing<==连该账号的 /home/testing 与 /var/spool/mail/testing 都砍掉!

这个指令下达的时候要小心了!通常我们要移除一个账号的时候,你可以手动的将 /etc/passwd 与 /etc/shadow 里头的该账号取消即可!一般而言,如果该账号只是『暂时不启用』的话,那么将 /etc/shadow 里头最后倒数一个字段设定为 0 就可以让该账号无法使用,但是所有跟该账号相关的数据都会留下来!使用 userdel 的时机通常是『你真的确定不要让该用户在主机上面使用任何数据了!』

停用一个账号:

#vi /etc/shadow

/pwftp  找到用户所在行

shift+a  移动到本行的行尾并编辑状态 做如下的修改:

pwftp:$6$fkOSovyP$FDrG1XFhNOvy.ZnsDhrbN7Jnj/Aw1rmN2T8UewW.dcS3nrKbbkRTl.JP4/fh/UFXZ.5Jq61WiLwLYQDssUpbv1:16367:0:99999:7::0:

再次使用pwftp用户登录时,得到的提示如下图:

 

4. 修改用户

      usermod -参数  参数值  用户名

usermod –s /bin/bash  mysql

修改mysql用户的shell为bash,这样mysql也能登陆了

其实吧,如果要求改用户的家目录,shell,或者组信息,还是直接修改/etc/passwd文件来的简单直接。

 

[root @test /root]# useradd testing  <==直接以默认的数据建立一个名为 testing 的账号

[root @test /root]# useradd -u 720 -g 100 -M -s /bin/bash testing   <==以自己的设定建立账号

这个指令影响/使用的文件可多了呢,都有以下这些:

  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • /etc/gshadow
  • /etc/skel
  • /etc/default/useradd
  • /etc/login.defs
  • 5. 建立预设的账号:

          建立账号时,如果没有特殊的限定,通常我们只使用 『 useradd username 』就可以建立一个名为username的账号了!

         不过你知道预设账号的基本设定吗?嘿嘿嘿嘿!!基本设定就在/etc/default/useradd 和/etc/login.defs 这两个档案中!

    在 login.defs 里头有点像底下这样:


    MAIL_DIR        /var/spool/mail  <==邮件默认目录摆放处

    PASS_MAX_DAYS   99999           <==密码需要变更的时间

    PASS_MIN_DAYS   0            <==密码多久需要变更

    PASS_MIN_LEN    5            <==密码的最小长度(这个可以改大一些吧!)

    PASS_WARN_AGE   7            <==密码快要失效之前几天发警告讯息?

    UID_MIN                   500    <==预设帐号最小起算的 UID 数目(最小为 500 )

    UID_MAX                 60000    <==最大的 UID 限制

    GID_MIN                   500    <==GID 限制

    GID_MAX                 60000    <==GID 限制

    CREATE_HOME     yes            <==是否建立家目录,默认是要建立家目录(若为 mail server 可以取消此项目)

    几乎可以设定的都在这里设定了!所以需要了解一下这个档案!另外,如果你是专门开启 mail server 的,那么由于使用者账号不需要登入主机,

    所以也就不需要给予家目录,这个时候最后一项 GREATE_HOME 或者可以设定为 no !此外,当你以默认的数据建立账号时,该账号的 UID 将会取目前在

    /etc/passwd 当中『最大的(其实是小于 60000)』那一个 UID + 1 即是预设帐号的 UID 啰!

     

    而至于 useradd 内容则为:


    GROUP=100      <==预设的使用者群组为 100 ,查看一下 /etc/group 时,这个组名为 users 呢!

    HOME=/home     <==默认用户的家目录建立的目录

    INACTIVE=-1    <==是否不启动,设定为 -1 自然就是启动啦!

    EXPIRE=        <==是否需要设定『死亡』时间?如果你希望该用户在期限到之后就不许登入,此项可以设定天数。

    SHELL=/bin/bash <==预设的 Shell 为何?

    SKEL=/etc/skel <==用户家目录的内容!

    在这个项目中,最需要了解的就是 SKEL 啦!当你建立一个名为 testing 的账号时,默认的家目录会是『 /home/testing 』这个目录,

    而这个目录的内容就是由 /etc/skel 所 copy 过去的!所以『当你想要让用户的默认家目录内容更动时,可以直接将要更动的数据写在 /etc/skel 当中!』

    6. 以自己的条件建立账号:

    如果要以自己的条件建立账号的时候,一般我都是喜欢手动的增加啦!

    不然就是先以上面的那一个例子增加一个账号之后,在去手动修改 /etc/passwd 等等的档案!

     

    二、保存用户密码的文件

    1. /etc/shadow

    1 账户名  
    2 密码  
    3 上次密码修改日期  
    4 密码不可被更改的天数  
    5 密码需要被变更的天数  
    6 密码需要被变更前的警告期限  
    7 账号失效期限  
    8 账号取消日期 设为<1970到系统当前日期的数字时,表示账号已经取消,则该不能使用。
    9 保留  

    三、保存群组信息的文件

    1.  /etc/group

      这个档案可以让你直接将账号所要支持的群组加进来!例如你有一个账号名称为 myaccount ,你想要让这个账号可以支持 root 这个群组,则你可以直接在 /etc/group 里面加入呢!很方便,不需要动用的指令呦!

      root:x:0:root

      bin:x:1:root,bin,daemon

      daemon:x:2:root,bin,daemon

      sys:x:3:root,bin,adm

      adm:x:4:root,adm,daemon

      1 2 3 4
      组名 群组密码 群组 ID (GID)
      1. 支持的账号名称

    四、保存群组密码的文件

    1. /etc/gshadow


    root:::root

    bin:::root,bin,daemon

    daemon:::root,bin,daemon

    sys:::root,bin,adm

    adm:::root,adm,daemon

     

     

    五、增加使用者的一般步骤:

    新增使用者的时候,如果该使用者所属的群组不存在,则得(1)先新增群组;

    然后(2)再新增使用者账号。当然,如果要删除群组时,则必须要反过来,先删除使用者才能删除群组!这点请大家留意啰!

     

    更详细的教程请访问  鸟哥的linux私房菜   http://u2l.info/3iltdg

    时间: 2024-11-09 12:27:53

    linux命令之 用户和群组的相关文章

    linux中的用户、群组和权限

    linux中的用户.群组和权限 新建用户natasha,uid为1000,gid为555,备注信息为"master" groupadd -g 555 natasha useradd -u 1000 -g 555 -c master natasha id natasha uid=1000(natasha) gid=555(natasha) groups=555(natasha) tail -1 /etc(用户配置信息)/passwd (密码)natasha:x:1000:555:mast

    Linux命令之用户与组管理

    介绍 Linux操作系统中,任何文件都归属某一特定的用户,而任何用户都隶属至少一个用户组.用户是否有权限对某文件进行访问.读写以及执行,受到系统严格约束的正式这种清晰.严谨的用户与用户组管理系统.在很大程度上保证了Linux系统的安全. Linux账号分类 用户账号 -用来存储单一用户的数据 用户账号分为: 超级账户:拥有完全控制权,用户名通常称为root,其UID为0 普通账户 系统账户 -这种账户提供给Linux系统本身使用,UID在1-499之间 真实用户 -UID在500-4,294,9

    Linux系统用户、群组和权限

    一.用户 1./etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database) 每个字段的具体含义: 第1个字段(列)记录的是这个用户的名字(在创建用户时root用户起的). 第2个字段(列)如果是x,表示该用户登录Linux系统时必须使用密码:如果为空,则该用户在登录时无须提供密码. 第3个字段(列)记录的是这个用户的uid. 第4个字段(列)记录的是这个用户所属群组的gid. 第5个字段(列)记录的是有关这个用户的注释信息(如全名或通信地址). 第6

    linux用户和群组

    一.帐户概述 1.帐户实质 Linux 操作系统是一个多用户的操作系统,它允许多个用户同时登陆到系统上,使用系统资源.系统根据帐户来区分每个用户的文件.进程.任务,给每个用户提供特定的工作环境(如用户的工作目录.SHELL 版本以及 X-Window 环境的配置等),使每个用户的工作都能独立不受干扰地进行. 2.用户和组 从广义上讲,Linux 帐户包括用户帐户和组帐户. 用户帐户 Linux 上的用户帐户有两种:普通用户帐户和超级用户帐户(root). 普通用户帐户---普通用户帐户在系统上的

    (二)Linux系统 用户、群组和权限

    一.用户.群组和权限 1)  新建用户natasha,uid为1100,gid为555,备注信息为"master" 2)  修改natasha用户的家目录为/Natasha 3)  查看用户信息配置文件的最后一行 4)  为natasha用户设置密码"123" 5)  查看用户密码配置文件的最后一行 6)  将natasha用户账户锁定 7)  将natasha用户账户解锁 8)  新建组police,gid为888 9)  查看组配置文件的最后一行 10) 将na

    用户和群组管理

    第十一章 用户和群组管理复制上一组的路径 esc+del(句号)cat tac 倒叙查看more 分页显示文本文件 单向less 分页显示文本文件 能翻页 q退出head:快速查看前十行(默认) [[email protected] ~]# head -3 /etc/passwd //默认是十行 看几行就-几root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/

    解决苹果电脑(mac)管理员账户变成了普通用户后不能解锁用户与群组的问题

    亲们,我先说说前因,然后再说一下解决方法. 前因 今天不知怎么就想把苹果电脑原来的名字给改一下,于是就做了下面的操作(你们不要这样做) 1.系统偏好设置→用户与组群→当前管理员用户→(右键)高级选项 然后就账户名称和全名都改了. 2.然后就哭了,我的管理员账户就变成了普通用户,不能解锁用户和群组了,但还能正常使用. 3.然后就开始了寻找解决之路. 4.大家以后要改就只改全名就好,其他的不要动,如果动了 管理员权限 就没有了. 解决的方法 思路 先建一个新(管理员账户1)把原来的账号提升成(管理员

    linux下添加用户到sudo组 并禁止sudo用户修改密码

    linux下添加用户到sudo组 创建用户  useradd hanli 为新用户设置密码  passwd hanli 创建用户组  groupadd  op 将用户添加到用户组  usermod -G op hanli 查看用户属于哪个组  groups hanli 查看用户组成员    groupmems -g wheel -l  (wheel是组名) 查看所有用户组   cat /etc/group   cat /etc/gshadow 查看所有用户       cat /etc/pass

    activiti-explore示例改变默认数据库、禁用默认用户和群组,流程定义,数据模型设置(导致explore无法访问)

    1.改变默认数据库:修改db.properties. 2.禁用默认用户和群组,流程定义,数据模型:修改activiti-standalone-context.xml <bean id="demoDataGenerator" class="org.activiti.explorer.demo.DemoDataGenerator">        <property name="processEngine" ref="pr