用户及用户组的相关文件
当用户输入帐号密码时,系统处理了什么?
在 /etc/passwd文件中是否有该帐号---->读取该帐号对应的UID(/etc/passwd)和GID(/etc/group),同时将 该帐号的主文件夹与shell设置也一并读出来---->核对密码表:在/etc/shadow文件中找出对应的帐号与UID,然后核对密码是否正 确---->一切OK,则进入shell
控管的阶段
/etc/passwd
[kiosk@foundation44 Desktop]$ head -n 4 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin [kiosk@foundation44 Desktop]$
取“root:x:0:0:root:/root:/bin/bash“用作说明:
/etc/passwd文件每行使用“:”分隔开,共有七个字段,也可以认为是七列;
第一列:root ##帐号名称##
第二列:x ##密码##
以防密码数据被窃取,将密码数据存放在/etc/shadow中,故该处只显示x
第三列:0 ##UID##
通常0为系统管理员即超级用户UID;1~499为系统帐号UID,其中1~99由distributions自行创建的系统帐号UID,100~499则是当用户有系统帐号需求时可以使用的UID;500~65535为可登陆账户UID,给一般用户使用的UID
第四列:0 ##GID##
与/etc/group有关,/etc/passwd用来规定组名与GID的对应
第五列:root ##用户信息说明##
第六列:/root ##用户家目录##
第七列:/bin/bash ##shell##
/sbin/nologin该shell可以使用户无法交互式登陆
/etc/shadow
[root@foundation44 ~]# head -n 4 /etc/shadow root:$6$TKuPL7p4$1/vVJP.e5d7I.3BHYumeRMsSnJbFup5s/q7d9aPWgL6N2f.mh6XCqZSxjNovgdQKGAE.4ut4Fcbsln5RfUkrs1:17212:0:99999:7::: bin:*:16579:0:99999:7::: daemon:*:16579:0:99999:7::: adm:*:16579:0:99999:7::: [root@foundation44 ~]#
任取一行数据用作说明:
/etc/shadow文件每行使用“:”分隔开,共有九个字段,也可以认为是九列;
第一列:帐号名称
必须与/etc/passwd文件一致
第二列:密码
经过不编码的密码(加密),该文件默认权限是“-rw-------”或“-r--------”,切不可随意改动该文件权限
第三列:最近更改密码的日期(最后一次密码修改时间)
第四列:密码不可被改动的天数(最短有效期)
与最近更改密码的日期相比
第五列:密码需要重新更改的天数(最长有效期)
与最近更改密码的日期相比
第六列:密码需要更改期限前的警告天数(警告期)
与密码需要重新更改的天数
第七列:密码过期后的帐号宽限时间(密码失效日,又叫非活跃期)
与密码需要重新更改的天数相比,区分密码过期与密码失效
第八列:帐号失效日期(帐号到期日)
第九列:保留
该列保留,看以后有没有新字段加入
/etc/group
[root@foundation44 ~]# head -n 4 /etc/group root:x:0: bin:x:1: daemon:x:2: sys:x:3: [root@foundation44 ~]#
任取一行数据用作说明:
/etc/group文件每行使用“:”分隔开,共有四个字段,也可以认为是四列;
第一列:用户组名称
第二列:用户组密码
密码转存于/etc/gshadow中,故该字段只显示x
第三列:GID
第四列:此用户组支持的帐号名称(附加组成员)
补充:
/home/username ##用户家目录##
/etc/skel/.* ##用户骨架文件##
用户及用户组的创建和管理
useradd ##新建用户##
useradd -u ##指定用户uid##
useradd -g ##指定用户初始组信息,这个组必须已经存在##
useradd -G ##指定附加组,这个组必须存在##
useradd -c ##用户说明##
useradd -d ##用户家目录##
useradd -s ##用户所使用的shell,/etc/shells记录了用户能使用shell的名>字(/sbin/nologin表示该用户不能使用交互式登陆)##
id ##查看用户信息##
id -u ##用户uid##
id -g ##用户初始组id##
id -G ##用户所有所在组id##
id -n ##显示名称而不是id数字##
id -a ##显示所有信息##
usermod ##用户参数修改##
usermod -l ##更改用户名称##
usermod -u ##更改uid##
usermod -g ##更改gid##
usermod -G ##更改附加组##
usermod -aG ##添加附加组##
usermod -c ##更改说明##
usermod -d ##更改家目录指定##
usermod -md ##更改家目录指定及家目录名称##
usermod -s ##更改shell##
usermod -L ##冻结帐号##
usermod -U ##解锁##
echo lee | passwd --atdin westos ##给lee用户一个密码##
passwd -d westos ##清空密码##
chage -d ##多少天后修改密码,如果参数为0则用户登陆是就必须修改密码##
chage -m ##最短有效期##
chage -M ##最长有效期##
chage -W ##警告期##
chage -I ##用户非活跃期##
chage -E ##帐号到期日##
练习题:
新建用户组:shengchan,caiwu,jishu
要求: *tom是shengchan组的附加用户
*harry是caiwu组的附加用户
*leo是jishu组的附加用户
*新建admin用户,此用户不属于以上提到的三个部门
[root@localhost ~]# groupadd shengchan
[root@localhost ~]# groupadd jishu
[root@localhost ~]# groupadd caiwu
[root@localhost ~]# useradd tom -G shengchan
[root@localhost ~]# useradd harry -G caiwu
[root@localhost ~]# useradd leo -G jishu
[root@localhost ~]# useradd admin
查看用户信息cat /etc/passwd(也可用id命令查看用户信息)
查看用户组信息cat /etc/group
权力下放
1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户
下放权力配置文件:/etc/sudoers
2.下放权力的方法
*)超级用户执行visudo进入编辑/etc/sudoers模式
*)格式:
获得权限用户 主机名称=(获得到的用户身份) 命令
例如:test desktop0.example.com=(root) /usr/sbin/useradd
##test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
3.执行下放权限命令
sudo 命令 ##如果第一次执行sudo需要输入当前用户密码##
在/etc/sudoers中如果设置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码
本文出自 “12449513” 博客,请务必保留此出处http://12459513.blog.51cto.com/12449513/1910160
原文地址:http://12459513.blog.51cto.com/12449513/1910160