RHCE学习笔记-RHEL5.4用户管理
时间:2014-09-18 01:48 来源:linux.it.net.cn 作者:it
首先,来看如何在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 ~]$
现在user1的home目录和环境变量就正常了。
建议在创建用户的时候就指定/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下用户管理的相关内容就介绍完了,希望对大家有所帮助。
(责任编辑:IT)
首先,来看如何在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 -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这个文件。 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目录
复制代码代码如下:
#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 ~]$
现在user1的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 -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登录成功了。 关于用户密码的时效策略
默认情况下,用户的密码永不过期。 查看用户密码的时效策略
复制代码代码如下:
#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 ~]# 它会以交互式的方式来修改用户的密码时效。
从上到下,依次解释: 关于组的管理
在组里面添加用户, 至此,关于linux下用户管理的相关内容就介绍完了,希望对大家有所帮助。 (责任编辑:IT) |