您的位置:首页 > 运维架构 > Linux

Linux学习笔记:用户管理和权限控制

2013-12-08 10:04 615 查看

一、Linux下的用户管理

Linux下有三类用户

  1.超级用户: root 具有操作系统的一切权限 UID 值为0

  2.普通用户:

普通用户具有操作系统有限的权限,
UID值 500 -- 6000

  3.伪用户:

是为了方便系统管理,
满足相应的系统进程文件属主的要求,
伪用户不能登录系统,UID值 1 -- 499

用户管理文件:passwd /etc/passwd

在此文件中,只定义帐号,不定义口令;

文件中每行定义一个用户,分七个部分:
帐号名称:root
用户密码:x
用户标识码(用户ID):0
组标识码(用户组ID):0
用户相关信息:admin
用户家目录:/root
用户环境:/bin/bash

用户口令文件:shadow /etc/passwdcat /etc/shadow

此文件只有root用户能访问,分九个部分:
用户名:root
口令:存放加密口令,如果第一个字符是!,表示改用户不能登录
最后一次修改时间:
最大时间间隔:0 可以随时改变
最小时间间隔:99999 表示永远不过期
警告时间:1周
不活动时间:
失效时间:

----------------------------------------------------

用户帐号管理

  手工创建用户

1.在/etc/passwd中添加一条记录
2.创建用户主目录
3.在用户主目录中设置默认的配置文件
4.设置用户初始口令

  命令创建用户

useradd 或者 adduser(man useradd)
-u -g -G -d -s -c -e -k -m -M -r

  用户帐号的维护

useradd username 创建用户
passwd username  设置用户密码

注意:没有设置密码的用户不能登录

userdel username 删除用户

usermod -l newName username  修改登录名

usermod -L username 锁定用户

usermod -U username 解锁用户

passwd -l
passwd -u 
passwd -s

---------------------------------------------------

用户组管理

用户组分两类:

    私有组:
当在创建一个新用户user时,若没有指定他所属于的组,Linux就建立一个和该用户同名的私有组

    标准组:
标准组可以容纳多个用户,若使用标准组,在创建一个新用户时,就应该指定该用户所属于的组

用户组的管理文件:group /etc/group

  分为四个部分:

    组名:用户登录时所在的组名

    组口令:一般不使用

    组标识码(GID):

    组内用户列表:属于改组的所有用户列表

添加用户组

  useradd username (默认建立username用户组)

  groupadd 组帐号名称 

 

修改组名

  

  groupmod -n newName groupName

删除组帐号

 

  groupdel 组帐号名称

  注意:删除的帐号必须存在,且不能是某个用户的私有组

添加用户到组

  gpasswd -a userName groupName

从组中删除用户

  gpasswd -d userName groupName

查看某个用户属于哪个组

  groups userName

查看某个组有哪些用户

  

  tail 5 /etc/group    最后一行

查看一个用户的UID和GID

id [options] userName     eg: id bruce

id -g userName   只显示GID

id -G userName 显示所有组

id -u userName 只显示UID

查看用户的相关信息,包括用户的主目录,启动shell,用户名等

finger [options] userName eg: finger bruce

finger -l userName

finger -s userName

---------------------------------------------------

变化用户身份 

  su userName

  说明:从管理员到普通用户不用使用密码;从普通用户到其他用户需要使用密码

  这样,至改变用户身份,环境变量不变;

  su -userName

  完全转变,包括身份和环境变量

只允许root用户登录

  可以在/etc/目录下建立一个名为nologin的文件

  touch /etc/nologin

  解除方法,删除nologin文件即可

  rm -rf /etc/nologin

二、用户的权限管理 chmod

基本规则

使用 ll 命令查看文件时,能看到如下信息在首列

drwxrwxrwx  

第一个字母:代表文件类型

第2~4字符:表示当前用户的权限

第5~7字符:表示当前用户组权限

第8~10字符:表示其他用户的权限

d:目录

r[4]:读权限 w[2]:写权限
x[1]:可执行权限

chmod命令

a:所有权限/所有用户

u:用户

g:用户组

o:其他用户

+:加上权限

-:减去权限
=:等于权限

eg:给文件file.txt加上可执行权限

chmod a+x file.txt

八进制的数据表示权限 0 1 2 3 4 5 6 7

0:没有任何权限

1:x

2:w

3:xw

4:r

5:rx

6:rw

7:rwx

eg: 给文件一个755权限

chmod 755 file.txt

文件/目录的所属用户和所属用户组

修改目录下所有文件、所有子文件、文件夹的权限

chmod -R 755 folder

修改文件的所属用户

chown userName file

修改目录下所有文件、所有子文件、文件夹的所有用户

chown -R userName folder

修改文件的所属用户组

chgrp groupName file

修改目录下所有文件、所有子文件、文件夹的所有用户组

chgrp -R userName folder

同时修改文件/目录的用户和用户组

chown -R userName.groupName file/folder

新建文件/目录的默认权限

设置文件的默认生成掩码,新建文件/目录的默认权限

umask nnn

eg: umask 444

目录的默认权限:777 - 444 = 333  dr-xr-xr-x

文件的默认权限:777 - 444 -111 = 222 -w--w--w-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息