学习Linux旅途--Day Five--

Linux用户和组的管理

    当我们使用useradd增加一个用户,此时会在/etc/passwd文件增加一行,而密码则放置在/etc/shadow文件,接下来我们详细了解下这两个文件


1、/etc/passwd

    由冒号:分割成七段

    第一段:用户名

    第二段:在早期的Linux中这个段位存放的密码,由于安全因素,只是用x标识符占位,实际密码则在/etc/shadow配置文件

    第三段:uid,用户标识号0-(2^32-2)范围,root的uid为0,1-499为系统保留,普通的账户uid从500开始

    第四段:gid,群组标识号,则对应的是/etc/group

    第五段:用于注释说明,一般为空(finger查看用户信息,chfn设置用户注释说明)

    第六段:家目录

    第七段:登陆的shell,/bin/bash、/bin/flase、/bin/nologin(不允许登陆)


2、/etc/shadow

    由冒号:分割成九段

    第一段:用户名

    第二段:存放密码($1:是MD5加密,$5:是sha-256加密,$6:是sha-512加密),*表示被锁定,!!表示无密码

    第三段:上次更改密码的时间,是从1970-1-1开始计算

    第四段:要过多少天才可以更改密码,0就代表不限制

    第五段:密码多少天后到期,默认是99999

    第六段:密码到期前的警告期限

    第七段:账号失效的期限,过多少天锁定账号

    第八段:账号的生命周期,表示这个账号可以使用多久

    第九段:作为保留用,没什么意义


useradd:添加用户

    -u:指定uid

    -g:指定gid,加入某组,群组必须已经有的,否则报错

    -d:指定家目录(当指定的家目录已存在时,则家目录的相关配置文件不会生成)

    -s:指定shell

    -M:创建用户时,不创建家目录


userdel:删除用户

    默认并不会删除家目录

    -r:指定删除用户的家目录


usermod:修改用户账号信息

    -u:指定uid

    -g:修改uid

    -G:修改用户所属附加群组

    -s:修改shell(不允许登陆/bin/nologin、拒绝访问/bin/flase)

    -d:修改家目录

    -L:锁定用户密码,使密码无效

    -U:解锁用户


3、/etc/group

    第一段:用户组名称

    第二段:用户组密码,x占位

    第三段:gid群组标识号

    第四段:用户列表,每个用户之间用逗号分隔

    

4、/etc/gshadow

    第一段:用户组名称

    第二段:用户组的密码,可以为空或者!,都表示没有密码

    第三段:用户组的管理者,这个字段可以为空,如果有多个用户组管理者,用逗号分隔

    第四段:组成员,多个成员用逗号分隔


groupadd:新增一个用户组

    -d:指定gid


groupdel:删除一个用户组,若组里由用户,则无法删除

    

groupmod:修改群组信息

    -n:更改群组名称

    -g:更改gid


5、passwd:修改用户密码

   mkpasswd:可以生成不规则的密码,须安装expect包

        -l:指定密码长度,默认为9

        -d:指定数字个数,默认为2

        -c:指定小写字符个数,默认为(密码长度-大写字符个数-小写字符个数-特殊字符个数=默认小写字符个数)

        -C:指定大写字符个数,默认为2

        -s:指定特殊字符个数,默认为1


6、用户身份切换

    su:临时切换身份(这种方法,用户的PATH变量没有变)

    su -:会切换到用户的家目录(用户的PATH变量会切换)


    sudo:用其他身份来执行命令,/etc/sudoers配置文件,也可以visudo == vi /etc/sudoers

    找到"root    ALL=(ALL)    ALL"这一行,添加下面三行:

            User_Alias    USER_SU = 用户    //比如user1

            Cmnd_Alias    SU = /bin/su

            USER_SU       ALL=(ALL)    NOPASSWD:SU

        用户别名:USER_SU是user1的别名

        命令别名:SU是/bin/su的别名


更改的格式:user    host=(as_user)    commands    //解释下,一列表示让那个用户使用sudo命令,第二列host指定主机,表示让哪个主机去临时拥有谁(as_user)的权限,第三列执行什么命令

上面这几段也可以一段结合:用户1,用户2...    ALL=(ALL)    NOPASSWD:/bin/su





本文出自 “小旭” 博客,请务必保留此出处http://loopholes.blog.51cto.com/9445813/1624848

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。