Linux组群及特殊权限

inux下用户和组的管理
一、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
usermod -U php
3.直接修改/etc/shadow直接在用户信息前加*

[3]删除用户userdel
userdel [-r] 用户名
-r:如果不加,只在/etc/passwd中删除用户信息,加上-r将用户信息及主目录一起删除

 

linux用户与用户、权限管理

用户管理:
1、useradd 创建用户
  -c 指定用户描述
  -d 指定家目录 默认家目录 /home下同名的目录
  -g 指定主组
  -G 指定附加组
【注意:一个用户主组只能有一个,而附加组可以有多个】
  -s 指定shell程序
特殊:/sbin/nologin --> 不容许登陆系统的用户
  -u 指定UID
  -M 不创建家目录

2、userdel
  -r 带着家目录一块删除

3、usermod - 修改
  -c -d -m -g -G -s -u -o(容许UID相同,和-u一起使用)

4、passwd
  -l lock
  -u unlock
  -d 删密码

  *echo "密码" | passwd --stdin "用户名"* 一步创建用户名和密码


组管理:
groupadd
  -g 修改组ID
  -o 容许重复
groupdel 删除组属性
groupmod 修改组属性
  -g
  -o
  -n 修改组名
  -p 指定组密码
【注意:如果一个文件输入这个用户的附加组,而你要访问这个文件,别人就可以为这个组设置密码;】

常用文件
/etc/passwd
uname:x:uid:gid:描述:家目录:shell程序
超级用户 - root
系统用户 1-499 1-999 普通用户 500 - 65535 1000-65535
/etc/shadow
uname:uid:密码:各种时间...
。。。
脚本文件
/etc/group
组:组密码:组ID:附加组
/etc/gshadow
。。。
/etc/skel
这个目录下的文件均会被复制到每一个普通用户的家目录中,一般用来做警告;

==============================================================

用户权限:
r w x
读写执行
4 2 1
r 100
w 010
x 001

chmod [a|o|g|u] [+|-] 文件
chown :user10 文件
chown user10: 文件
chown user10:user10 文件

===================================================

acl的授权管理:
通过权限管理,给指定用户添加指定权限;
setfacl -- 添加权限
setfacl -m u:用户名:所添加的权限 文件 //文件一定要是该用户的文件
setfacl -x u:用户名 文件 //取消文件权限
getfacl
查看acl添加的权限

特殊权限:
临时借权限;例如:有A B两个用户分别输入AA组和BB组;A创建了一个用户a.txt,B默认情况下去访问a.txt使用other;但是,我如果想要越权,借用A的权限去访问a.txt,就需要将SUID位置位为1;同时也可以,去借SGID的权限去访问这个文件;
粘粘位作用:授权给一个目录,在该目录下所有用户只能删除自己的文件,别人不能删除自己的文件;--给目录文件授予的;
SUID
chmod u+s 文件 //授予SUID的特殊权限
如果属主权限有 x 显示为 s
如果属主权限没有x 显示为S
【如何借位?】
SGID
chmod g+s 文件 //授予GUID的特殊权限
如果属主权限有 x 显示为 s
如果属主权限没有x 显示为S
【如何借位?】
Sticky
chmod o+t 文件 //授予粘粘位的特殊权限
如果属主权限有 t 显示为 s
如果属主权限没有T 显示为S
【如何借位?】

=============================================

su 授权
/etc/sudoers //在这个文件里面去添加权限即可;
su - / su
sudo

 

 


组群的管理
[1].组群的添加:groupadd或addgroup
格式groupadd 组的名称
[2].修改组的属性:groupmod [参数] 组群的名称。
[3].添加/删除组成员

gpasswd [参数] 用户名1,2,...   组名
参数: -a 添加  
  -d 删除
注意:将用户分组目的是授权文件或文件夹权限时可以同时授予多个用户

Linux组群及特殊权限

上一篇:005. Linux基础五 P4 (ACL)


下一篇:ubuntu设置root密码及远程连接