linux基础:12、基础命令(5) - 用户管理

配置文件)

/etc/passwd

文档结构:

由":"分隔成7个字段"username:x:uid:gid:remark:homedir:shell"

默认权限:-rw-r--r--

各字段含义:

(1) username,用户名称

命名规则:大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法。

(2) x,密码空位键

密码安全起见放到 /etc/shadow。

(3) uid,用户ID

可用ID,0-4294967294=2^32-2;

root的uid=0;1-499系统保留;普通账户是从500开始。

普通用户的uid可以改成0,此时系统就将其识别成root用户。

(4) gid,主组id

组配置文件/etc/group。

(5) remark,注释说明

该字段没有实际意义,通常记录用户的一些属性,例如姓名、电话、地址等等  用 chfn 更改;

(6) home directory,用户家目录

(7) shell environment,shell环境

/bin/bash; /sbin/nologin(禁止该用户登录)。

======================================================================
[[email protected] ~]# head /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
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
======================================================================

/etc/shadow 

文档结构:

使用":"分隔成9个字段

username

password(密文)

此密码设置日期

密码不可更改的天数

密码需要重置的天数

密码到期提前提醒天数

帐号失效后宽限天数

帐号失效日期

保留位

默认权限:----------(除了root用户,其他所有普通用户包括root组成员都没有任何权限呦)

(1) 用户名 

是与/etc/passwd文件中的登录名相一致的用户账号。

(2) 密码 

已加密显示密文,不可逆,但可被破解;

!!表示密码为空

(3)当前密码的设置日期 

此日期用设置当前密码的日期和1970年1月1日的差值来表示

==================================================================
[[email protected] ~]$ echo $(($(date --date="2015/03/16" +%s)/86400+1))
16510
==================================================================

(4)密码不可被更改的天数(与第三段日期比较)

值为0时,意为不限制,随时可更改。

如果设置为20,则20天内用户不可更改密码。

(5)密码需要重置的天数(与第三段日期比较)

默认值是99999,远远超出电脑寿命,基本可以认为永不过期。

(6)密码到期前提前提醒天数(与第五段日期比较)

设置为7既为密码到期日提前7天提醒用户修改密码,“您的密码还有n天就要过期,请及时修改密码”。

(7)帐号失效后宽限天数 

到期后过多少天锁定帐号

(8)帐号失效日期 

计算方式同第三段;

应该可以用到收费服务上。

(9)保留位 

=====================================================================
[[email protected] ~]# head /etc/shadow
root:$6$oEAOlU/b$PPPeEPWk359I0AP3Fz0IAVyCtHs1m0xLBPJefLszn0xAKk3WfDEv7HJakf33skp8Pz/A1dVRmG/vkIQyjQOtH/:16505:0:99999:7:::
bin:*:16231:0:99999:7:::
daemon:*:16231:0:99999:7:::
adm:*:16231:0:99999:7:::
lp:*:16231:0:99999:7:::
sync:*:16231:0:99999:7:::
shutdown:*:16231:0:99999:7:::
halt:*:16231:0:99999:7:::
mail:*:16231:0:99999:7:::
operator:*:16231:0:99999:7:::
=====================================================================

用户及用户组相关命令)

id 

作用:查看用户的uid、gid和所属组信息

man: print real and effective user and group IDs

语法:id username

========================================================
[[email protected] ~]# id essence
uid=1000(essence) gid=1000(essence) groups=1000(essence)
========================================================

groupadd 

作用:增加用户组

man:groupadd - create a new group

配置文件:/etc/group & /etc/gshadow

语法:groupadd [选项] groupname

选项:

-g 指定gid

=========================================================
[[email protected] ~]# groupadd -g 1999 admin
[[email protected] ~]# cat /etc/group |grep 1999
admin:x:1999:
=========================================================

groupdel 

作用:删除用户组

语法:groupdel groupname

PS:单纯作为附属组的时候是可以直接删除的,但如果作为用户的主组,就不能随意删除了,需要提前把用户清空

=================================================================
[[email protected] ~]# usermod -aG admin essence  
#!把admin设置为essence的附属组

[[email protected] ~]# id essence
uid=1000(essence) gid=1000(essence) groups=1000(essence),1999(admin)
[[email protected] ~]# groupdel admin
[[email protected] ~]# id essence
uid=1000(essence) gid=1000(essence) groups=1000(essence)
#!附属组可被直接删除

[[email protected] ~]# groupdel essence
groupdel: cannot remove the primary group of user ‘essence‘
#!主组必须要先把user删掉才可以删除
=================================================================

useradd 

作用:增加用户

语法:useradd [选项] username

选项:

-u 指定uid (The default value for UID_MIN (resp.  UID_MAX) is 1000 (resp. 60000).)

-g 指定gid或组名(但指定的组名必须存在)

-d 指定家目录

-M 不建立家目录,但依然会创建用户的mail目录

-s 自定义shell环境,可控制普通用户不能登录,通过设置“/sbin/nologin”

PS:多个用户可以共享一个主组

PS:uid和gid分配的时候,以该id的最大数字+1

PS:uid最小是1000(centos7),和centos6的最小值不同(uid_min=500)

=================================================================
[[email protected] ~]# useradd test1 -g 1000 -M -s /sbin/nologin
#!创建test1用户,和essence共享一个组,无家目录,不允许登陆系统

[[email protected] ~]# cat /etc/passwd|grep test1
test1:x:1001:1000::/home/test1:/sbin/nologin
#!第六段依然有家目录路径,为何?
[[email protected] ~]# ls /home/test1
ls: cannot access /home/test1: No such file or directory
#!原来此目录并不存在,看来/etc/passwd不足以作为判断家目录是否存在的标准。

[[email protected] ~]# id test1
uid=1001(test1) gid=1000(essence) groups=1000(essence)
#!和essence共享了一个组
=================================================================

userdel 

作用:删除用户,无参数时默认不删除家目录

语法:userdel [选项] username

选项:-r 删除用户的家目录和邮件目录(/var/spool/mail/username)

=================================================================
[[email protected] ~]# ls /var/spool/mail/test1
test1
[[email protected] ~]# userdel -r test1
userdel: test1 home directory (/home/test1) not found
#!之所以会报错,是因为我们根本没创建test1的家目录。

[[email protected] ~]# ls /var/spool/mail/test1
ls: cannot access /var/spool/mail/test1: No such file or directory
=================================================================

usermod 

作用:修改用户uid、gid、家目录、附属组等信息

语法:usermod [选项 选项内容] username

选项 :

-a append追加模式,仅可与-G一起使用,用来避免-G指定附属组时造成用户脱离其他附属组。

-u 修改用户uid

-s 修改用户shell环境

-d 修改目录家目录

-L 锁定用户密码,使之不能用密码登录

-U 解锁用户密码

-g 指定用户主组gid

-G 指定用户附属组(1个用户可以有多个附属组)

PS:usermod -G "" user 把附属组清空

==================================================================
[[email protected] ~]# usermod -G root essence
[[email protected] ~]# id essence
uid=1000(essence) gid=1000(essence) groups=1000(essence),0(root)
#!现在essence加入了自己的主组essence和root

[[email protected] ~]# usermod -G test1 essence
[[email protected] ~]# id essence
uid=1000(essence) gid=1000(essence) groups=1000(essence),1001(test1)
#!如果没有-a参数,附属组root被抹掉,换成了test1
==================================================================

passwd   

作用:修改用户密码

语法:passwd 用户名

创建密码的规则:

长度大于10;含大小写字母数字以及特殊字符 ;不规则性;不要带有自己名字、公司名字、自己电话、自己生日等。

扩展内容:mkpasswd  生成密码的工具,安装 expect包

==================================================================
[[email protected] ~]# yum install expect
[[email protected] ~]# mkpasswd
siSXzp~96
==================================================================

su 

作用:切换effective用户

man:run a command with substitute user and group ID

语法:su 用户名(改变$HOME,不改变$PATH)

语法: su - 用户名 (改变$HOME和$PATH)

扩展资料:http://www.aminglinux.com/bbs/thread-6912-1-1.html

sudo 

作用:临时获得root权限(su到root需要输入root的密码不安全,所以sudo是一个好选择)

修改配置文件命令:visudo

安装方法: yum install -y sudo

语法:sudo 正常命令输入

配置文件:/etc/sudoers

*****************************************************

......

root    ALL=(ALL)       ALL

essence ALL=(root)      /bin/ls

......

**********************************************************

意义是,让essence这个普通用户,拥有root的权限,针对ls这个命令。(要加绝对路径哦)

安全扩展

/etc/ssh/sshd_config

禁止root远程登录,用普通用户登录后,在用”sudo su -“登录root

时间: 2024-10-11 10:01:36

linux基础:12、基础命令(5) - 用户管理的相关文章

Linux常用的文件管理命令及用户管理命令

1.常用的文件管理命令-使用方法及示例 常用的文件管理类命令:mkdir.rmdir.touch.cat.tac. head. tail.more.less.cp.mv.rm等 注:跟在常用参数中的#代表数字 mkdir:创建目录命令格式:mkdir [OPTION]... DIRECTORY... 常用参数:-p 表示要创建的目录存在时不返回错误,不存在时自动创建所需的目录-v 显示创建过程信息-m MODE 创建目录是直接指定权限 命令举例: [[email protected] work]

Linux学习笔记之文件管理,用户管理

学而不用,总是忘记,今天又整理一下,记在这里,方便以后自己查看 常用操作命令 目录常用操作命令: pwd, cd, ls, mkdir, rmdir, tree. 文件常用操作命令: find,locate, whereis, which, touch, file, cp, rm,mv,ln,cat,tac,head,tail,more,less,grep,wc. 用户及用户组管理 Linux系统中用户分为3类:root用户,普通用户和虚拟用户.其中虚拟用户是不具备登录系统的能力,但却是系统运行

基础命令及用户管理

linux系统登录流程介绍 用户名.密码登录 --> 权限的管理 --> 审计(日志)     查看登录日志:/var/log/secure Linux基础命令 分为:内建命令和外部命令    (1)内建命令是shell的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行shell时就被加载并驻留在系统内存中,其执行速度比外部命令要快,因为解析内部命令shell不需要创建子进程.    比如:exit.

Linux学习笔记 (五)用户管理命令

一.用户帐号 1.超级用户:具有操作系统中的最高权限,用来管理和维护操作系统.root用户. 2.普通用户:由root用户来创建,在宿主目录中具有完全权限. 3.程序用户:由应用程序添加,维护某个应用程序运行. 二.组帐号 在Linux系统中,将多个用户结合在一起,形成一个组,称为用户组.每个用户帐号至少要属于一个组,这个组称为用户的基本组或者私有组.如果该用户同时还包含在其他的组中,可以将这个组称为附加组或者公共组.对组帐号设置权限,将适用于组内的每一个帐号. 三.常用用户管理命令: 1.us

Linux 命令整理 —— 用户管理

Linux用户管理以读.写.执行动作为权限,以用户组为单位,限制用户行为.对于文件的的操作,可以限制读.写.执行中的哪一种,也可以限制文件所有者.组用户.组外用户相应的权限. 所以,要建立用户,最好先确定其所在的组. 一.用户组操作 1. 创建用户组——groupadd #新增deploy组 groupadd deploy 2. 修改用户组——groupmod #将用户组deploy更名为deploy1 groupmod -n deploy1 deploy 注意是将已存在的deploy组更名为d

Linux入门到放弃之五《用户管理》

用户管理 1.创建新用户user123,以此用户登陆系统,在tmp下创建文件test123: 2.修改test123文件的所有者为root,所属组也为root: 需要先切换为root用户 3.修改test23文件的权限为所有者为可读可写,所属组和其他人为只读: 使用chmod授权时,[ 4表示可读(r),2表示可写(w),1表示可执行(x) ] 所有者可读可写:6 所属组只读:4 其他人只读:4 4.添加组 lam,并指定它的组编号为566,并查看: 添加组命令:groupadd -g 566

OA项目12:系统管理之用户管理

首注:本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频我的文字版实践笔记,本人用此来加强巩固自己开发知识,如有网友转载,请注明.谢谢. 一 之前在第8节时已经将User实体及映射文件建立好了,所以设计实体已经完成了,下面来做功能了. 二 我们对照静态页面看用户管理页面分析发现,增删改查功能跟之前一样,多了一个初始化密码的请求.当然,这不是问题,下面开始做功能吧! 三 开发: 1.写action及struts2映射,具体如下: 1)UserAction.java: 1 package cn.

Oracle数据库——常用命令(用户管理、数据库导入导出)

--==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba --修改用户密码 将system用户的密码修改成system sql>alter user system identified by "system" --连接 sql>conn 请输入用户名:system 输入口令: --查询所有用户 sql>select * from

JAVAEE——BOS物流项目12:角色、用户管理,使用ehcache缓存,系统菜单根据登录人展示

1 学习计划 1.角色管理 n 添加角色功能 n 角色分页查询 2.用户管理 n 添加用户功能 n 用户分页查询 3.修改Realm中授权方法(查询数据库) 4.使用ehcache缓存权限数据 n 添加ehcache依赖 n 配置缓存管理器 5.系统菜单根据登录人展示 n 调整页面ajax请求地址 n 服务端查询菜单数据 2 角色管理 2.1 添加角色功能 2.1.1 页面调整 首先先完善pages/admin/function_add.jsp添加权限的页面,把下拉框改为combotree 他的

Linux的一些简单命令(四)-用户和组账户管理

linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源.系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰 1.保存用户信息的文件:/etc/passwd 2.保存用户密码的文件:/etc/shadow 3.保存用户组的文件:/etc/group 4.保存用户组密码的文件:/etc/gshadow 5.用户配置文件:/etc/default/useradd 6.linux的用户分类: 超级用户(root,UID=0)  普通用户(UID在