码迷,mamicode.com
首页 > 系统相关 > 详细

Linux用户和组的管理

时间:2016-08-02 17:12:54      阅读:479      评论:0      收藏:0      [点我收藏+]

标签:用户登录   管理员   用户组   linux   操作系统   

        以下是我对Linux系统用户以及组的理解以及一些命令的解释,如有不当之处,请大家留言提醒,谢谢.


     Linux是一个多用户登录的操作系统,所有要在Linux系统中工作的使用者,都必须向管理员申请用户账户.而管理员会根据使用者在Linux中的角色,将其账户权限设定为系统用户或者是登陆用户,及安排其账户的主组以及其附属组.而恰恰是这一些列的安全动作,很大程度上保证的Linux系统的安全.

    而管理员要实现用户账户管理,主要有一下几方面:

    1、用户账号的管理(添加,删除,修改)

    2、用户密码的添加,修改

    3、用户组的管理

    

    在Linux系统中,用户的账号信息存放在 /etc/passwd 中 ,而该文件一般只有 root 账号有权修改,其他用户账号只有查看的权限.在最早的Linux版本里 用户密码也是存放在该文件中,但后来随着Linux版本更新,安全策略的改变,用户密码便存放在 /etc/shadow 文件中,相对应在 /etc/passwd 密码那里便以 "x" 加密不显示出来了

[root@localhost ~]# ll /etc/passwd /etc/shadow
-rw-r--r--. 1 root root 4082 Aug  1 21:34 /etc/passwd
-r--------. 1 root root 4129 Aug  1 21:42 /etc/shadow
[root@localhost ~]# getent passwd root;getent shadow root
root:x:0:0:root:/root:/bin/bash
root:$6$vE3bmjlB$CEUyLn6GEqfgCplYkDi7i6vLSVj8erp9BOoKq2fTvex/8TB4D/rWNzJK9yq1VojZlzooB0D3Aiy.QgJt/ePRN0:17014:0:99999:7:::
[root@localhost ~]#

    其中: getent passwd USERNAME \\看USERNAME 用户配置信息   


1.0 用户账号的管理

    在Linux里,进程所能够访问资源的权限取决于进程的运行者的身份

        管理员: root UID :0      

        普通用户: 1-65535

        系统用户: 1-499( CentOS 6 ) , 1-999  ( CentOS 7 )

        登录用户:  500 +( CentOS 6 ) , 1000+  ( CentOS 7 )

        

    创建用户配置文件 : /etc/default/useradd     

        # useradd defaults file

        GROUP=100 组ID起始号

        HOME=/home 放置家目录地址

        INACTIVE=-1 账号时效

        EXPIRE=

        SHELL=/bin/bash         shell类型

        SKEL=/etc/skel家目录骨架文件

        CREATE_MAIL_SPOOL=yes是否开启邮箱服务

       


    用户创建:useradd

        useradd [options] LOGIN

        -u UID: [UID_MIN, UID_MAX]定义在/etc/login.defs

        -o 配合-u 选项,不检查UID的唯一性

        -g GID:指明用户所属基本组,可为组名,也可以GID

        -c "COMMENT":用户的注释信息

        -d HOME_DIR: 以指定的路径(不存在)为家目录

        -s SHELL: 指明用户的默认shell程序可用列表在/etc/shells文件中

        -G GROUP1[,GROUP2,...]:为用户指明附加组,组必须事先存在

        -N 不创建私用组做主组,使用users组做主组

        -r: 创建系统用户 CentOS 6: ID<500, CentOS 7: ID<1000


    用户属性修改: usermod

usermod [OPTION] login

-u UID: 新UID

-g GID: 新基本组

-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加

组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;

-s SHELL:新的默认SHELL;

-c ‘COMMENT‘:新的注释信息;

-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项

-l login_name: 新的名字;

-L: lock指定用户,在/etc/shadow 密码栏的增加 !

-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉

-e YYYY-MM-DD: 指明用户账号过期日期;

-f INACTIVE: 设定非活动期限;


    删除用户:userdel     userdel [OPTION]... login

        -r: 删除用户家目录;


    查看用户相关ID信息:     id [OPTION]... [USER]

        -u :UID -g : GID -G : Groups -n : Name


    密码设置password /etc/login.defs   密码配置文件

passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限

passwd: 修改自己的密码;

常用选项:

-l:锁定指定用户

-u:解锁指定用户

-e:强制用户下次登录修改密码

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-i inactivedays:非活动期限;

--stdin:从标准输入接收用户密码;

echo "PASSWORD" | passwd --stdin USERNAME


2.0组管理:

    

创建组:

groupmems [OPTION]... group_name

-g GID : 致命Gid号 ; -r 创建系统组 

centos 6 : ID <500 ; centos 7 : ID <1000


    修改和删除组:

组属性修改: groupmod

groupmod [OPTION]... group

-n group_name: 新名字  ;  -g GID: 新的GID;

组删除: groupdel

groupdel GROUP


    更改组密码:

组密码: gpasswd

gpasswd [OPTION] GROUP

-a user: 将user添加至指定组中;

-d user: 从指定组中移除用户user

-A user1,user2,...: 设置有管理权限的用户列表

newgrp命令:临时切换基本组;如果用户本不属于此组,则需要组密码


    更改和查看组成员

groupmems [options] [action]

-g, --group groupname 更改为指定组 (只有root)

Actions:

-a, --add username 指定用户加入组

-d, --delete username 从组中删除用户

-p, --purge 从组中清除所有成员

-l, --list 显示组成员列表

groups [OPTION].[USERNAME]... 查看用户所属组列表


3.0其他

    

    新建用户的相关配置文件和命令:

    etc/default/useradd   创建用户配置文件

    /etc/skel/* 家目录骨架文件

    /etc/login.defs   密码配置文件

    newusers passwd格式文件 批量创建用户

    chpasswd 批量修改用户口令

    密码更改: echo "password " | passwd --stdin userName


    修改用户策略:

chage [OPTION]... LOGIN

-d LAST_DAY

-E, --expiredate EXPIRE_DATE

-I, --inactive INACTIVE

-m, --mindays MIN_DAYS

-M, --maxdays MAX_DAYS

-W, --warndays WARN_DAYS

–l,显示密码策略

下一次登录强制重设密码

chage -d 0 tom  ;上次修改密码时间为0

chage -m 0 –M 42 –W 14 –I 7 tom ;密码最短有效时间为0(随时可以修改),密码最长有效时间为42天,系统提前14天提示密码将要时效,密码到时效时间后7天内还可以使用,7天内部修改密码,账号将永久失效

chage -E 2016-09-10 tom   ;账号到2016-9-10 失效

    

    修改密码配置文件 /etc/login.defs


4.0批量添加用户名


    批量添加用户步骤

        1 : 建一个文档file1,内容格式为   lg:x:1000:1000:lg:/home/lg:/bin/bash

2 : #newusers file

3 : 回复家目录文件,文件架构在 /etc/skel . 注意,不要将/etc/skel 下 .. 文件复制

        4 : 按格式 userName:password 将用户与密码保存在文档中,运行命令 #cat file > chpasswd 批量修改命令 (也可以单个修改 : #echo "password" |passwd --stdin userName )








Linux用户和组的管理

标签:用户登录   管理员   用户组   linux   操作系统   

原文地址:http://lgdong.blog.51cto.com/11880698/1833555

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!