一天一条Linux指令-useradd

来源:互联网 发布:linux usleep 头文件 编辑:程序博客网 时间:2024/06/05 22:34

用途说明

添加用户,需要root权限才能执行(有root权限)。

常用参数

-d home_dir 设定使用者的主目录为 home_dir

-p passwd  指定用户的登录密码。RHEL4支持此参数,RHEL5已经去掉这个参数了。

-g group 指定用户所在的群组。

使用示例

示例一

[root@localhost root]# adduser xxx 
[root@localhost root]# ls -l /home/xxx 
total 0
[root@localhost root]# ls -ld /home/xxx 
drwx------    2 xxx      xxx          4096  9月 29 16:05 /home/xxx
[root@localhost root]# grep xxx /etc/passwd /etc/shadow /etc/group 
/etc/passwd:xxx:x:500:500::/home/xxx:/bin/bash
/etc/shadow:xxx:!!:14881:0:99999:7:::
/etc/group:xxx:x:500:
[root@localhost root]#        

[root@localhost root]# ssh xxx@localhost 
xxx@localhost's password: 
Permission denied, please try again.
xxx@localhost's password: 
Permission denied, please try again.
xxx@localhost's password: 
Permission denied (publickey,password,keyboard-interactive).
[root@localhost root]# 
[root@localhost root]# 
[root@localhost root]# passwd xxx 
Changing password for user xxx.
New password: 
BAD PASSWORD: it is too simplistic/systematic
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost root]# 
[root@localhost root]# 
[root@localhost root]# ssh xxx@localhost 
xxx@localhost's password: 
[xxx@localhost xxx]$

示例二

[root@localhost root]# adduser -d /opt/oracle oracle 
[root@localhost root]# ls -ld /opt/oracle 
drwx------    2 oracle   oracle       1024  9月 29 16:10 /opt/oracle
[root@localhost root]# grep oracle /etc/passwd /etc/shadow /etc/group 
/etc/passwd:oracle:x:501:501::/opt/oracle:/bin/bash
/etc/shadow:oracle:!!:14881:0:99999:7:::
/etc/group:oracle:x:501:
[root@localhost root]#

问题思考

1. 怎样添加一个系统管理员账号,与root权限相同?

2. 怎样禁止账号登录?

3. 怎样对账号设置期限?

4. 怎么知道系统中有哪些可用账号?


参考答案:

一、
1、添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy //修改密码Changing password for user tommy.New UNIX password: //在这里输入新密码Retype new UNIX password: //再次输入新密码passwd: all authentication tokens updated successfully.2、赋予root权限方法一:修改/etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉## Allows people in group wheel to run all commands%wheel ALL=(ALL) ALL然后修改用户,使其属于root组(wheel),命令如下:#usermod -g root tommy修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。方法二:修改/etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:## Allow root to run any commands anywhereroot ALL=(ALL) ALLtommy ALL=(ALL) ALL修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。方法三:修改/etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:tommy:x:500:500:tommy:/home/tommy:/bin/bash修改后如下tommy:x:0:500:tommy:/home/tommy:/bin/bash保存,用tommy账户登录后,直接获取的就是root帐号的权限。友情提醒:虽然方法三看上去简单方便,但一般不推荐使用,推荐使用方法二。
二、

在Linux上,有多种方式让不安份的用户无法登录。

1.修改用户配置文件/etc/shadow,将第二栏设置为“*”,如下。那么该用户就无法登录。但是使用这种方式会导致该用户的密码丢失,也就是当你再次允许他登录的时候,你还得让他重新设置密码。[再次启用这个帐号的方法是把“*”去掉就可以了]

dduyoung:*:14245:0:99999:7:::

2.使用命令usermod这个方式简单又实用,而且没有1中的副作用。

usermod -L dduyoung ##Lock 帐号dduyoungusermod -U dduyoung ##Unlock 帐号dduyoung

3.通过修改shell类型这种方式会更加人性化一点,因为你不仅可以禁止用户登录,还可以告诉他你这么做的原因。如下:

复制代码
chsh dduyoung -s /sbin/nologin #将用户dduyoung的shell进行更改

 

#################修改/etc/nologin.txt(没有就新建一个),##在里面添加给被禁止用户的提示###############

#解禁用户的方式就是把shell改为他原有的就可以了。

复制代码

4.禁止所有的用户登录当你(如果你是系统管理员)不想让所有用户登录时(比如你要维护系统升级什么的),如果按上面的方式,一个一个地去禁止用户登录,这将是很……无聊的事。而且还容易出错。下面有一种简洁有效的方式:

复制代码
##在/etc目录下建立一个nologin文档touch /etc/nologin ##如果该文件存在,那么Linux上的所有用户(除了root以外)都无法登录##在/etc/nologin(注意:这可不是3中的nologin.txt啊!)写点什么,告诉用户为何无法登录#################cat /etc/nologin9:00-10:00 系统升级,所有用户都禁止登录!

 

##解禁帐号也简单,直接将/etc/nologin删除就行了!

复制代码

三、

我刚刚做过实现,可以实现。你先新建一个用户test,然后设置密码。再使用命令usermod -e 2010-09-28 test把test设置过期时间为昨天,然后再使用test登录试试。usermod -e 是设置 /etc/shadow第八栏里面的参数,里面是的时间是从1970年1月1日开始算起的,是日为单位,所以,我如果设置为2010-09-28,第八栏的数字为14882.同时也要注意,你linux主机的时间要跟现实时间一样。 如果要清除这个时间限制就使用usermod -e " "  test
四、

用过Linux系统的人都知道,Linux系统查看用户不是会Windows那样,鼠标右键看我的电脑属性,然后看计算机用户和组即可。 那么Linux操作系统里查看所有用户该怎么办呢?用命令。其实用命令就能很轻松的查看到Linux系统有哪些用户。

  1、Linux里查看所有用户

  (1)在终端里.其实只需要查看 /etc/passwd文件就行了.

  (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户.

  或者用cat /etc/passwd |cut -f 1 -d :

  2、用户管理命令

  useradd 注:添加用户

  adduser 注:添加用户

  passwd 注:为用户设置密码

  usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;

  pwcov 注:同步用户从/etc/passwd 到/etc/shadow

  pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;

  pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;

  finger 注:查看用户信息工具

  id 注:查看用户的UID、GID及所归属的用户组

  chfn 注:更改用户信息工具

  su 注:用户切换工具

  sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;

  visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;

  sudoedit 注:和sudo 功能差不多;

  3、管理用户组(group)的工具或命令;

  groupadd 注:添加用户组;

  groupdel 注:删除用户组;

  groupmod 注:修改用户组信息

  groups 注:显示用户所属的用户组

  grpck

  grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;

  grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件

0 0
原创粉丝点击