加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux 用户和文件权限管理

发布时间:2022-10-17 12:35:03 所属栏目:Linux 来源:
导读:  储存用户和组的文件

  用户:UID /etc/passwd

  组 :GID /etc/group

  Linux中,在储存用户和组信息的文件,不会直接将用户或组密码储存在其中,而是

  在其他文件中储存,但并不是直接
  储存用户和组的文件
 
  用户:UID /etc/passwd
 
  组 :GID /etc/group
 
  Linux中,在储存用户和组信息的文件,不会直接将用户或组密码储存在其中,而是
 
  在其他文件中储存,但并不是直接以密码保存,而是保存加密后的文件,影子口令
 
  用户:/etc/shadow
 
  组 :/etc/gshadow
 
  储存用户信息的文件:/etc/passwd
 
  linlin@ubuntu:~/linlin$ tail -3 /etc/passwd
 
  linlin:x:1000:1000:linlin's ubunto,,,:/home/linlin:/bin/bash
 
  mysql:x:121:129:MySQL Server,,,:/nonexistent:/bin/false
 
  wangml:x:1002:1002:wangml:/home/wangml:/bin/bash
 
  通过上面示例可以看到,在/etc/passwd文件中,每个用户信息作为一行,而每一行分
 
  为7段,用 :分隔,分别表示:
 
  用户名 :密码占位符 :UID :用户私有组(基本组)GID :注释 :用户家目录 :默认shell
 
  储存组信息文件:/etc/group
 
  linlin@ubuntu:~/linlin$ tail -3 /etc/group
 
  mysql:x:129:
 
  xiaolinlin:x:1001:wangml
 
  wangml:x:1002:
 
  表示为 组名 :密码占位符 :GID :
 
  UID:根据用户类别分类
 
  管理员ID号永远为0
 
  普通用户ID号1~65535,16位表示用户
 
  系统用户ID号1~499
 
  一般用户ID号500开始
 
  在/etc/passwd文件中,添加一般用户时,用户ID一般为该文件中最大的一般用户ID+1
 
  用户组:
 
  基本组,私有组:本组只有该用户自己,用户创建文件后,该文件的默认组为该用户的基本组
 
  附加组,额外组:基本组以外的其他组
 
  在创建一个用户时,如果未指定用户私有组和家目录时,系统默认会为该用户创建一个以该用户名为
 
  组名的组,作为该用户的私有组组GID一般与用户UID相同。且会在/home目录下为该用户创建一个与
 
  该用户同名的目录作为该用户的家目录。
 
  对于系统用户来说,没有默认shelllinux权限,即系统用户不允许登陆
 
  储存密码信息文件:/etc/shadow
 
  mysql:!:17301:0:99999:7:::
 
  wangml:!!:17303:0:99999:7:::
 
  用户名 :加密后的密码 :最后一次密码修改时间 :密码最短使用时间 :用户过期时间 :修改密码警告时间 :;:
 
  可以使用 man shadow 命令查看具体信息
 
  只有管理员root可以查看/etc/shadow文件
 
  root@ubuntu:/home/linlin/linlin# ls -l /etc/shadow
 
  -rw-r----- 1 root shadow 1336 Jun 4 02:52 /etc/shadow
 
  通过以上内容可以知道,没添加一个用户,就是在 /etc/passwd /etc/shadow /etc/group 这三个文件中各加
 
  入一行信息,所以,我们可以直接通过修改这是三个文件来添加用户,而不需要使用命令
 
  用户管理:
 
  添加用户:useradd 用户名,有事也可以使用 adduser,adduser是一个软链接
 
  -u:手动指定UID
 
  -g:指定基本组GID
 
  -G:指定额外组,附加组
 
  -c:指定注释信息
 
  -d:指定某个目录为家目录
 
  -s:指定用户默认shell
 
  在/etc/shells下指定了当前系统下的可用的安全shell
 
  -m -k:给用户强制创建家目录,并将/etc/skel下的文件复制到家目录下
 
  -M:不给用户创建家目录
 
  -r:添加系统用户
 
  删除用户:userdel 选项 用户名
 
  默认在删除用户时不会删除用户家目录
 
  -r:删除用户的同事删除用户家目录
 
  查看用户账号的基本信息:id
 
  linlin@ubuntu:~/linlin$ id
 
  uid=1000(linlin) gid=1000(linlin) groups=1000(linlin),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
 
  检索用户信息:finger 用户名
 
  linlin@ubuntu:~/linlin$ finger linlin
 
  Login: linlin Name: linlin's ubunto
 
  Directory: /home/linlin Shell: /bin/bash
 
  On since Thu May 18 01:32 (PDT) on tty7 from :0
 
  18 days 20 hours idle
 
  No mail.
 
  No Plan.
 
  修改用户账号信息:usermod 选项 内容 用户名
 
  -u:修改UID
 
  -g:修改基本组
 
  -G:修改附加组,如果此前用户已有附加组,则使用-G后,该附加组会被覆盖,如果需要添加
 
  附加组,则使用 -G -a
 
  -c:修改注释
 
  -d:指定新家目录,一般与-m一起使用,表示在创建新家目录的同时,将原来家目录下的内容
 
  复制到新的家目录中
 
  -e:指定用户过期时间
 
  -L:锁定账号
 
  -U:解锁账号
 
  chsh:修改用户默认shell
 
  chfn:修改用户注释信息
 
  修改用户密码:passwd 用户名
 
  --stdin:从标准输入读取
 
  -l:锁定用户账号
 
  -u:解锁
 
  -d:删除用户密码
 
  Linux中,禁止空密码用户登录
 
  pwck:检查用户账号完整性
 
  组管理:
 
  创建组:groupadd
 
  -g:指定GID
 
  -r:添加系统组
 
  删除组:groupdel
 
  修改组属性:groupmod
 
  -g:修改 GID
 
  -n:修改组名
 
  gpasswd:为组设定密码
 
  newgrp:登录到一个新组,exit退出
 
  改变用密码过期时间:chage
 
  -d:最近一次的修改时间
 
  -E:过期时间
 
  -r:非活动时间
 
  -m:最短使用期限
 
  -M:最长使用期限
 
  -W:警告时间
 
  改变文件属主:chown 用户名 files
 
  只有管理员才可以改变文件属主
 
  -R:修改目录文件属性时将目录内的文件一起修改
 
  --reference=文件1 文件2... :将文件2...的属主、属组修改为与文件1相同
 
  修改文件属组:chgrp
 
  只有管理员才可以使用,使用方法和chown一样、
 
  使用chown 用户名:组名 文件 或 chown 用户名.组名 文件 可以同时修改文件的属主属组
 
  chown 组名 文件:只改属组
 
  修改文件权限:chmod MODE 文件
 
  -R:递归修改
 
  --reference=文件1 文件2... :将文件2...将文件2...的属性修改为与文件1相同
 
  root@ubuntu:/home/linlin/linlin/test# ls -l file
 
  -rw-rw-r-- 1 linlin linlin 0 Jun 5 02:29 file
 
  root@ubuntu:/home/linlin/linlin/test# chmod 600 file
 
  root@ubuntu:/home/linlin/linlin/test# ls -l file
 
  -rw------- 1 linlin linlin 0 Jun 5 02:29 file
 
  修改某类用户权限时:chmod 用户类别(u g o a) +(-) MODE,a表示所有用户,可以省略
 
  root@ubuntu:/home/linlin/linlin/test# ls -l file
 
  -rw------- 1 linlin linlin 0 Jun 5 02:29 file
 
  root@ubuntu:/home/linlin/linlin/test# chmod g+r file
 
  root@ubuntu:/home/linlin/linlin/test# ls -l file
 
  -rw-r----- 1 linlin linlin 0 Jun 5 02:29 file
 
  我们都知道,在创建一个文件后,系统会默认给文件赋予权限,那么,默认权限是由什么决定的?
 
  umask:遮罩码,不加参数时表示查看系统默认遮罩码,加八进制位表示修改遮罩码
 
  root@ubuntu:/home/linlin/linlin/test# umask
 
  0044
 
  root@ubuntu:/home/linlin/linlin/test# umask 0022
 
  root@ubuntu:/home/linlin/linlin/test# umask
 
  0022
 
  创建文件后默认权限 666-umask
 
  创建目录后默认权限 777-umask
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!