Chinaunix首页 | 论坛 | 博客
  • 博客访问: 160365
  • 博文数量: 126
  • 博客积分: 1073
  • 博客等级: 上尉
  • 技术积分: 1175
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 00:32
文章分类

全部博文(126)

文章存档

2018年(56)

2013年(1)

2012年(8)

2011年(61)

分类: LINUX

2011-01-24 20:27:24

关于在linux下面进行用户的管理讨论,

 

首先如何在linux系统中添加一个新的用户

#useradd  user1(username)

[root@localhost ~]#

[root@localhost ~]# useradd user1

[root@localhost ~]# id user1

uid=500(user1) gid=500(user1) groups=500(user1)

[root@localhost ~]#

User1这个用户就创建成功了,用useradd命令会自动的在/etc/passwd/etc/shadow/etc/group/etc/gshadow。这四个文件中添加条目。创建用户的主目录。设定用户的权限和拥有者。

 

使用passwd命令来设置用户的密码

#passwd  user1(username)

[root@localhost ~]#

[root@localhost ~]# passwd user1

Changing password for user user1.

New UNIX password:

BAD PASSWORD: it is based on a dictionary word

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@localhost ~]#

密码设置成功。

 

linux系统中如何删除一个用户。

可以手动的在/etc/passwd/etc/shadow/etc/group/etc/gshadow。这个四个文件中去手动删除用户信息。

也可以使用userdel命令来删除一个用户。

#userdel  -r  user1(username)

-r   删除用户的home目录

[root@localhost ~]#

[root@localhost ~]# userdel -r user1

[root@localhost ~]#

[root@localhost ~]# id user1

id: user1: No such user

[root@localhost ~]#

这样,user1这个用户就被删除了。

 

 

关于用户的私有组和附加组的概念

linux系统中,我们组分为两种,一种是私有组,一种是附加组。我们知道当利用useradd这条命令去创建一个用户的时候,系统将默认的去创建一个与之同名的组。这个组就叫做用户的私有组。

[root@localhost ~]#

[root@localhost ~]# su - user1

[user1@localhost ~]$

[user1@localhost ~]$ touch abc.txt

[user1@localhost ~]$ ll

total 0

-rw-rw-r-- 1 user1 user1 0 Mar  2 14:58 abc.txt

[user1@localhost ~]$

当我们使用user1的身份去创建一个文件,这个文件的拥有组就是用户的私有组。

当然,这个用户的私有组也是可以通过命令去改变的。

用户附加组是指当一个用户有附加组,那么该用户就可以共享用户的资源,额外的得到组里面的权限。

一个用户不可以属于多个私有组,

但是一个用户可以属于多个附加组。

 

如何去修改用户的信息

我们可以直接修改/etc/passwd这个文件。

也可以在使用useradd命令创建用户的时候去指定用户信息。

还可以使用usermod命令来调整用户的信息。

1.      修改用户的描述

#usermod  -c  “test account”  user1

[root@localhost ~]#

[root@localhost ~]# usermod -c "test account" user1

[root@localhost ~]#

[root@localhost ~]# cat /etc/passwd | grep user1

user1:x:500:500:test account:/home/user1:/bin/bash

[root@localhost ~]#

可以看到,这个用户就多了一个描述。

2.      修改用户的home目录

修改用户的home目录,有两种方法。可以在创建用户的时候指定,也可以使用usermod命令来调整。

现在先来看下在创建用户的时候指定home目录。

#useradd –d  /home/guests/user2  user2

[root@localhost ~]#

[root@localhost ~]# cd /home/

[root@localhost home]# mkdir guests

[root@localhost home]# ls

guests  user1

[root@localhost home]# useradd -d /home/guests/user2 user2

[root@localhost home]# su - user2

[user2@localhost ~]$ pwd

/home/guests/user2

[user2@localhost ~]$

OK,在创建用户时候指定用户的home目录是没有问题的。

现在在来看看使用usermod命令来调整用户的信息。

#usermod  -d  /home/guests/user1  user1

[root@localhost home]#

[root@localhost home]# ls

guests  user1

[root@localhost home]# usermod -d /home/guests/user1/ user1

[root@localhost home]#

[root@localhost home]# su - user1

su: warning: cannot change directory to /home/guests/user1/: No such file or directory

-bash-3.2$ pwd

/home

-bash-3.2$

使用user1登录的时候,用户的/home目录和环境变量都不正确。

我们知道,在guests这目录下面其实是没有user1 user2这两个目录的。但是在创建用户的时候指定home目录,系统是可以自动生成这个用户的/home目录的。但是用户usermod命令是不会自动生成的,我们必须在/home目录下面创建一个user2的目录。然后改变权限,在去复制环境变量过来。这样user2登录的时候才会正常登录。

[root@localhost ~]# cd /home/guests/

[root@localhost guests]# ll

total 4

drwx------ 3 user2 user2 4096 Mar  2 15:25 user2

[root@localhost guests]# mkdir user1

[root@localhost guests]# ll

total 8

drwxr-xr-x 2 root  root  4096 Mar  2 15:28 user1

drwx------ 3 user2 user2 4096 Mar  2 15:25 user2

[root@localhost guests]# chown user1:user1 user1

[root@localhost guests]# chmod 700 user1/

[root@localhost guests]# ll

total 8

drwx------ 2 user1 user1 4096 Mar  2 15:28 user1

drwx------ 3 user2 user2 4096 Mar  2 15:25 user2

[root@localhost guests]# su - user1

-bash-3.2$ cp /etc/skel/.* .

cp: omitting directory `/etc/skel/.'

cp: omitting directory `/etc/skel/..'

cp: omitting directory `/etc/skel/.mozilla'

-bash-3.2$ exit

[root@localhost guests]# su - user1

[user1@localhost ~]$

现在user1home目录和环境变量就正常了。

建议在创建用户的时候就指定/home目录,否则以后去改变用户的home目录会比较麻烦。

3.      修改用户的私有组

#chmod  -g  user1   user2

[root@localhost ~]# usermod -g user1 user2

[root@localhost ~]#

[root@localhost ~]# id user2

uid=501(user2) gid=500(user1) groups=500(user1)

[root@localhost ~]#

user2的私有组变成user1

4.      修改用户的附加组

#chmod  -G  user2  user3

[root@localhost ~]#

[root@localhost ~]# usermod -G user2 user3

[root@localhost ~]#

[root@localhost ~]# id user3

uid=502(user3) gid=502(user3) groups=502(user3),501(user2)

[root@localhost ~]#

可以看到,user3的附加组就变成了user2

注意usermod –G 是修改用户的附加组,而不是添加用户的附加组。添加修改可以使用下面这条命令。

# usermod  -a  -G  user4  user3

[root@localhost ~]#

[root@localhost ~]# usermod -a -G user4 user3

[root@localhost ~]#

[root@localhost ~]# id user3

uid=502(user3) gid=502(user3) groups=502(user3),501(user2),503(user4)

[root@localhost ~]#

可以看到,user3现在就有两个附加组了。

5.      修改用户的登录名

#usermod  -l  students  user1

[root@localhost ~]#

[root@localhost ~]# usermod -l students user1

[root@localhost ~]#

[root@localhost ~]# su - students

[students@localhost ~]$

可以看到,user1的登录名就变成了students

6.      修改用户的shell

#usermod  -s  /sbin/nologin  user1

[root@localhost ~]#

[root@localhost ~]# usermod -s /sbin/nologin user2

[root@localhost ~]# su - user2

This account is currently not available.

[root@localhost ~]#

User2的登录shell变成/sbin/nologin以后,用户就不可以登陆计算机,只可以登陆服务了。

7.      锁定用户

#usermod  -L  user3

[root@localhost ~]#

[root@localhost ~]# usermod -L user3

[root@localhost ~]# cat /etc/shadow | grep user3

user3:!$1$coBU9WM5$r0Qmp12kA15KLD5Dte9De0:14670:0:99999:7:::

[root@localhost ~]# su - user4

[user4@localhost ~]$ su - user3

Password:

su: incorrect password

[user4@localhost ~]$

可以看到,当我们锁定用户的时候,系统会自动的在/etc/shadow文件里面的密码位前面添加一个感叹号,就代表这个用户被锁定了。当然我们也可以手动添加。我们的user3的确是不能登录的。

8.      解锁用户

#usermod  -U  user3

[root@localhost ~]#

[root@localhost ~]# usermod -U user3

[root@localhost ~]#

[root@localhost ~]# cat /etc/shadow | grep user3

user3:$1$coBU9WM5$r0Qmp12kA15KLD5Dte9De0:14670:0:99999:7:::

[root@localhost ~]# su - user4

[user4@localhost ~]$ su - user3

Password:

[user3@localhost ~]$

解锁后,user3登录成功了。

 

关于用户密码的时效策略

默认情况下,用户的密码永不过期。

密码的默认设置在/etc/login.defs这个文件中都有定义。也可以修改这个文件。

这个文件是全局的配置文件,对每个用户都生效。

如何修改密码的时效策略

可以在/etc/shadow里面去修改用户密码的策略。

也可以使用chage 命令来修改用户的密码策略。

查看用户密码的时效策略

#chage  -l   user1(username)

[root@localhost ~]#

[root@localhost ~]# chage -l user1

Last password change                                                       : Mar 02, 2010

Password expires                                                              : never

Password inactive                                                             : never

Account expires                                                                : never

Minimum number of days between password change         :0

Maximum number of days between password change        : 99999

Number of days of warning before password expires         :7

[root@localhost ~]#

这条命令可以查看用户密码的策略。

如何修改用户密码的策略,

#chage  user1

[root@localhost ~]#

[root@localhost ~]# chage user1

Changing the aging information for user1

Enter the new value, or press ENTER for the default

 

        Minimum Password Age [0]:

        Maximum Password Age [99999]:

        Last Password Change (YYYY-MM-DD) [2010-03-02]:

        Password Expiration Warning [7]:

        Password Inactive [-1]:

        Account Expiration Date (YYYY-MM-DD) [1969-12-31]:

[root@localhost ~]#

它会以交互式的方式来修改用户的密码时效。

从上到下,依次解释,

密码的最小存活期,多长时间以后可以修改密码。(0为随时可以修改密码)

密码的最大存活期,密码在多长时间后过期。(99999是代表用户密码永不过期)

密码的最后一次修改时间,所有的策略以这个时间为标准

密码的警告时间,多长时间警告用户密码快过期了(默认是七天)

密码的宽限期,密码过期以后,账号多久过期。(默认是-1,密码过期了,账号就过期了。)

最后一个是账号的过期时间。

账号过期,就代表用户不可以登录了。

密码过期,只需要修改密码,用户就可以立即登录了。

 

关于组的管理

在组里面添加用户,

我们可以直接在/etc/group这个文件里面在组的后面去添加用户。

添加一个组

#groupadd

修改一个组

#groupmod

删除一个组

#groupdel

 

在linux下面用户的管理就是这么多了。

阅读(593) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~