linux下用户和组的管理
一、linux是一个多用户多任务的操作系统
二、为什么要创建多个用户?
1.使每个人对自己的资源进行更好的管理
2.使不同的用户对计算机的资源管理有特殊的权限
3.实现分布式处理(把一个任务分成多个模块,大家同时来完成)
三、用户信息的存放(/etc/passwd)
3类用户: 超级管理员root(用户属性:UID/GID) UID=0 GID=0
服务管理用户,不登录的用户(UID=1---499) GID默认为UID
普通用户:用户自己创建的(UID=500~65535)
在/etc/passwd文件中,每个用户的信息占用一行,内容格式如下:
用户名:密码:UID:GID:用户描述:用户的主目录:登录shell的版本
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
php:x:500:500:php:/home/php:/bin/bash
注意:一个组群可以包含多个用户,反过来一个用户可以属于多个组群。其中一个用户只能有一个主组群,其他的组群叫做这个用户的附属组群。
密码加密之后的信息存放在(/etc/shadow)
用户名:加密之后的密码:从1970-1-1到用户最后一次修改密码的天数:用户可以更改密码的天数:用户必须要修改密码的天数:系统提示用户修改密码的天数:密码过期后几天帐户被禁用:密码过期的具体日期(从1970-1-1开始 的天数):保留
root:$1$oKjiLsfG$F5OeXiRJZdgRTafoaKKWP.:15692:0:99999:7:::
bin:*:15691:0:99999:7:::
php:$1$yk1HbJIa$2kHi3nuQasUWnsxbagm55.:15691:0:99999:7:::
关注(/etc/login.defs)
# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail 用户邮箱目录
#MAIL_FILE .mail
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 9999 密码的最长有效天数相对于最后修改的日期
PASS_MIN_DAYS 0 密码在多少天之内不许修改
PASS_MIN_LEN 5 用户密码的最小长度
PASS_WARN_AGE 7 在过期多少天之前给出警告
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500 用户起始UID
UID_MAX 60000 用户UID的最大值
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 500
GID_MAX 60000
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOME yes 是否在创建用户时自动创建用户主目录
# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK 077
# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes 是否创建用户时自动创建组
# Use MD5 or DES to encrypt password? Red Hat use MD5 by default.
MD5_CRYPT_ENAB yes 密码是否使用MD5加密
查看用户信息(chage -l 用户名)
四、关于组群(group)
关注文件/etc/group:
组名:组群口令(一般为空):GID:所属组的用户
注意:如果是普通用户组话,在组中不显示主组群为该组的用户名,但是显示其附属成员
root:x:0:root
bin:x:1:root,bin,daemon
php:x:500:
php1:x:501:
五、创建和管理用户及组
1.利用图形界面
2.命令完成
[1].创建新用户:useradd|adduser
格式:
useradd [参数] 用户名
参数:利用man命令参考
例:创建UID为510,组为php,名字为php3,主目录为/home/php3,打开的shell为/bin/bash 密码为:123456
[2].设置用户口令(禁用和启用用户)
passwd [参数] 用户名
参数: -l (lock)锁定(禁用)相应用户
-u(unlock)解禁一个用户
[3].chage命令:修改口令的参数
chage [参数] 用户名 具体内容自己man一下
chage -l
用户名
管理用户:
[1].修改用户的基本信息(usermod)命令格式同useradd
例:将用户php3的主目录改为/home/php0
usermod -d /home/php0 php3
[2].锁定用户
1。
利用passwd命令
例:将php用户锁定 passwd -l php
解锁php: passwd -u php
2.利用usermod禁用解禁用户
usermod -L php
php
usermod -U php
3.直接修改/etc/shadow直接在用户信息前加*
[3]删除用户userdel
userdel [-r] 用户名
-r:如果不加,只在/etc/passwd中删除用户信息,加上-r将用户信息及主目录一起删除
组群的管理
[1].组群的添加:groupadd或addgroup
格式groupadd 组的名称
[2].修改组的属性:groupmod [参数] 组群的名称。
[3].添加/删除组成员
gpasswd [参数] 用户名1,2,... 组名
参数: -a 添加
-d 删除
注意:将用户分组目的是授权文件或文件夹权限时可以同时授予多个用户