Linux学习笔记10 权限,/etc/passwd,/etc/shadow,useradd,userdel,id,finger

1.文件权限

linux文件的三种身份:

  • 拥有者
  • 群主
  • 其他人

文件三种权限:
r:读取权限,数字代号为”4”。
w:写入权限,数字代号为”2”。
x:执行或切换权限,数字代号为”1”

0 000 —: 无权限
1 001 –x: 执行
2 010 -w-: 写
3 011 -wx: 写和执行
4 100 r–: 只读
5 101 r-x: 读和执行
6 110 rw-: 读写
7 111 rwx: 读写执行

权限对文件的重要性:

  • r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
[qkong@localhost ~]$ cat demo.sh
demo
## 删除demo.sh的r权限
[qkong@localhost ~]$ chmod 300 demo.sh
[qkong@localhost ~]$ ls -l demo.sh
--wx------. 1 qkong qkong 5 Feb 16 06:05 demo.sh
## 没有权限查看文件内容
[qkong@localhost ~]$ cat demo.sh
cat: demo.sh: Permission denied
  • w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
[qkong@localhost ~]$ echo "append" >> demo.sh
## 删除demo.sh的w权限
[qkong@localhost ~]$ chmod 500 demo.sh
[qkong@localhost ~]$ ls -l demo.sh
-r-x------. 1 qkong qkong 12 Feb 16 06:07 demo.sh
[qkong@localhost ~]$ echo "append" >>demo.sh
-bash: demo.sh: Permission denied
## 可以删除文件
[qkong@localhost ~]$ rm demo.sh
[qkong@localhost ~]$ ls -l demo.sh
ls: cannot access demo.sh: No such file or directory
  • x (execute):该文件具有可以被系统执行的权限。
[qkong@localhost ~]$ echo "echo demo" > demo.sh
[qkong@localhost ~]$ chmod 500 demo.sh
[qkong@localhost ~]$ ls -l demo.sh
-r-x------. 1 qkong qkong 10 Feb 16 06:12 demo.sh
[qkong@localhost ~]$ ./demo.sh
demo
[qkong@localhost ~]$ chmod 600 demo.sh
[qkong@localhost ~]$ ls -l demo.sh
-rw-------. 1 qkong qkong 10 Feb 16 06:09 demo.sh
[qkong@localhost ~]$ ./demo.sh
-bash: ./demo.sh: Permission denied

权限对目录的重要性:

  • r (read contents in directory):读取目录列表 查看目录下的文件名数据 可以使用ls将目录内容列表显示处理
[qkong@localhost ~]$ chmod 400 Desktop/
[qkong@localhost ~]$ ls -ld Desktop/
dr--------. 2 qkong qkong 4096 Feb 16 06:22 Desktop/
[qkong@localhost ~]$ ls Desktop/
ls: cannot access Desktop/demo.sh: Permission denied
ls: cannot access Desktop/demo: Permission denied
ls: cannot access Desktop/demo1: Permission denied
demo  demo1  demo.sh
## 无法查看文件的元数据
[qkong@localhost ~]$ ls -l Desktop/
ls: cannot access Desktop/demo.sh: Permission denied
ls: cannot access Desktop/demo: Permission denied
ls: cannot access Desktop/demo1: Permission denied
total 0
-????????? ? ? ? ?            ? demo
-????????? ? ? ? ?            ? demo1
-????????? ? ? ? ?            ? demo.sh
  • w (modify contents of directory):
    • 建立新的文件与目录;
    • 删除已经存在的文件与目录(不论该文件的权限为何!)
    • 将已存在的文件或目录进行更名;
    • 搬移该目录内的文件、目录位置。
[qkong@localhost ~]$ chmod 500 Desktop/
[qkong@localhost ~]$ ls -ld Desktop/
dr-x------. 2 qkong qkong 4096 Feb 16 06:22 Desktop/
## 没有w权限无法创建新文件
[qkong@localhost ~]$ touch Desktop/lalala
touch: cannot touch `Desktop/lalala': Permission denied
## 加入w权限
[qkong@localhost ~]$ chmod 700 Desktop/
[qkong@localhost ~]$ ls -ld Desktop/
drwx------. 2 qkong qkong 4096 Feb 16 06:28 Desktop/
## 创建新文件成功
[qkong@localhost ~]$ touch Desktop/lalala
  • x (access directory):
    将当前目录变为工作目录的权限 cd进入该目录
    ls -l 查看内部文件的详细信息
[qkong@localhost ~]$ chmod 600 Desktop/
## 此时Desktop目录没有x权限
[qkong@localhost ~]$ ls -ld Desktop/
drw-------. 2 qkong qkong 4096 Feb 16 06:28 Desktop/
## 只能查看文件列表 不能查看具体文件元数据
[qkong@localhost ~]$ ls -l Desktop/
ls: cannot access Desktop/demo.sh: Permission denied
ls: cannot access Desktop/lalala: Permission denied
ls: cannot access Desktop/demo: Permission denied
ls: cannot access Desktop/demo1: Permission denied
total 0
-????????? ? ? ? ?            ? demo
-????????? ? ? ? ?            ? demo1
-????????? ? ? ? ?            ? demo.sh
-????????? ? ? ? ?            ? lalala
## 加入Desktop的x权限
[qkong@localhost ~]$ chmod 700 Desktop/
[qkong@localhost ~]$ ls -ld Desktop/
drwx------. 2 qkong qkong 4096 Feb 16 06:28 Desktop/
[qkong@localhost ~]$ ls -la Desktop/
total 12
drwx------.  2 qkong qkong 4096 Feb 16 06:28 .
drwx------. 26 qkong qkong 4096 Feb 16 06:22 ..
-rw-r--r--.  1 root  root     0 Feb 14 16:07 demo
-rw-r--r--.  1 root  root     0 Feb 14 15:33 demo1
-r-x------.  1 qkong qkong   10 Feb 16 06:12 demo.sh
-rw-rw-r--.  1 qkong qkong    0 Feb 16 06:28 lalala

用户: UID, /etc/passwd
组: GID, /etc/group
影子口令
用户: /etc/shadow
组: /etc/gshadow

用户类别:

  • 管理员: id为0
  • 普通用户:id范围:1-65535
    • 系统用户: 1-499
    • 一般用户: 500-60000

用户组类别:

  • 管理员组
  • 普通租:
    • 系统组:
    • 一般组:

用户组类别

  • 私有组:
    创建用户时没有指定用户所属的组,系统会自动为其创建一个与用户名同名的组
  • 基本组: 用户的默认组
  • 附加组,额外组: 默认组意外的其他组

/etc/passwd文件格式: man 5 passwd

qkong:x:500:500:qkong:/home/qkong:/bin/bash
account: 登录名 不应该包含大写字母
passwd: 加密密码 通常是*或者x 具体密码在/etc/shadow中
UID: 用户id
GID: 用户组id
GECOS: General Electric Comprehensive Operating System 用户的详细信息(如姓名,年龄,电话等)
directory: 用户家目录 $HOME
shell: 登录默认使用的shell

/etc/shadow文件格式: man 5 shadow

login name: 登录名
encrypted password: 加密密码
date of last password change: 最近一次密码修改时间
minimum password age: 最短密码期限(按天计算,0 = 无最短期限)
maximum password age: 最长密码期限(按天计算)
password warning period: 密码警告期限(按天计算,0 = 未指定警告)
password inactivity period: 密码非活动期限(按天计算)登录后需要修改面
account expiration date: 账号到期时间(从1970-1-1开始)
reserved field: 保留域

这里写图片描述

/etc/group文件格式:

root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon

group_name: 组名
password: 密码
GID: 组id
user_list: 以此组为附加组的用户列表

2.常用命令汇总

用户管理

useradd, userdel, usermod, passwd, chsh, chfn, finger, id, change

组管理

groupadd, groupdel, groupmod, gpasswd

权限管理

chown, chgrp, chmod, umask

3.系统中可用的shell列表

[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

4.useradd 添加用户

useradd USERNAME

选项

  • -u UID: 指定UID(其他用户尚未使用)
  • -g GID: 基本组
  • -G GID,...: 附加组
  • `-c “COMMENT”: 指定注释信息
  • -d /path/to/somedirectory: 家目录
  • -s: 指定shell的路径
  • -m --create-home:
  • -r: 添加系统用户 系统用户默认没有家目录 不能登录系统
    /etc/default/useradd添加用户的规则
[root@localhost user2]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

其中SKEL=/etc/skel规定了创建家目录时初始的文件

[root@localhost user2]# ls -la /home/user2
total 28
drwx------. 4 user2 mygroup 4096 Feb 16 18:05 .
drwxr-xr-x. 9 root  root    4096 Feb 16 18:27 ..
-rw-r--r--. 1 user2 mygroup   18 May 11  2016 .bash_logout
-rw-r--r--. 1 user2 mygroup  176 May 11  2016 .bash_profile
-rw-r--r--. 1 user2 mygroup  124 May 11  2016 .bashrc
drwxr-xr-x. 2 user2 mygroup 4096 Nov 12  2010 .gnome2
drwxr-xr-x. 4 user2 mygroup 4096 May 22  2016 .mozilla
[root@localhost user2]# ls -la /etc/skel/
total 36
drwxr-xr-x.   4 root root  4096 May 22  2016 .
drwxr-xr-x. 130 root root 12288 Feb 16 18:27 ..
-rw-r--r--.   1 root root    18 May 11  2016 .bash_logout
-rw-r--r--.   1 root root   176 May 11  2016 .bash_profile
-rw-r--r--.   1 root root   124 May 11  2016 .bashrc
drwxr-xr-x.   2 root root  4096 Nov 12  2010 .gnome2
drwxr-xr-x.   4 root root  4096 May 22  2016 .mozilla
  • -M --no-create-home: 不创建家目录

例子

新增tom用户 默认/etc/shadow中无密码用!!表示

[root@localhost ~]# useradd tom
[root@localhost ~]# tail -1 /etc/passwd
tom:x:502:502::/home/tom:/bin/bash
[root@localhost ~]# tail -1 /etc/shadow
tom:!!:17213:0:99999:7:::
[root@localhost ~]# tail -1 /etc/group
tom:x:502:

新建一个组:

[root@localhost tom]# groupadd mygroup
[root@localhost tom]# tail -1 /etc/group
mygroup:x:503:

新建一个以mygroup为基本组的用户user2:

# 组不存在 报错
[root@localhost tom]# useradd -g lalala user2
useradd: group 'lalala' does not exist
[root@localhost tom]# useradd -g mygroup user2
# 组id和mygroupid相同
[root@localhost tom]# tail -1 /etc/passwd
user2:x:503:503::/home/user2:/bin/bash

新建一个以mygroup为附加组的用户user3

[root@localhost tom]# useradd -G mygroup user3
# user3创建后 系统自动创建user3同名的私有组 并将user3加入到附加组mygroup中
[root@localhost tom]# tail -1 /etc/passwd
user3:x:504:504::/home/user3:/bin/bash
[root@localhost tom]# tail /etc/group
wireshark:x:491:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
slocate:x:21:
tcpdump:x:72:
qkong:x:500:
tom:x:502:
mygroup:x:503:user3
user3:x:504:

新增一个指定家目录地址和说明的用户user4

[root@localhost tom]# useradd -c "this user is kairis" -d /home/kairis user4
[root@localhost tom]# tail -1 /etc/passwd
user4:x:505:505:this user is kairis:/home/kairis:/bin/bash
[root@localhost tom]# ls -ld /home/kairis
drwx------. 4 user4 user4 4096 Feb 16 18:22 /home/kairis

创建一个不能登录的用户user5:

[root@localhost tom]# useradd -s /sbin/nologin user5
[root@localhost tom]# su - user5
This account is currently not available.

创建一个指定shell的用户user6:

[root@localhost tom]# useradd -s /bin/tcsh user6
[root@localhost tom]# tail -1 /etc/passwd
user6:x:507:507::/home/user6:/bin/tcsh

创建一个用户user7,不指定其家目录

[root@localhost user2]# useradd -M user7
## 用户家目录不存在
[root@localhost user2]# su - user7
su: warning: cannot change directory to /home/user7: No such file or directory

5.userdel 删除用户

userdel [option] USERNAME
不指定任何参数删除用户,该用户家目录不会被删除

选项

  • -r: 同时删除用户的家目录

例子

[root@localhost home]# userdel user1
# user1的家目录还在
[root@localhost home]# ls
kairis  qkong  tom  user1  user2  user3  user5  user6
[root@localhost home]# userdel -r user2
# user2家目录已经同时被删除
[root@localhost home]# ls /home
kairis  qkong  tom  user1  user3  user5  user6

6.id 用户帐号信息

id [option] USERNAME
不指定USERNAME查看当前用户的帐号信息

选项

  • -u: 用户id
  • -g: 基本组id
  • -G: 所有组(基本组和附加组)id
  • -n --name: 显示选项名字

例子

[root@localhost ~]# tail  /etc/passwd
...
user3:x:504:504::/home/user3:/bin/bash
...
[root@localhost ~]# id -u user3
504
[root@localhost ~]# id -g user3
504
[root@localhost ~]# id -G user3
504 503
[root@localhost ~]# id -un user3
user3
[root@localhost ~]# id -gn user3
user3
[root@localhost ~]# id -Gn user3
user3 mygroup

7.finger 查看用户帐号信息

finger USERNAME

例子

[root@localhost ~]# finger user3
Login: user3                    Name:
Directory: /home/user3                  Shell: /bin/bash
Never logged in.
No mail.
No Plan.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值