开发者社区> 余二五> 正文

linux用户管理的命令及手动添加用户

简介:
+关注继续查看
    什么是用户呢?用户就是一组权限的集合。通过赋予不同用户不同的权限,使用户能执行不同的任务,实现用户管理。
 
    Linux中我们不仅要学会用命令实现用户管理,而且要知道这些命令怎么实现这个功能,修改了什么文件。下面我介绍一下常用的几个文件:
1,/etc/passwd
    存放用户相关信息,每一行为一个用户,每行有7组信息,每组信息由“:”隔开。例:
 
    username:x:UID:GID:comment:homedirectory:shell
 
    username:用户名
 
    x:用户的密码,这个文件中用“x”表示,密码存放在/etc/shadow中
 
    UID:用户标识符。用户分为系统管理员,系统用户,基本用户。系统管理员
 
    为“0”,系统用户的范围为“1-499”,普通用户为“500-65535”
 
    GID:组标识符。
 
    comment:用户的描述信息(可以为空)。
 
    homedirectory:用户家目录
 
    shell:用户的shell
2,/etc/shadown
    存放用户经过加密的密码及其相关信息。每行为一个用户,每行有9组信息,每
 
组信息用“:”隔开,例
 
    username:encrypted password:D1:D2:D3:D4:D5:D6:D7
 
    username:用户名
 
    encrypted password:经过加密的密码。默认情况下Linxu用MD5进行加密。加
 
密后的密码格式为$1$12345678$1234567890123456789012,其中$1表示用MD5进行加
 
密;$12345678:用户设定密码时,系统会自动给密码加一些杂质,以保证即使用户
 
有相同的密码,文件中存放的密码也不相同,保证用户密码的安全性;
 
$1234567890123456789012:经过加密的密码。
   
    D1:从1970年1月1日到现在密码最近的一次改变时间
   
    D2:密码的最短使用时间
   
    D3:密码的最长使用时间
   
    D4:密码过期前多少天对用户发送警告
   
    D5:在用户密码过期后多长时间账户被禁止
   
    D6:从1970年1月1日开始多长时间内用户的账号被禁止 
   
    D7:保留域
3,/etc/group
   
    存放组相关的信息。每行为一个组,每行有4组信息,每组信息用“:”隔开。
 
    groupname:x:GID:username
   
    groupname:组名
   
    x:组的密码,此文件中用“x”表示,密码存放在/etc/gshadow中
   
    GID:组标识符
   
    username:把此组作为附加组的用户名
 
4,/etc/gshadow
 
    存放组密码等相关信息。每行为一个组,每行有4组信息,每组信息用哪
 
个“:”隔开。例:
   
    groupname:encrypted password:admins:users
   
    groupname:组名
 
    encrypted password:经过加密的密码
   
    admins:用逗号隔开的组管理员
   
    users:用逗号隔开的组成员
 

一,用户管理命令

 
    1,useradd:   添加用户命令
 
    useradd [options] username
 
    常用选项:
   
    -r 添加系统用户
 
    -u 设置UID
 
    -g 设置GID(指定的基本组必须事先存在,要不会报错)
 
    -c 设置用户的全名
 
    -d 设置家目录(这个目录不能存在,如果存在会报错)
 
    -s 设置SHELL
 
    -G grp1,grp2...  指定用户的附加组
 
    -M 不创建家目录
 
    -m 必须创建家目录
 
    -D 查看或设定用户创建时形成的默认信息
 
2,usermod    改变用户相关信息
 
    usermod [options] username

    常用选项:
 
    -u UID

    -g 基本组或GID
 
    -G 指定附加组,可以有多个
 
    -d 指定家目录
 
    -s 指定shell
 
    -l 更改用户名
 
    -L 锁定用户账号
 
    -U 解锁用户账号
 
    -o 可以使用户名和存在的用户名重名,和-u一起用
 
3,passwd    用于对用户加密码
 
    passwd username
 
    常用选项:
 
    -l  对用户上锁 
 
    -u  对用户解锁
 
    -strin   可以通过管道把字符串传给用户做密码
 
4,userdel     删除用户(默认不删除家目录)
 
    userdel [options] username
 
    -r 删除时一并删除家目录
 
5,groupadd    添加组
 
    groupadd [options] groupname
 
    常用选项:
 
    -g 指定GID
 
    -r 把此组添加为系统组,系统用户无家目录(useradd -r把此组添加为系统用
 
户)
 
6,groupmod    改变组的相关信息
 
    groupmod [options] groupname
 
    -g   改GID
 
    -n   改组名
 
7,gpasswd   给组设定密码
 
    gpasswd groupname
 
8,groupdel    删除组
 
    groupdel groupname
 
9,chown   改变文件的属主,属组
 
    chown  属主:属组  文件
 
    -R 改变影响到目录中所有文件
 
    --reference 参照文件的权限进行修改
 
   格式有:
 
   chown fedora:linux lee
 
   chown fedora.linux lee
 
   chown :linux lee
 
   chown --reference=functions lee 把lee以functions为模板改变其属主,属组 
 
10,chmod  改变文件的权限
 
   chmod [options] filename
 
   chmod:改变文件的权限(如果对象是目录,默认只改变目录本身)
 
   -R 可以递归修改,如果对象是目录,目录中的文件都修改
 
   --reference 参照文件的权限进行修改
 
   格式有:
 
   chmod u+r,g+w,o+x lee  给用户加读权限,给组加写权限,给其他用户加执行
 
   权限(u:代表用户;g:代表组;o:代表其他用户;a:代表全部)
 
   chmod a=            lee  设置属组,属组,其他用户的权限为空
 
   chmod u=rw,g=x     lee  设置属主的权限为读写,属组为执行
 
11,id  查看显示目前登陆账户的uid和gid及所属分组及用户名
id [-gGnru][--help][--version] [用户名称]
-g或--group  显示用户所属群组的ID。 
-G或--groups  显示用户所属附加群组的ID。 
-n或--name   显示用户,所属群组或附加群组的名称。 
-r或--real   显示实际ID。 
-u或--user   显示用户ID。 
-help         显示帮助。 
-version     显示版本信息
 
12,chfn  改变用户的一些详细注释信息,全名等。
 
13,chsh   改变用户的shell
chsh [options] username
-s  改变用户的shell 
-l  显示系统可用的shell  
 

二,手动添加用户

例:建立一个用户slackware,属组为slackware,UID=5000,GID=5000
1,vim /etc/group
增加一行:slackware:x:5000:
2,vim /etc/passwd
增加一行:slackware:x:5000:5000:test user:/home/slackware:/bin/bash
3,openssl passwd -1 -salt 12345678     这个用于生成用MD5加密的密码(然后会
提示让输入密码)
4,vim /etc/shadow
增加一行:slackware:粘贴上步生成的密码:::::::
5,cp -r /etc/skel /home/slackware
chown -R slackware:slackware slackware
chmod -R go= slackware
 









本文转自 leejia1989 51CTO博客,原文链接:http://blog.51cto.com/leejia/774443,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux基础命令---添加用户useradd
useradd       创建新的系统用户,useradd指令只能以管理员的身份运行,创建的用户都在“/etc/passwd”文件中。当不加-D参数,useradd指令使用命令列来指定新帐号的设定值and使用系统上的预设值.新使用者帐号将产生一些系统档案,使用者目录建立,拷备起始档案等,这些均可以利用命令列选项指定。
1326 0
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 28 章 监控数据库活动_28.1. 标准 Unix 工具
28.1. 标准 Unix 工具 在大部分 Unix 平台上,PostgreSQL会修改由ps报告的命令标题,这样个体服务器进程可以被标识。一个显示样例是 $ ps auxww | grep ^postgres postgres 15551 0.
1172 0
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 28 章 监控数据库活动
第 28 章 监控数据库活动 目录 28.1. 标准 Unix 工具 28.2. 统计收集器 28.2.1. 统计收集配置 28.2.2. 查看统计信息 28.2.3. 统计函数 28.3. 查看锁 28.4. 进度报告 28.4.1. VACUUM进度报告 28.5. 动态追踪 28.5.1. 动态追踪的编译 28.5.2. 内建探针 28.5.3. 使用探针 28.5.4. 定义新探针 一个数据库管理员常常会疑惑,“系统现在正在做什么?”这一章会讨论如何搞清楚这个问题。
993 0
《自己动手写Docker》书摘之三: Linux UnionFS
UnionFS unionfs是一种为Linux,FreeBSD和NetBSD操作系统设计的把其他文件系统联合到一个联合挂载点的文件系统服务。它使用branch把不同文件系统的文件和目录“透明地”覆盖,形成一个单一一致的文件系统。
8883 0
+关注
20381
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载