码迷,mamicode.com
首页 > 其他好文 > 详细

centos 简单用户管理

时间:2018-05-29 15:02:43      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:login   shell   logo   ima   语法检查   令牌   开始   分享   变更   

一、配置文件

  • /etc/passwd:存放用户信息,以“:”分割成7个部分

  技术分享图片

    1、账号名称,用来对应UID;

    2、早期密码存放位置,后来密码改存/etc/shadow中,以“x”代替;

    3、UID,使用者表示,系统主要通过UID识别账户

    4、GID,用户组的ID

    5、用户信息说明

    6、家目录

    7、登陆的shell

  • /etc/shadow:存放用户密码等信息,同样以“:”分割,分为9段

  技术分享图片

    1、账号名称,与/etc/passwd相对应;

    2、密码,经过加密;

    3、最近更改密码的日期,以1970-1-1开始计数;

    4、不允许更改密码的天数,从密码变更起始开始计数,如果数值为n,表示密码变更后,n天内不允许在修改密码,0表示随时可以修改密码;

    5、密码需要更改的天数,从密码变更起始开始计数,如果数值为m,表示密码变更后,在m天内需要更改密码,99999表示永远不要修改密码;

    6、密码更改期限前的警告天数,与5相比,如果数值为x,表示在5字段密码需要更改的前x天,发出警告,提示需要修改密码;

    7、密码过期后的宽限时间,与5字段相比,如果数值为y,表示在5字段,密码需要更改后,在y天内密码有效,y天后密码失效,登陆时会强制用户更改密码;

    8、账号失效日期,如果数值为z,表示在z天以后,账号不能登陆;

    9、保留字段

  • /etc/group,存放用户组信息,同样以“:”分割,4个字段

  技术分享图片

    1、组名

    2、组密码

    3、GID

    4、组成员

  • /etc/gshadow 组密码等信息位置
  • /etc/skel
[root@web01 ~]# ll -a /etc/skel/
总用量 32
drwxr-xr-x.   3 root root  4096 5月  28 17:52 .
drwxr-xr-x. 104 root root 12288 5月  29 09:27 ..
-rw-r--r--    1 root root    18 3月  23 2017 .bash_logout
-rw-r--r--    1 root root   176 3月  23 2017 .bash_profile
-rw-r--r--    1 root root   124 3月  23 2017 .bashrc
drwxr-xr-x.   2 root root  4096 11月 12 2010 .gnome2

 

二、命令管理

  • 添加用户

  

[root@web01 ~]# useradd -u 1000 test1     #指定uid
[root@web01 ~]# id test1
uid=1000(test1) gid=1000(test1) 组=1000(test1)
[root@web01 ~]# useradd -g root test2    #指定主组
[root@web01 ~]# id test2
uid=1001(test2) gid=0(root) 组=0(root)
[root@web01 ~]# useradd -G root test3    #添加新用户到附加组
[root@web01 ~]# id test3
uid=1002(test3) gid=1002(test3) 组=1002(test3),0(root)
[root@web01 ~]# useradd -s /sbin/nologin test4  #指定登陆shell
[root@web01 ~]# tail -1 /etc/passwd
test4:x:1004:1004::/home/test4:/sbin/nologin
-M  不为用户创建家目录
-d  为用户指定家目录
  • 设置密码

  

[root@web01 ~]# passwd test1
更改用户 test1 的密码 。
新的 密码:
无效的密码: 它基于字典单词
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@web01 ~]# echo "password"|passwd test2 --stdin  #非交互设置密码,可用于批量添加用户
更改用户 test2 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@web01 ~]# passwd -d test2  #清除密码
清除用户的密码 test2。
passwd: 操作成功
  • 修改用户信息

  

[root@web01 ~]# id test2
uid=1001(test2) gid=0(root) 组=0(root)
[root@web01 ~]# usermod -u 555 test2
[root@web01 ~]# id test2
uid=555(test2) gid=0(root) 组=0(root)
[root@web01 ~]# usermod -g test3 test2
[root@web01 ~]# id test2
uid=555(test2) gid=1002(test3) 组=1002(test3)
[root@web01 ~]# usermod -G root test2
[root@web01 ~]# id test2
uid=555(test2) gid=1002(test3) 组=1002(test3),0(root)
[root@web01 ~]# grep test2 /etc/passwd
test2:x:555:1002::/home/test2:/bin/bash
[root@web01 ~]# usermod -s /sbin/nologin test2
[root@web01 ~]# grep test2 /etc/passwd
test2:x:555:1002::/home/test2:/sbin/nologin
##########与useradd用法几乎相同############

 

  • 删除用户
[root@web01 ~]# userdel test1  #默认不删除家目录
[root@web01 ~]# ll -d /home/test1/
drwx------ 3 1000 1000 4096 5月  29 11:04 /home/test1/
[root@web01 ~]# userdel -r test4  #删除家目录
[root@web01 ~]# ll -d /home/test4
ls: 无法访问/home/test4: 没有那个文件或目录
  • 查看用户信息
[root@web01 ~]# id
uid=0(root) gid=0(root) 组=0(root)
[root@web01 ~]# id test1
id: test1:无此用户
[root@web01 ~]# id test2
uid=1001(test2) gid=0(root) 组=0(root)
  • 组管理
[root@web01 ~]# groupadd test1
[root@web01 ~]# tail -2 /etc/group
suffergtf:x:1003:
test1:x:1004:
[root@web01 ~]# groupdel test1
[root@web01 ~]# tail -2 /etc/group
test3:x:1002:
suffergtf:x:1003:

 

三、sudo管理

配置文件/etc/sudoers,可以使用vim编辑工具直接编辑该文件,但是没有语法检查,所以推荐使用visudo管理

格式如下

root    ALL=(ALL)       ALL

root:表示需要提权的用户

ALL:运行的主机

(ALL):表示以谁的身份来运行命令

ALL:表示给予字段1中的用户使用字段3的用户权限运行这个命令

例:

test    ALL=(root)      /usr/sbin/useradd
[root@web01 test2]# su - test
[test@web01 ~]$ /usr/sbin/useradd test100
-bash: /usr/sbin/useradd: 权限不够
[test@web01 ~]$ sudo /usr/sbin/useradd test100
[sudo] password for test: 
[test@web01 ~]$ id test100
uid=1006(test100) gid=1006(test100) 组=1006(test100)

sudo别名功能(别名只能用大写)

User_Alias USER = test200,test300,test400  #定义用户别名
Host_Alias HOST = web01,web02    #定义主机别名
Cmnd_Alias CMD = /usr/sbin/useradd,/usr/sbin/userdel  #定义命令别名

USER    ALL=(root)      CMD
###########别名需要使用大写字母表示,并且定义的别名如果没有使用,会报错#############
[root@web01 test2]# su - test200
[test200@web01 ~]$ /usr/sbin/useradd test11
-bash: /usr/sbin/useradd: 权限不够
[test200@web01 ~]$ sudo /usr/sbin/useradd test11
[sudo] password for test200:
[test200@web01 ~]$ /usr/sbin/userdel test11
-bash: /usr/sbin/userdel: 权限不够
[test200@web01 ~]$ sudo /usr/sbin/userdel test11
###########需要输入密码比较麻烦,可以定义不用输入执行sudo的用户的密码##########
USER    ALL=(root)      NOPASSWD:CMD
[root@web01 test2]# su - test200
[test200@web01 ~]$ sudo /usr/sbin/useradd test22
[test200@web01 ~]$ id test22
uid=1011(test22) gid=1011(test22) 组=1011(test22)

 

centos 简单用户管理

标签:login   shell   logo   ima   语法检查   令牌   开始   分享   变更   

原文地址:https://www.cnblogs.com/suffergtf/p/9104986.html

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