Linux(四)用户和用户组管理

一、用户管理命令
  用户信息文件: /etc/passwd
  aa:x:501:501:空:/home/aa:/bin/bash
    第一列:用户名
    第二列:密码位
    第三列:UID 用户ID =>大于500 普通用户
    第四列:GID 初始组ID
    第五列:用户说明
    第六列:家目录
    第七列:用户登录之后的权限
  用户分类:超级用户(root)普通用户 系统用户(伪用户)
  影子文件: /etc/shadow
  组文件: /etc/group
    初始组:每个用户初始组只能有一个,一般都是和用户名相同的组作为初始组
    附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组

  1、添加用户
    useradd 用户名
    useradd 选项 用户名
  选项:
    -g 组名 指定初始组
  #useradd -g root moshou 指定初始组
  #tail /etc/passwd
    -G 组名 指定附加组,把用户加入组,使用附加组
  #useradd -G root lianmeng 指定附加组
    -c 添加说明
  #useradd -c "qiangdadduishou" buluo
    -d 手工指定家目录,目录不需要事先建立/home/
  #useradd -d /admin admin
    -s 默认:/bin/bash 手工指定用户登录之后的权限
  #useradd -s /bin/nologin test 禁止登陆

  2、设定密码
    passwd 用户名 改变该用户密码
    passwd 改变当前用户密码
    passwd root 改变root密码

  3、删除用户
    userdel 用户名 删除用户(仅删除用户信息)
    userdel -r 用户名 连带家目录一起删除

  4、添加组
    groupadd 组名

  5、删除组
    groupdel 组名 注意:组中没有初始用户。

  6 把已经存在的用户加入组
    gpasswd -a 用户名 组名 用户加入组
    gpasswd -d 用户名 组名 把用户从组中删除

二、用户相关命令
  1、id 用户名 显示用户的UID,初始组,和附加组
    #id tianqi 查看用户的id
  2、su - 用户名 切换用户身份
    - 连带环境变量一起切换
    #su - 切换用户身份

三、ACL权限 给特殊身份的用户设置权限。

  1、getfacl 文件名 查询文件的acl权限

  2、setfacl 选项 文件名 设定acl权限 (set 设置)
   -m 设定权限
   -b 删除权限

  对文件设置ACL权限
    #getfacl index.php 查看文件的ACL权限
    #setfacl -m u:tianqi:rwx index.php 给tianqi设置ACL权限
    #ls -l index.php
    #getfacl index.php

    #setfacl -m g:xuebao:rwx index.php 给xuebao组设置ACL权限
    #getfacl index.php

  对目录设置ACL权限
    1)
      #setfacl -m u:tianqi:rwx www
      #getfacl www
      #ls -ld www
      #cd www
      #getfacl install.log
    2)对目录以及目录内文件设置ACL权限
      #setfacl -m u:tianqi:rwx -R www
      #getfacl www
      #cd www
      #getfacl install.log
    3)对目录里面未来建立的文件具有ACL权限(默认权限)
      #cd www
      #touch a.txt b.php
      #getfacl a.txt
      #setfacl -m d:u:tianqi:rwx -R www
      #getfacl www
      #cd www
      #touch c.html
      #getfacl c.html

  删除ACL权限
    #setfacl -b index.php
    #getfacl index.php
    #setfacl -x u:tianqi www
    #setfacl -b www
    #getfacl www

  注意:如果给目录赋予acl权限,两条命令都要输入
    -R 递归
    -m u:用户名:权限 -R 只对已经存在的文件生效
    -m d:u:用户名:权限 -R 只对未来要新建的文件生效


四、输出重定向

  1、输出重定向
    把应该输出到屏幕的输出,重定向到文件。

    > 覆盖 ls > aa 覆盖到aa

    >> 追加 ls >> aa 追加到aa

    ls gdlslga 2>>aa 错误信息输出到aa 强调:错误输出,不能有空格
  2 错误信息

    lss >> aa 2>&1 错误和正确都输入到aa,可以追加
    2>&1 把标准错误重定向到标准正确输出

    lss >> aa 2>>/tmp/bb 正确信息输入aa,错误信息输入bb
五、计划任务

  循环定时任务:
    crontab -e 编辑定时任务

  * * * * * 命令

  第一个:一小时中第几分钟 0-59
  第二个:一天中第几个小时 0-23
  第三个:一个月中第几天 1-31
  第四个:一年第几个月 1-12
  第五个:一周中星期几 0-6

  命令: 开启/关闭服务 service sshd start service sshd stop
        /usr/local/apache2/bin/apachectl restart

  重启系统 reboot shutdown -r now
  生成文件 echo “Good Moring” >> /root/hello.txt
  备份文件/目录 cp /root/hello.txt /tmp

  crontab -l 查看系统定时任务
  crontab -r 删除定时任务

原文地址:https://www.cnblogs.com/yexiang520/p/5637884.html