zoukankan      html  css  js  c++  java
  • linux 用户管理、权限管理


    1、useradd -[ugGdsce]
    2、passwd 用户名


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

    1、chmod
    2、chown
    3、setuid
    4、setgid
    5、t位
    6、sudo
    ***7、acl权限分配 更灵活的权限分配方式
    ------------------------------------------------

    chmod设置文件基本权限 u----g----o
    1)、数字
    chmod 757 /test
    drwxr-xrwx root root test
    2)、英文
    chmod a+rwx
    用户群体:user group other all==>u g o a


    chown授权

    chown user1:group1 /test
    chown user1 /test
    chown :group1 /test


    t位(粘滞位) 所有人都具有rwx的权限的文件夹 用t位限制你建的你可以动 别人建的你不能动删除
    chmod o+t
    chmod 1777
    [root@localhost tmp]# ll -d

    drwxrwxrwt 7 root root 4096 Jun 15 13:46 .

    su - user1 //切换用户 root用户切换到普通用户不需要密码
    //其他用户切换到root用户需要密码


    setuid (s位) 只对执行程序有效 ---尚方宝剑--所有人用这个执行程序区执行都以root的身份去执行
    chmod u+s
    -rwsr-xr-x root root /bin/touch
    s(用户) sg(用户组) t(other) ---4 2 1
    #chmod 4755

    setgid (g位粘滞位) 组权限继承 一般是给文件夹设置 然后让其子文件夹继承它的组权限 所属组往下继承
    chmod g+s
    chmod 2755


    sudo 授权

    1、visudo #打开授权表 输入授权
    user1 localhost=/usr/sbin/useradd [user100],/usr/sbin/userdel [user100]
    授权user1添加和删除用户 方括号的意思是 可以细化到添加 、删除某个或者某几个用户
    2、sudo /usr/sbin/useradd username五分钟失效
    #输入你自己的密码

    3、sudo /usr/sbin/userdel -r username

    *****acl授权
    需求:要求user1对/mnt 具有rwx权限 user2 对/mnt 具有r-x权限
    user3对 /mnt具有rw权限 user4 对/mnt具有r--权限

    #设置文件访问控制列表

    1、 setfacl -m u:user1:rwx /mnt
    setfacl -m u:user2:r-x /mnt
    setfacl -m u:user3:rw- /mnt
    setfacl -m u:user4:r-- /mnt

    setfacl -m g:root:rwx /mnt 对组设置访问控制

    setfacl -x u:user1 /mnt /取消user2的访问控制设置
    setfacl -x g:root:rwx /mnt 对组设置访问控制
    serfacl -b /mnt 清空对这个目录的所有访问控制acl权限
    2、 getfacl /mnt #查看文件访问控制列表

    [root@localhost tmp]# getfacl /mnt
    getfacl: Removing leading '/' from absolute path names
    # file: mnt
    # owner: root
    # group: root
    user::rwx
    group::r-x
    group:root:rwx
    Linux用户分为三种:

    超级用户(root,UID=0)
    普通用户(UID 500-60000)
    系统用户(UID 1-499)
    伪用户
    1、系统用户与系统应用和程序服务相关
    如:bin、daemon、shutdown、halt等,与Linux系统应用相关
    如:apache、ftp、mysql及sshd等,与Linux 系统服务相关
    2、系统用户通常不需要或无法登录系统
    3、可以没有宿主目录

    用户组
    每个用户都至少属于一个用户组
    每个用户可以属于多个用户组
    同一用户组的用户享有该组的权限
    手工添加用户
    分别在/etc/passwd、/etc/shadow、及组配
    置文件 /etc/group文件中添
    加一笔记录
    生成用户宿主目录(通过/etc/skel),并
    修改宿主目录所有者及权限
    添加用户
    useradd 设置选项 用户名
    u:UID
    g:缺省所属用户组GID
    G:指定用户所属多个组
    d:宿主目录
    s:命令解释器Shell
    c:描述信息
    e:指定用户失效时间
    passwd 用户名

    删除用户

    userdel -r 用户名
    -r:删除用户宿主目录

    手工删除:
    使用find命令查找属于某个用户或用户组的文件
    find选项-user、-group
    1、对需要保留的文件进行移动和备份
    2、对不需要的文件进行删除
    3、清除用户配置文件中的相关表项
    4、清除用户宿主目录
    禁用和恢复用户
    禁用
    # usermod -L username
    恢复
    # usermod -U username
    用户管理命令
    id 查看用户UID、缺省组、所属组
    finger 查看用户详细信息
    su 切换用户(su - 环境变量切换)
    who 查看当前登录用户信息
    groups 查看用户隶属于哪些用户组
    Sudo授权
    -授予普通用户以root身份执行命令
    -命令范围可限定至具体选项和参数

    配置文件:/etc/sudoers,编辑配置文件命令visudo,
    普通用户使用命令sudo。
    格式:
    用户名(%组名) 主机地址=命令(绝对路径)

  • 相关阅读:
    Java反射中Class.forName与classLoader的区别
    Java各种成员初始化顺序
    crontab python脚本不执行
    Java mybatis缓存(转)
    Java Synchronized及实现原理
    JVM类加载器
    SSH掉线问题
    SSH登陆远程卡、慢的解决的办法
    shell脚本执行python脚本时,python如何将返回值传给shell脚本
    使用scrapy进行数据爬取
  • 原文地址:https://www.cnblogs.com/jamesbd/p/3567653.html
Copyright © 2011-2022 走看看