• Linux用户、用户组、文件权限学习笔记


    转帖:http://www.sourcejoy.com/other_dev_tech/linux-user-and-file-manage.html

    最近打算更仔细学习一下linux操作系统。先是恶补了一下用户、用户组、文件权限这三样比较重要的知识。
    学习这几样东西,得先掌握linux的权限系统相关知识。
    linux的权限系统主要是由用户、用户组和权限组成。
    用户就是一个个的登录并使用linux的用户。linux内部用UID表示。
    用户组就是用户的分组。linux内部用GID表示。
    权限分为读、写、执行三种权限。

    linux的用户信息保存在/etc/passwd文件中,另外,/etc/shadow文件存放的是用户密码相关信息。

    /etc/passwd文件格式:
    用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell
    其中UID为0则是用户root,1~499为系统用户,500以上为普通用户

    /etc/shadow保存用户密码信息,包括加密后的密码,密码过期时间,密码过期提示天数等。

    用户组信息保存在/etc/group文件中.
    格式如下:
    用户组名:组密码:GID:组内帐号(多个帐号用逗号分隔)

    用户登录后,/etc/passwd文件里的GID为用户的初始用户组。
    用户的初始用户组这一事实不会再/etc/group中体现。

    查看当前用户的用户组命令:
    [root@local opt]#groups
    root bin daemon sys adm disk wheel
    输出的信息中,第一个用户组为当前用户的有效用户组(当前用户组)

    切换有效用户组命令:
    [root@local opt]#newgrp 用户组名
    要离开新的有效用户组,则输入exit回车。

    新建用户命令:
    [root@local opt]#useradd 用户名 -g 初始用户组 -G 其他用户组(修改/etc/group) -c 用户说明 -u 指定UID

    建完用户需要为用户设置密码:
    [root@local opt]#passwd 用户名

    用户要修改自己密码命令:
    [root@local opt]#passwd

    修改用户信息命令:
    [root@local opt]#usermod 参数 用户名
    参数:
     -c 说明
     -g 组名 初始用户组
    -e 过期日期 格式:YYYY-MM-DD
     -G 组名 其他用户组
     -l 修改用户名
     -L 锁定账号(在/etc/shadow文件中用户对应密码密码串的前面加上两个叹号(!!))
     -U 解锁

    删除用户命令:
    [root@local opt]#userdel [-r] 用户名
    其中,参数-r为删除用户的home目录。
    其实,可能在系统其他地方也有该用户文件,要完整删除一个用户和其文件要先找到属于他的文件:
    [root@local opt]#find / -user 用户名
    然后删除,再运行userdel删除用户。

    查看可用shell命令:
    [root@local opt]#chsh -l 
    修改自己的shell命令:
    [root@local opt]#chsh -s

    查看自己或某人UID/GID信息:
    [root@local opt]#id [用户名]
    返回信息中groups为有效用户组

    新增用户组命令:
    [root@local opt]#groupadd 用户组名

    修改用户组名命令:
    [root@local opt]#groupmod -n 名称

    删除用户组命令:
    [root@local opt]#groupdel 用户组名

    设置用户组密码命令:
    [root@local opt]#gpasswd 用户组名

    如果gpasswd加上参数则有其他功能

    设置用户组管理员命令:
    [root@local opt]#gpasswd -A 用户名 用户组名

    添加某帐号到组命令:
    [root@local opt]#gpasswd -M 用户名 用户组名

    从组中删除某帐号命令:
    [root@local opt]#gpasswd -d 用户名 用户组名

    passwd相关参数操作:
    -l 锁用户
    -u 解锁用户
    -n 天数  密码不可改天数
    -x 天数  密码过期天数
    -w 天数  警告天数

     文件权限知识

    先看个实例:
    [root@local opt]#ls -al
    ls -al 命令是列出目录的所有文件,包括隐藏文件。隐藏文件的文件名第一个字符为'.'
    -rw-r--r--  1 root root    81 08-02 14:54 gtkrc-1.2-gnome2
    -rw-------  1 root root   189 08-02 14:54 ICEauthority
    -rw-------  1 root root    35 08-05 10:02 .lesshst
    drwx------  3 root root  4096 08-02 14:54 .metacity
    drwxr-xr-x  3 root root  4096 08-02 14:54 nautilus

    列表的列定义如下:
    [权限属性信息] [连接数] [拥有者] [拥有者所属用户组] [大小] [最后修改时间] [文件名]

    权限属性列表为10个字符:
    第一个字符表示文件类型,d为目录 -为普通文件 l为连接 b为可存储的接口设备 c为键盘鼠标等输入设备
    2、3、4个字符表示所有者权限,5、6、7个字符表示所有者同组用户权限,8、9、10为其他用户权限
    第二个字符表示所有者读权限,如果有权限则为r,没有权限则为-
    第三个字符表示所有者写权限,如果有权限则为w,没有权限则为-
    第四个字符表示所有者执行权限,如果有权限则为x,没有权限则为-
    第五个字符表示所有者同组用户读权限,如果有权限则为r,没有权限则为-
    第六个字符表示所有者同组用户写权限,如果有权限则为w,没有权限则为-
    第七个字符表示所有者同组用户执行权限,如果有权限则为x,没有权限则为-
    第八个字符表示其他非同组读权限,如果有权限则为r,没有权限则为-
    第九个字符表示其他非同组写权限,如果有权限则为w,没有权限则为-
    第十个字符表示其他非同组执行权限,如果有权限则为x,没有权限则为-

    修改文件所属组命令:
    [root@local opt]#chgrp [-R] 组名 文件名
    其中-R为递归设置

    修改文件的所有者和组命令:
    [root@local opt]#chown [-R] 用户[:用户组] 文件名

    修改文件访问权限命令:
    [root@local opt]#chmod [-R] 0777 文件名

    至此,用户、文件和权限相关的东西,就总结个7788了,接下来的就是,平常要敢于用各种命令,勤于看看本篇总结啦。

  • 相关阅读:
    牛客IOI周赛17-提高组 卷积 生成函数 多项式求逆 数列通项公式
    6.3 省选模拟赛 Decompose 动态dp 树链剖分 set
    AtCoder Grand Contest 044 A Pay to Win 贪心
    5.29 省选模拟赛 树的染色 dp 最优性优化
    luogu P6097 子集卷积 FST FWT
    CF724C Ray Tracing 扩展欧几里得 平面展开
    5.30 省选模拟赛 方格操作 扫描线 特殊性质
    5.29 省选模拟赛 波波老师 SAM 线段树 单调队列 并查集
    Spring main方法中怎么调用Dao层和Service层的方法
    Bug -- WebService报错(两个类具有相同的 XML 类型名称 "{http://webService.com/}getPriceResponse"。请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。)
  • 原文地址:https://www.cnblogs.com/bugY/p/2640208.html
Copyright © 2020-2023  润新知