首页 > 代码库 > 本地用户和组

本地用户和组

用户uid:

100以内为系统用户

100-400为应用用户

400以后为自己创建的用户

【用户存在的系统文件】

/etc/passwd  //用户组信息文件

/etc/group   //用户组信息

/etc/shadow  //用户认证信息

/home/username  //用户家目录

/etc/skel/.*   //用户的基本配置信息

技术分享 

#vim /etc/passwd   //7

用户名称:密码:uidgid:用户说明:用户家目录:用户所使用的shell

egstudent : x : 1000 : 1000 : Student User: /home/student : /bin/bash

root:x:0:0:root:/root:/bin/bash

#vim /etc/group  //4

用户组名称:用户组密码:用户组id:附加组成员

egstudent:x:1000:

root:x:0:

#vim /etc/shadow   //9

用户名称:密码:密码使用天数:密码最短有效期:密码最长有效期:密码警告期:密码非活跃期:密码到期日:blank

root : $6$UiGI4Tc2$htsXYn5cJnOqv3P1VLcUSgfjDu2pL5yiJBuua6foZAHdwqeuLHfYUfS/vBn27Wjvoel8EJgtdsMjyquqvKAmf1 : 16261 : 0 : 99999 : 7 : : :

【用户操作命令】

id:查看用户信息

id-u  //用户uid

-g  //用户gid

-a  //用户所有信息

-G //用户所在组的所有id

-un  //用户名字

-gn   //用户初始组名称

-Gn  //用户所在组名称

eg[student@desktop ~]$ id -u

1000

[student@desktop ~]$ id -g

1000

[student@desktop ~]$ id -G

1000 10

[student@desktop ~]$ id -a

uid=1000(student) gid=1000(student) groups=1000(student),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[student@desktop ~]$ id -un

student

[student@desktop ~]$ id -gn

student

[student@desktop ~]$ id -Gn

student wheel

su - username   //切换用户所使用的环境

为何要加-? -表示登录

不加-表示身份切换,但是没有切换用户工作环境

echo $USER   //查看当前用户的信息

echo $PATH   //显示当前用户的工作环境

useradd   //新建用户

-u  //指一定用户的初始uid

-g  //指定用户初始组,这个组必须存在

-G  //指定用户附加组,这个组必须存在

-c  //用户说明

-d  //指定用户家目录

-s  //指定用户所使用的shell

-M  //不创建/home下的家目录

userdel -r  //删除用户

groupadd -g //新建组,-g表示指定组的id

groupdel    //删除组

passwd   //更改密码

cat /etc/shells  //查看shell的种类

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/csh

系统用户:shell/sbin/nologin,不能进行交互询问回答

usermod -u  //改变用户uid

-g  //改变用户初始组

-G  //改变用户附加组

-aG  //添加用户附加组

-d   //改变用户家目录信息

-md  //改变用户家目录信息和家目录名称

-s   //改变用户shell

-c   //改变用户说明行文字

-L   //冻结用户,锁定

-U   //解冻用户,解锁

练习:

<1>新建用户组:shengchan,caiwu,jishu;

<2>新建用户要求如下:

1tomshengchan组的附加用户,用户id2000

2harrycaiwu组的附加用户,用户组id3000

3leojishu组的附加用户,此用户家目录在/mnt/leo中;

4)新建admin用户,此用户不属于以上提到的三个部门;

5)新建system用户westos,此用户不能登陆系统,这个用户的说明为“system westos

[root@localhost ~]# for group in shengchan caiwu jishu;do groupadd $group && echo $group added;done

shengchan added

caiwu added

jishu added

[root@localhost ~]# useradd -u 2000 -G shengchan tom

[root@localhost ~]# id tom

uid=2000(tom) gid=2000(tom) groups=2000(tom),1001(shengchan)

[root@localhost ~]# groupadd -g 3000 harry

[root@localhost ~]# useradd -g 3000 -G caiwu harry

[root@localhost ~]# id harry

uid=2001(harry) gid=3000(harry) groups=3000(harry),2001(caiwu)

[root@localhost ~]# useradd -d "/mnt/leo" -G jishu leo

[root@localhost ~]# id leo

uid=2002(leo) gid=2002(leo) groups=2002(leo),1003(jishu)

[root@localhost ~]# useradd admin

[root@localhost ~]# useradd -s "/sbin/nologin" -c "system westos" westos

【查看用户建立或管理过程使用的命令】

#watch -n -1 ‘tail -1 /etc/shadow‘ ##使用监功能时,用ctrl+c退出

# watch -n 1 ‘tail -3 /etc/passwd;echo ===============;tail -3 /etc/group‘

# grep bash$ /etc/passwd###过滤后缀包含bash的行

root:x:0:0:root:/root:/bin/bash

student:x:1000:1000:Student User:/home/student:/bin/bash

test:x:2005:2005::/home/test:/bin/bash

# grep bash$ /etc/passwd | awk -F: ‘{print $i}‘###过滤后缀包含bash的行后取第i

root

student

test

 

【用户权限下放sudo

which+命令  //查看系统命令的路径

权限下放动作的配置文件:/etc/sudoers

visudo   ##授权(一般情况下,只有超级用户有建立用户等操作,在visudo中可以赋予普通用户超级用户的权限;当然,也可以赋予用户A用户B的权限),在进入文件进行编辑时可以报错

visudo编辑文件内容:

授权目标用户主机名称(授权用户得到新用户身份)授权用户执行命令

testlocalhost=(root)NOPASSWD:/usr/sbin/useradd,/usr/sbin/userdel

eg: sudo useradd yejunyi(在用户为test

 

【更改密码期限】

/etc/shadow 密码文件的格式(共9段)

(1)   (2)    (3)       (4)    (5)    (6)    (7)      (8)      (9)     

namepasswdlastchangeminagemaxagewarninginactiveexpireblank

##1用户名

##2加密过的密码:*代表帐号被锁定,!!代表密码已过期,!代表没有密码

##3修改日期:上一次密码修改的日期距1970-1-1的天数

##4密码不可改的天数,若为8,则8天内不能修改密码;若为0,则随时都可修改

##5密码需要修改的期限:如果是99999则永远不用修改,如果是其他数字如12345,那么必须时距离1970-1-112345天内修改密码,否则密码失效

##6修改期限前n天发出警告,如你在5中规定今年620日规定密码必须被修改,系统会从距离620日的前n天向对应的用户发出警告

##7密码过期的宽限:假设这个数字被设为m,那么帐号过期m天内密码是可以被修改的,改之后账户可以继续使用

##8帐号失效日期:假设这个日期是xx表示的仍是与1970-1-1相距的天数,过了x之后,账户失效

##9保留:被保留项,暂时还未用上

chage-d###密码使用了多久,如果设为0表示用户登陆系统前必须改密码lastchange

-m###最短有效期minage

-M###最长有效期maxage

-W###警告期

-I###非活跃期,宽限天数

-E###到期时间格式YYYY-MM-DD

chage -d 0 用户名  ##最后一次更改天数.第一次使用要先改密码,密码存在天数为0天,和银行卡一样,第一次修改好密码后以后就使用新密码

eg: # chage -d 0 haha

 

 技术分享

技术分享

 

 


本文出自 “腹有诗书气自华” 博客,请务必保留此出处http://11451283.blog.51cto.com/11441283/1846421

本地用户和组