一、用户和用户组

Linux最优秀的地方之一,就在于它的多用户、多任务环境。而为了让各个用户具有较保密的文件数据,因此用户和文件的权限管理就变得很重要了。Linux一般将文件可
 
 存取访问的身份分为3个类别,分别是owner、group、others。且三种身份各有read、write、execute等权限。
 
    文件所有者,是为了考虑每个人的隐私权以及每个人喜好的工作环境而提出的概念。 
  
 用户,我们明白Linux是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(user)。比如我们的同事想用我的计算机,但我不想让他用我的用户名登      
         录,因为我的用户名下有不想让别人 看到的资料和信息(也就是隐私内容)这时我就可以给他建一个新的用户名,让他用我所开的用户名去折腾,

这从计算机安全角度来说是符合操作规则的;
   
         当然用户(user)的概念理解还不仅仅于此,在Linux系统中还有一些用户是用来完成特定任务的,比如nobody和ftp等,我们访问LinuxSir.Org的网页程序,就是
   
   nobody用户;我们匿名访问ftp时,会用到用户ftp或nobody ;如果您想了解Linux系统的一些帐号,请查看 /etc/passwd ;      
   
 用户组,用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们
 
        需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同
     
     的权限,这是我们通过定义组和修改文件的权限来实现的; 
 
二、用户(user)和用户组(group)相关的配置文件、命令或目录

1,用户(user)和用户组(group)相关的配置文件;
 
    与用户(user)相关的配置文件
    
        /etc/passwd  注:用户(user)的配置文件
     
     /etc/shadow  注:用户(user)影子口令文件
     
    与用户组(group)相关的配置文件
    
        /etc/group 注:用户组(group)的配置文件
     
     /etc/gshadow 注:用户组(group)的影子文件
     
 2、管理用户和用户组的相关工具或命令;
 
       管理用户的工具或命令
    
           useradd  添加用户
     
           adduser  添加用户
     
           passwd   为用户设置密码
     
           usermod  修改用户命令,可以usermod来修改登录名、用户的家目录等等。
     
           pwck  校验用户配置文件/etc/passwd和/etc/shadow文件内容是否合法或完整  
     
        finger   查看用户信息工具
     
     chown    改变文件所有者
     
     chmod    改变文件的权限
     
     chgrp    改变文件所属用户组
     
     id       查看用户的UID、GID及所归属的用户组
     
     chfn     更改用户信息工具
     
     su       用户切换工具
     
     sudo     通过另一个用户执行命令( execute a commmand as another user )
     
     visudo   编辑/etc/sudoers的命令
     
    管理用户组的工具或命令
    
           groupadd 添加用户组
     
           groupdel 删除用户组
     
           groupmod 修改用户组信息
     
           groups   显示用户所属的用户组     
     
     newgrp   新建用户组
     
  注:添加一个用户:
  
           # useradd USERNAME
     
                     -u UID
      
                     -g GID
      
                     -c "string"注释信息
      
                     -d PATH 指定路径
      
                     -s SHELL指定shell
      
                     -G group1,group2...指定附加组
      
                     -M 不创建家目录
      
                     -m  必须创建家目录
      
                     -D  指定设备
      
                       -b 指定块设备
        
                       -s 指定字符设备
        
        注:建立一个用户:
  
            1. /etc/passwd
   
            2. /etc/shadow
   
            3. /etc/group
   
            4. /home/USERNAME
   
                   /etc/passwd
       
                    username:x:UID:GID:comment:HOMEDIR:SHELL
       
                   /etc/shadown
       
       username:密码加密后结果:从1970-1-1到密码修改时间的天数:最近一次更改密码的日期:密码最短保留天数:密码多久需要进行更改:密码过期
       
       前警告日期:密码失效日期,非活动时间:账号失效日::预留段
       
                   student:$1$PPAfA5Zs$B8Q7.8JCD69ueI.xGin320:15354:0:99999:7:::        
     
 添加密码:
     # passwd  USERNAME
          passwd  [-k]  [-l] [-u [-f]] [-d] [-n mindays] [-x maxdays] [-w warn-
                   days] [-i inactivedays] [-S] [--stdin] [username]
 
三、/etc/skel 目录;

/etc/skel目录一般是存放用户启动文件的目录,这个目录是由root权限控制,当我们添加用户时,这个目录下的文件自动复制到新添加的用户的家目录下;/etc/skel

目录下的文件都是隐藏文件,也就是类似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默认的用户环境;

[root@localhost beinan]# ls -la /etc/skel/

总用量 92

drwxr-xr-x    3 root root  4096  8月 11 23:32 .

drwxr-xr-x  115 root root 12288 10月 14 13:44 ..

-rw-r--r--    1 root root    24  5月 11 00:15 .bash_logout

-rw-r--r--    1 root root   191  5月 11 00:15 .bash_profile

-rw-r--r--    1 root root   124  5月 11 00:15 .bashrc

-rw-r--r--    1 root root  5619 2005-03-08  .canna

-rw-r--r--    1 root root   438  5月 18 15:23 .emacs

-rw-r--r--    1 root root   120  5月 23 05:18 .gtkrc

drwxr-xr-x    3 root root  4096  8月 11 23:16 .kde

-rw-r--r--    1 root root   658 2005-01-17  .zshrc

/etc/skel 目录下的文件,一般是我们用useradd 和adduser 命令添加用户(user)时,系统自动复制到新添加用户(user)的家目录下;如果我们通过修改

/etc/passwd 来添加用户时,我们可以自己创建用户的家目录,然后把/etc/skel 下的文件复制到用户的家目录下,然后要用chown 来改变新用户家目录的属主;

四、/etc/login.defs 配置文件;

/etc/login.defs 文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的;

比如Fedora 的 /etc/logins.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  注:创建用户时,要在目录/var/spool/mail中创建一个用户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   99999   注:用户的密码不过期最多的天数;

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为500 ,也就是说添加用户时,UID 是从500开始的;

UID_MAX                 60000   注:最大UID为60000;

#

# Min/max values for automatic gid selection in groupadd

#

GID_MIN                   500   注:GID 是从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 ORed with the -m flag on

# useradd command line.

#

CREATE_HOME     yes   注:是否创用户家目录,要求创建;

五、/etc/default/useradd 文件;

通过useradd 添加用户时的规则文件;

# useradd defaults file

GROUP=100

HOME=/home  注:把用户的家目录建在/home中;

INACTIVE=-1  注:是否启用帐号过期停权,-1表示不启用;

EXPIRE=   注:帐号终止日期,不设置表示不启用;

SHELL=/bin/bash  注:所用SHELL的类型;

SKEL=/etc/skel   注: 默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;
 
六、Linux文件权限
     
权限:r:读

w:写
   
      x:执行
   
 rwx,文件;
 
目录权限:

r:ls
   
   w: 建立或删除文件
   
   x: cd切换到此目录,或者ls -l文件

---   000    0

--x   001    1

-w-   010    2

-wx   011    3

r--   100    4

r-x   101    5

rw-   110    6

rwx   111    7

例如: 640

rw-r-----  root redhat a.txt

chmod   
 
1..chmod 644 file1       chmod -l 修改登录名

rw-r--r--
  
2..u属主

g属组
   
   o其它
   
   a所有
   
   ug=rw
   
   u=rw,g=r
   
3..+/-

u+x
   
   g-x
   
   o+r
   
   +x

-R 递归修改

--reference=xx     以xx为模板参照

chown/chgrp

chown USERNAME FILE1,FILE2,...

-R

例如:
添加slackware用户,slackware用户组     UID5000,GID5000

1,/etc/group

slackware:x:5000:

2,/etc/passwd

slackware:x:5000:5000:Test User:/home/slackware:/bin/bash

3,/etc/shadow

slackware:$1$12345678$0ME5N6oDyoEAwUp7b5UDM/:15355:...

4,

# cp -r /etc/skel /home/slackware

# chown -R slackware:slackware /home/slackware

# chmod -R go= /home/slackware

转载于:https://blog.51cto.com/wangyublues/800744

Linux用户管理与权限相关推荐

  1. Ubuntu/Linux用户管理与权限管理(超详细解析)

    由于实验室几个老师的学生要共同使用一台服务器,所以需要规范一下服务器的使用,并且给各位学生配置相关的用户和权限,之前一直都是自己用,所以借此机会学习和总结一下Linux服务器的用户管理与权限管理. U ...

  2. Linux用户管理及权限设置

    一.概述-基本常识 ​ 作为多用户.多任务(Multi-Users,Multi-tasks)的服务器操作系统,Linux提供了严格的权限管理机制,主要从用户身份.文件权限两个方面对资源进行限制.Lin ...

  3. linux服务器用户组和权限管,linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

  4. linux用户管理和文件权限

    linux用户管理和文件权限 新建用户: useradd ftpuser      useradd -g gxx userxx 修改密码: passwd ftpuser 新增用户组: # groupa ...

  5. Linux用户管理、组管理及权限管理

    文章目录 Linux用户管理 whoami指令 who指令 useradd指令 userdel指令 passwd指令 usermod指令 - 修改已有账号自身的信息 id指令 - 查询用户信息 Lin ...

  6. Linux之用户管理、权限管理、程序安装卸载

    一. 用户管理 1. 查看账户 (1). 查看当前账号:whoami ​(2). 查看系统当前登录的账号:who ​补充常用选项: ​(3). 查看系统所有的账号: cat /etc/passwd ​ ...

  7. Linux用户及文件权限管理

    一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别 ...

  8. [转载]Linux用户管理全攻略(八)

    原文地址:Linux用户管理全攻略(八)作者:ZOL_心蓝蓝 Linux 系统中的超级权限的控制 作者:北南南北 赞助: eTony,pandonny,懒猫, Arch 来自:LinuxSir.Org ...

  9. linux安全策略与实例pdf,实验一:Linux用户管理与安全策略.pdf

    操作系统安全 Operating System Security Linux系统安全实验讲义 2013年12版本 实验一 Linux 用户管理与安全策略 1 实验目的 通过实验熟悉 Linux 环境下 ...

最新文章

  1. ubuntu自定义命令
  2. 高级持续性威胁检测无法检测出自定义恶意软件?
  3. ASP.NET基础教程-DataGrid表格控件-模板列的使用
  4. 《JAVA程序设计》_第四周学习总结
  5. 452. 用最少数量的箭引爆气球(贪心算法+思路+详解)07
  6. 模仿Linux内核kfifo实现的循环缓存
  7. ETL异构数据源Datax_MySQL同步Oracle(全量)_07
  8. angular 字符串转换成数字_Python基础语法大全:字符串的处理与使用
  9. 前端笔记-freemarker模板获取后端数据及提交数据
  10. 项目1:交换机后台管理程序(待续1……)
  11. 本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容
  12. 朋友圈疯转的“佩奇”是啥?用 Python 画个小猪佩奇来告诉你
  13. PCB解决(Failed to add class member)问题
  14. 指南-AT应用指南-AT指令指南-音频播放和TTS
  15. 现代opengl 设计 assimp 3D 模型加载库
  16. 你每天都在使用的HTTP协议,到底是什么鬼?
  17. 设置计算机网络文件共享,局域网电脑文件共享怎么设置
  18. 需求分析师如何分析功能性需求
  19. 网友对sars病毒事件的对话(转)
  20. 存储崩溃、虚拟磁盘丢失、分区表丢失这些故障如何解决

热门文章

  1. JSON中,java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决
  2. Oracle查看死锁 .
  3. ORACLE复合索引使用 注意事项
  4. MySQLWorkbench注释
  5. 我的第一次博客 张学良
  6. 洛谷.4897.[模板]最小割树(Dinic)
  7. 【前端】JavaScript
  8. Objective c类的初始化
  9. Codeforces Round #392(div 2) 758D (贪心)
  10. 新增数据时遇到特殊字符