《初入linux》--第五部分-用户管理

来源:互联网 发布:小型电视价格淘宝网 编辑:程序博客网 时间:2024/05/01 10:59

一.对于用户的理解

用户,就是系统使用者的身份

在系统中,用户存储为若干串字符+若干个系统配置文件


1.用户相关目录

在linux中一般来说,一个用户会用到5个目录存放相关用户信息:

1)/etc/passwd

存放用户信息,其格式为:

用户:密码:uid:gid:说明:家目录:用户使用的shell

[root@localhost ~]# tail -n 5 /etc/passwdsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologintcpdump:x:72:72::/:/sbin/nologinmazha:x:1000:1000:mazha:/home/mazha:/bin/bash

2)   /etc/shadow

存放用户验证信息,其格式为:

用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日

[root@localhost ~]# tail -n 5 /etc/shadowsshd:!!:17078::::::avahi:!!:17078::::::postfix:!!:17078::::::tcpdump:!!:17078::::::mazha:$1$50CPLyN9$SbWMdqn.YcTSni8Iyv.L30:17083:0:99999:7:::
注:密码以hash加密后的字符串储存,系统对原密码不做保留

3)   /etc/group

存放用户组信息,格式为:

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

[root@localhost ~]# tail -n 5 /etc/grouptcpdump:x:72:stapusr:x:156:stapsys:x:157:stapdev:x:158:mazha:x:1000:

4)   /etc/gshadow

存放用户组验证信息

5) /home/username

用户家目录,存放用户相关文件

[root@localhost ~]# cd /home/mazha/[root@localhost mazha]# ls[root@localhost mazha]# ls -a.   .bash_history  .bash_profile  .cache   .mozilla..  .bash_logout   .bashrc        .config


2.用户管理

1)用户建立

useradd   参数   用户名字

-u           指定用户uid

[root@localhost mazha]# useradd -u 8888 test[root@localhost mazha]# tail -n 2 /etc/passwdmazha:x:1000:1000:mazha:/home/mazha:/bin/bashtest:x:8888:8888::/home/test:/bin/bash

-g           指定用户初始组信息,这个组必须已经存在

[root@localhost mazha]# useradd -g mazha test[root@localhost mazha]# tail -n 2 /etc/passwdmazha:x:1000:1000:mazha:/home/mazha:/bin/bashtest:x:1001:1000::/home/test:/bin/bash

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

[root@localhost mazha]# useradd -G mazha test[root@localhost mazha]# tail -n 2 /etc/groupmazha:x:1000:testtest:x:1001:

-c           用户说明

[root@localhost mazha]# useradd -c handsome test[root@localhost mazha]# tail -n 2 /etc/passwdmazha:x:1000:1000:mazha:/home/mazha:/bin/bashtest:x:1001:1001:handsome:/home/test:/bin/bash

-d          用户家目录

[root@localhost mazha]# useradd -d /home/111 test[root@localhost mazha]# tail -n 2 /etc/passwdmazha:x:1000:1000:mazha:/home/mazha:/bin/bashtest:x:1001:1001::/home/111:/bin/bash

-s          用户所使用的shell,/etc/shells记录了用户能使用shell的名字


2)用户删除

userdel   -r   用户名称              -r表示删除用户信息及用户的系统配置(递归删除)

[root@localhost mazha]# tail -n 2 /etc/passwdtcpdump:x:72:72::/:/sbin/nologinmazha:x:1000:1000:mazha:/home/mazha:/bin/bash

3)用户管理

usermod  参数   用户名字

    -c<备注>             修改用户帐号的备注文字

[root@localhost mazha]# usermod -c super test[root@localhost mazha]# tail -n 2 /etc/passwdmazha:x:1000:1000:mazha:/home/mazha:/bin/bashtest:x:1001:1001:super:/home/test:/bin/bash

 -d<登入目录>     修改用户登入时的目录

 -e<有效期限>     修改帐号的有效期限 

 -f<缓冲天数>      修改在密码过期后多少天即关闭该帐号

 -g<群组>             修改用户所属的群组

 -G<群组>            修改用户所属的附加群组 

    -p                            修改用户密码

 -l<帐号名称>      修改用户帐号名称

[root@localhost mazha]# usermod -l quit test[root@localhost mazha]# tail -n 2 /etc/passwdmazha:x:1000:1000:mazha:/home/mazha:/bin/bashquit:x:1001:1001:super:/home/test:/bin/bash

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

[root@localhost mazha]# usermod -L quit[root@localhost mazha]# tail -n 2 /etc/shadowmazha:$1$50CPLyN9$SbWMdqn.YcTSni8Iyv.L30:17083:0:99999:7:::quit:!:17084:0:99999:7:::

 -s<shell>            修改用户登入后所使用的shell 

 -u<uid>              修改用户ID

 -U                        解除密码锁定

    注:使用  usermod -U   时,若当前用户没有密码,则会提示先使用usermod -p 添加一个密码,但

            usermod -p 修改密码,一般直接存入/etc/shadow,所以是存入了加密后的文档,是不能登陆的,只能作为消除密码使用。

           此时,建议使用passwd命令添加密码


加注: usermod -L 和passwd -l     都有锁定账号的功能,但是passwd -l强度更高,passwd -l 加锁后需要用两次 usermod -U来解锁

         

4)组的建立

groupadd -g  组号            建立组

[root@localhost mazha]# groupadd -g 6666 super[root@localhost mazha]# tail -n 2 /etc/grogroff/  group   group-  [root@localhost mazha]# tail -n 2 /etc/groupmazha:x:1000:super:x:6666:

groupdel 组名字       删除组

[root@localhost mazha]# groupdel super[root@localhost mazha]# tail -n 2 /etc/groupstapdev:x:158:mazha:x:1000:

注:进行以上实验时建议配合监控命令,更加直观

watch -n 1 'tail -n 3 /etc/passwd/etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'


5)用户id信息查看

id  参数  用户

[root@localhost mazha]# id quituid=1001(quit) gid=1001(test) groups=1001(test)

-u           用户uid

[root@localhost mazha]# id -u quit1001

-g            用户初始组id

[root@localhost mazha]# id -g quit1001

-G           用户所有所在组id

[root@localhost mazha]# id -G quit1001

-n            显示名称而不是id数字(一般配合 -g一起使用)

[root@localhost mazha]# id -ng quittest

-a            显示所有信息

[root@localhost mazha]# id -a quituid=1001(quit) gid=1001(test) groups=1001(test)





1 0
原创粉丝点击