linux下创建用户

linux下创建用户(一)

Linux 系统是一个多用户多任务的分时操作系统,不论什么一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面能够帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的訪问;还有一方面也能够帮助用户组织文件,并为用户提供安全性保护。每一个用户账号都拥有一个惟一的username和各自的口令。用户在登录时键入正确的username和口令后,就能够进入系统和自己的主文件夹。

实现用户账号的管理,要完成的工作主要有例如以下几个方面:
· 用户账号的增加、删除与改动。
· 用户口令的管理。
· 用户组的管理。

一、Linux系统用户账号的管理

用户账号的管理工作主要涉及到用户账号的增加、改动和删除。
增加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主文件夹和登录Shell等资源。刚增加的账号是被锁定的,无法使用。

1、增加新的用户账号使用useradd命令,其语法例如以下:

代码:
useradd 选项 username
当中各选项含义例如以下:

代码:
-c comment 指定一段凝视性描写叙述。
-d 文件夹 指定用户主文件夹,假设此文件夹不存在,则同一时候使用-m选项,能够创建主文件夹。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,假设同一时候有-o选项,则能够反复使用其它用户的标识号。

username 指定新账号的登录名。

例1:
代码:
# useradd –d /usr/sam -m sam
此命令创建了一个用户sam,
当中-d和-m选项用来为登录名sam产生一个主文件夹/usr/sam(/usr为默认的用户主文件夹所在的父文件夹)。

例2:
代码:
# useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组,同一时候又属于adm和root用户组,当中group用户组是其主组。

这里可能新建组:#groupadd group及groupadd adm 
增加用户账号就是在/etc/passwd文件里为新用户增加一条记录,同一时候更新其它系统文件如/etc/shadow, /etc/group等。
Linux提供了集成的系统管理工具userconf,它能够用来对用户账号进行统一管理。

2、删除帐号

假设一个用户的账号不再使用,能够从系统中删除。删除用户账号就是要将/etc/passwd等系统文件里的该用户记录删除,必要时还删除用户的主文件夹。删除一个已有的用户账号使用userdel命令,其格式例如以下:

代码:
userdel 选项 username

常常使用的选项是-r,它的作用是把用户的主文件夹一起删除。
比如:

代码:
# userdel sam

此命令删除用户sam在系统文件里(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同一时候删除用户的主文件夹。

3、改动帐号

改动用户账号就是依据实际情况更改用户的有关属性,如用户号、主文件夹、用户组、登录Shell等。
改动已实用户的信息使用usermod命令,其格式例如以下:

代码:
usermod 选项 username

常常使用的选项包含-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,能够为用户指定新的资源值。另外,有些系统能够使用例如以下选项:

代码:
-l 新username

这个选项指定一个新的账号,即将原来的username改为新的username。
比如:
代码:
# usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell改动为ksh,主文件夹改为/home/z,用户组改为developer。

4、用户口令的管理

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时沒有口令,可是被系统锁定,无法使用,必须为其指定口令后才能够使用,即使是指定空口令。
指定和改动用户口令的Shell命令是passwd。超级用户能够为自己和其它用户指定口令,普通用户仅仅能用它改动自己的口令。命令的格式为:
代码:

passwd 选项 username
可使用的选项:

代码:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时改动口令。
假设默认username,则改动当前用户的口令。

比如,假设当前用户是sam,则以下的命令改动该用户自己的口令:

代码:
$ passwd
Old password:******
New password:*******
Re-enter new password:*******

假设是超级用户,能够用下列形式指定不论什么用户的口令:

代码:
# passwd sam
New password:*******
Re-enter new password:*******

普通用户改动自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,假设两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不须要知道原口令。

为了系统安全起见,用户应该选择比較复杂的口令,比如最好使用8位长的口令,口令中包含有大写、小写字母和数字,而且应该与姓名、生日等不同样。

为用户指定空口令时,运行下列形式的命令:

代码:
# passwd -d sam

此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。

passwd命令还能够用-l(lock)选项锁定某一用户,使其不能登录,比如:

代码:
# passwd -l sam

linux下创建用户(二)

二、Linux系统用户组的管理

每一个用户都有一个用户组,系统能够对一个用户组中的所实用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同一时候创建。
用户组的管理涉及用户组的增加、删除和改动。组的增加、删除和改动实际上就是对/etc/group文件的更新。

1、增加一个新的用户组使用groupadd命令。其格式例如以下:

代码:
groupadd 选项 用户组

能够使用的选项有:
代码:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同一时候使用,表示新用户组的GID能够与系统已实用户组的GID同样。

例1:

代码:
# groupadd group1

此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。

例2:

代码:
#groupadd -g 101 group2

此命令向系统中增加了一个新组group2,同一时候指定新组的组标识号是101。

2、假设要删除一个已有的用户组,使用groupdel命令,其格式例如以下:

代码:
groupdel 用户组

比如:

代码:
#groupdel group1

此命令从系统中删除组group1。

3、改动用户组的属性使用groupmod命令。其语法例如以下:

代码:
groupmod 选项 用户组

常常使用的选项有:
代码:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同一时候使用,用户组的新GID能够与系统已实用户组的GID同样。
-n新用户组 将用户组的名字改为新名字

例1:

代码:
# groupmod -g 102 group2

此命令将组group2的组标识号改动为102。

例2:

代码:
# groupmod –g 10000 -n group3 group2

此命令将组group2的标识号改为10000,组名改动为group3。

4、假设一个用户同一时候属于多个用户组,那么用户能够在用户组之间切换,以便具有其它用户组的权限。用户能够在登录后,使用命令newgrp切换到其它用户组,这个命令的參数就是目的用户组。比如:

代码:
$ newgrp root

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。相似于用户账号的管理,用户组的管理也能够通过集成的系统管理工具来完成。

让Linux系统中的普通用户也有超级用户的权限

linux 创建账户的更多相关文章

  1. linux创建账户并自动生成主目录和主目录下的文件

    # useradd -d /home/test -m test; 然后给test设置密码. # passwd test; 1. useradd 添加用户或更新新创建用户的默认信息 语法:useradd ...

  2. Linux下通过shell脚本创建账户

    当我们在linux平台上开发一些项目时,或者有一些项目是需要部署到linux系统上时,有时候会涉及到linux上的特定的账户,例如有一些项目需要运行在某些特定的账户下,或者有时候需要在全新的环境上搭建 ...

  3. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

  4. linux创建用户和用户组

    Linux创建用户.用户组 及 删除 在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组.创建用户user1的时候指定其所属工作组users,例 ...

  5. Linux创建修改删除用户和组

    Linux 创建修改删除用户和组 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的相关信息. 用户信息 先 ...

  6. EBS动态创建账户组合实现

    目的:使用程序动态创建账户组合.如果账户组合存在的话,返回存在的ID,不存在的话就动态创建账户组合并返回id. 实现步骤: 1. 得到账簿的CHART_OF_ACCOUNTS_ID 2. 得到账户弹性 ...

  7. 根据ccid取得账户,更改某段值再创建账户,返回新的ccid

    CREATE OR REPLACE PACKAGE cux_cuxaprebate_utl IS * =============================================== * ...

  8. 一起来学习linux创建用户useradd命令

    linux创建用户useradd命令 原文地址:linux创建用户useradd命令 http://www.xfcodes.com/linuxcmd/user/24308.htm 一,adduser与 ...

  9. Linux 创建自定义命令

    Linux 创建自定义命令 Linux 可以创建自定义使用命令 这里我们采取使用“alias”命令.这里我们首先了解两个文件,通过这两个文件我们可以根据环境配置相应的自定义命令. 该文件内创建的自定义 ...

随机推荐

  1. uva507 - Jill Rides Again(最长连续和)

    option=com_onlinejudge&Itemid=8&page=show_problem&problem=448">题目:uva507 - Jill ...

  2. linux 命令笔记: iptables

    配置虚拟机网卡 NAT 联网: iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE iptables -A FROWARD - ...

  3. scrollTop clientTop offsetTop scrollHeight clientHeight clientWidth的差别及使用方法

    这几个属性做滚动时会经经常使用到.现总例如以下: 首先定义一个div.样式例如以下: <style> *{ margin:0px; padding:0px;} body{ margin:0 ...

  4. java清除所有微博短链接 Java问题通用解决代码

    java实现微博短链接清除,利用正则,目前只支持微博短链接格式为"http://域名/字母或数字8位以内"的链接格式,现在基本通用 如果链接有多个,返回结果中会有多出的空格,请注意 ...

  5. OSX: 命令行制作U盘Recovery HD

    使用命令行操作,非常easy,可是操作不当非常危急! 免责声明:假设操作不当造成的数据丢失,本人概不负责. 为什么? 不是有OSX恢复磁盘助理嘛?是的.假设仅仅想使用GUI的软件.能够去苹果官方站点: ...

  6. MongoDB 的聚集操作

    聚合引言 聚集操作就是出来数据记录并返回计算结果的操作.MongoDB提供了丰富的聚集操作.可以检測和执行数据集上的计算.执行在mongod上的数据聚集简化了代码和资源限制. 像查询一样,在Mongo ...

  7. rsync断点续传

    这经常是我们所说的镜像同步就是这么来的,如果断点续传呢?rsync完全可以做到这一点.man手册再次告诉我们: --partial      By default, rsync will delete ...

  8. centos中git使用

    先用root用户登录, yum install git 进行安装,然后退出用普通用户登录. ssh-keygen -t rsa -C "tuhooo@163.com" 登录GitH ...

  9. k8s集群容器监控

    硬件环境: 两台虚拟机, 10.10.20.203 部署docker.etcd.flannel.kube-apiserver.kube-controller-manager.kube-schedule ...

  10. ImportError: No module named '_sqlite3'

    问题: Python 3.5.1 报错如下 Traceback (most recent call last): File "manage.py", line 16, in < ...