centos 简单用户管理
Posted suffergtf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 简单用户管理相关的知识,希望对你有一定的参考价值。
一、配置文件
- /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
[[email protected] ~]# 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
二、命令管理
- 添加用户
[[email protected] ~]# useradd -u 1000 test1 #指定uid [[email protected] ~]# id test1 uid=1000(test1) gid=1000(test1) 组=1000(test1) [[email protected] ~]# useradd -g root test2 #指定主组 [[email protected] ~]# id test2 uid=1001(test2) gid=0(root) 组=0(root) [[email protected] ~]# useradd -G root test3 #添加新用户到附加组 [[email protected] ~]# id test3 uid=1002(test3) gid=1002(test3) 组=1002(test3),0(root) [[email protected] ~]# useradd -s /sbin/nologin test4 #指定登陆shell [[email protected] ~]# tail -1 /etc/passwd test4:x:1004:1004::/home/test4:/sbin/nologin
-M 不为用户创建家目录
-d 为用户指定家目录
- 设置密码
[[email protected] ~]# passwd test1 更改用户 test1 的密码 。 新的 密码: 无效的密码: 它基于字典单词 重新输入新的 密码: passwd: 所有的身份验证令牌已经成功更新。 [[email protected] ~]# echo "password"|passwd test2 --stdin #非交互设置密码,可用于批量添加用户 更改用户 test2 的密码 。 passwd: 所有的身份验证令牌已经成功更新。
[[email protected] ~]# passwd -d test2 #清除密码
清除用户的密码 test2。
passwd: 操作成功
- 修改用户信息
[[email protected] ~]# id test2 uid=1001(test2) gid=0(root) 组=0(root) [[email protected] ~]# usermod -u 555 test2 [[email protected] ~]# id test2 uid=555(test2) gid=0(root) 组=0(root) [[email protected] ~]# usermod -g test3 test2 [[email protected] ~]# id test2 uid=555(test2) gid=1002(test3) 组=1002(test3) [[email protected] ~]# usermod -G root test2 [[email protected] ~]# id test2 uid=555(test2) gid=1002(test3) 组=1002(test3),0(root) [[email protected] ~]# grep test2 /etc/passwd test2:x:555:1002::/home/test2:/bin/bash [[email protected] ~]# usermod -s /sbin/nologin test2 [[email protected] ~]# grep test2 /etc/passwd test2:x:555:1002::/home/test2:/sbin/nologin ##########与useradd用法几乎相同############
- 删除用户
[[email protected] ~]# userdel test1 #默认不删除家目录 [[email protected] ~]# ll -d /home/test1/ drwx------ 3 1000 1000 4096 5月 29 11:04 /home/test1/ [[email protected] ~]# userdel -r test4 #删除家目录 [[email protected] ~]# ll -d /home/test4 ls: 无法访问/home/test4: 没有那个文件或目录
- 查看用户信息
[[email protected] ~]# id uid=0(root) gid=0(root) 组=0(root) [[email protected] ~]# id test1 id: test1:无此用户 [[email protected] ~]# id test2 uid=1001(test2) gid=0(root) 组=0(root)
- 组管理
[[email protected] ~]# groupadd test1 [[email protected] ~]# tail -2 /etc/group suffergtf:x:1003: test1:x:1004: [[email protected] ~]# groupdel test1 [[email protected] ~]# 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 [[email protected] test2]# su - test [[email protected] ~]$ /usr/sbin/useradd test100 -bash: /usr/sbin/useradd: 权限不够 [[email protected] ~]$ sudo /usr/sbin/useradd test100 [sudo] password for test: [[email protected] ~]$ 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
###########别名需要使用大写字母表示,并且定义的别名如果没有使用,会报错#############
[[email protected] test2]# su - test200
[[email protected] ~]$ /usr/sbin/useradd test11
-bash: /usr/sbin/useradd: 权限不够
[[email protected] ~]$ sudo /usr/sbin/useradd test11
[sudo] password for test200:
[[email protected] ~]$ /usr/sbin/userdel test11
-bash: /usr/sbin/userdel: 权限不够
[[email protected] ~]$ sudo /usr/sbin/userdel test11
###########需要输入密码比较麻烦,可以定义不用输入执行sudo的用户的密码##########
USER ALL=(root) NOPASSWD:CMD
[[email protected] test2]# su - test200
[[email protected] ~]$ sudo /usr/sbin/useradd test22
[[email protected] ~]$ id test22
uid=1011(test22) gid=1011(test22) 组=1011(test22)
以上是关于centos 简单用户管理的主要内容,如果未能解决你的问题,请参考以下文章
《java精品毕设》基于javaweb宠物领养平台管理系统(源码+毕设论文+sql):主要实现:个人中心,信息修改,填写领养信息,交流论坛,新闻,寄养信息,公告,宠物领养信息,我的寄养信息等(代码片段