Linux常用命令-(用户和权限管理)

1、用户和用户组
用户和用户组是通过ID来唯一标识的,root的默认ID为0
#可以使用id命令查看用户的id信息
[root@zy ~]# id zy
uid=1000(zy) gid=1000(zy) groups=1000(zy)
  • 用户

超级管理员:0
系统账号ID范围:1~999 当一个程序在运行的时候,需要指定用户身份以便对资源进行分配
普通用户账号ID范围:1000+
Linux可以将一个或者多个用户加入用户组中,用户组通过GID来唯一标识
管理员组:0
系统组:1~999
普通组:100+
2、useradd的常见用法
用法:useradd [选项] 登录名
      useradd -D
      
-d, --home-dir HOME_DIR       设置用户的家目录地址,默认为/home/username
-m, --create-home             创建用户的家目录
-M, --no-create-home          不创建用户的家目录
-g, --gid GROUP               新账户主组的名称或 ID
-G, --groups GROUPS           新账户的附加组列表
-r, --system                  创建一个系统账户
-u, --uid UID                 新账户的用户 ID
-s, --shell SHELL             新账户的登录 shell
-c, --comment COMMENT         新账户的 GECOS 字段 
​
#常见格式
[root@Rocky9 home]$ id ygnahz
id: “ygnahz”:无此用户
[root@Rocky9 home]$ useradd -u 1002 -c "ygnahz is test user" -m -d /home/y1 ygnahz 
[root@Rocky9 home]$ id ygnahz
用户id=1002(ygnahz) 组id=1002(ygnahz) 组=1002(ygnahz)
​
#使用getent passwd 可以查看用户的配置信息
[root@Rocky9 home]$ getent passwd ygnahz
ygnahz:x:1002:1002:ygnahz is test user:/home/y1:/bin/bash
​
#由于Ubuntu中/etc/default/useradd 中默认的shell类型为sh类型,所以可以使用-s 修改类型为bash
[zy@ubuntu ~]$ cat /etc/default/useradd | grep -i "^shell"
SHELL=/bin/sh
​
root@ubuntu:~# useradd -r -u 666 -s /bin/bash ygnahz
root@ubuntu:~# id ygnahz
uid=666(ygnahz) gid=666(ygnahz) groups=666(ygnahz)
root@ubuntu:~# getent passwd ygnahz
ygnahz:x:666:666::/home/ygnahz:/bin/bash

#创建用户的时候,由于/etc/skel的存在默认会在家目录创建很多隐藏文件
[root@Rocky9 y1]$ ls -a
.  ..  .bash_logout  .bash_profile  .bashrc
[root@Rocky9 y1]$ ls -a /etc/skel/
.  ..  .bash_logout  .bash_profile  .bashrc
如果我们修改/etc/skel文件中的内容,那么新创建的用户家目录中的默认文件也会修改

3、usermod的常见用法
用法:usermod [选项] 登录名
-d, --home-dir HOME_DIR       设置用户的家目录地址,默认为/home/username
-m, --create-home             创建用户的家目录
-M, --no-create-home          不创建用户的家目录
-g, --gid GROUP               新账户主组的名称或 ID
-G, --groups GROUPS           新账户的附加组列表 注意使用-G修改附加组的时候,可以配合-a达到追加的效果
-r, --system                  创建一个系统账户
-u, --uid UID                 新账户的用户 ID
-s, --shell SHELL             新账户的登录 shell
-c, --comment COMMENT         新账户的 GECOS 字段 
-l, --login NEW_LOGIN         修改用户的名字
4、userdel的常见用法
用法:userdel [选项] 登录名
选项:
-r, --remove                  删除主目录和信件池
​
#默认删除不会删除掉用户的家目录,如果下个用户与被删除的用户有相同的uid,那么原文件被继承,可以使用-r删除其家目录
[root@Rocky9 home]$ ll
总用量 0
drwx------. 2 ygnahz ygnahz 62 10月  1 16:09 y1
drwx------. 2 zy     zy     83  9月 27 00:53 zy
[root@Rocky9 home]$ userdel ygnahz
[root@Rocky9 home]$ ll
总用量 0
drwx------. 2 1002 1002 62 10月  1 16:09 y1
drwx------. 2 zy   zy   83  9月 27 00:53 zy
​
[root@Rocky9 home]$ useradd -u 1002 y2
[root@Rocky9 home]$ ll
总用量 0
drwx------. 2 y2 y2 62 10月  1 16:09 y1
drwx------. 2 y2 y2 62 10月  1 16:21 y2
drwx------. 2 zy zy 83  9月 27 00:53 zy
5、groupadd的常见用法
用法:groupadd [选项] 组  
-g, --gid GID                 为新组使用 GID
6、groupdel的常见用法
用法:groupdel [选项] 组
选项:
-f, --force                   即便是用户的主组也继续删除
7、passwd的常见用法
用法: passwd [选项...] <帐号名称>
--stdin                 从标准输入读取密码 注:Ubuntu无此功能
-x, --maximum=DAYS      密码的最长有效时限(只有 root 用户才能进行此操作)
-n, --minimum=DAYS      密码的最短有效时限(只有 root 用户才能进行此操作)
-w, --warning=DAYS      在密码过期前多少天开始提醒用户(只有 root 用户才能进行此操作)
-i, --inactive=DAYS     当密码过期后经过多少天该帐号会被禁用(只有 root 用户才能进行此操作)
​
#案例
[root@Rocky9 home]$ echo "123456" | passwd --stdin zy
更改用户 zy 的密码 。
passwd:所有的身份验证令牌已经成功更新。
#结合之前的tr实现生成随机密码
[root@Rocky9 home]$ cat /dev/urandom | tr -dc "[:alnum:]" | head -c 10
2S0g87YK3O
[root@Rocky9 home]$ echo $(ccat /dev/urandom | tr -dc "[:alnum:]" | head -c 10) | passwd --stdin
8、文件权限

  • 文件

r: 可使用文件查看类工具,比如:cat,可以获取其内容
w: 可修改其内容,文件是否被删除和文件的权限无关
x: 可以执行(运行)此文件(此文件的内容必须是可执行)
  • 目录

r:可以查看到目录中的列表,但是无法看见元数据信息也不能查看文件的内容
w:可以在目录中创建和删除内容
x:可以cd进入此目录,也可以查看到执行文件的元数据信息,属于目录可访问的最小权限
X:分配给目录的时候具有x权限,分配给文件则无x权限

10、chown的常见用法
用法:chown [选项]... [所有者][:[组]] 文件...
 或:chown [选项]... --reference=参考文件 文件...
修改每个<文件>的所有者和/或所属组为给定的<所有者>和/或<组>
-R  递归修改
​
[root@Rocky9 y1]$ chown zy:zy a.txt
[root@Rocky9 y1]$ ll
总用量 0
-rw-r--r--. 1 zy zy 0 10月  1 16:49 a.txt
#递归修改用户权限
[root@Rocky9 y1]$ ll -d  a a/b a/b/c  
drwxr-xr-x. 3 root root 15 10月  1 16:51 a
drwxr-xr-x. 3 root root 15 10月  1 16:51 a/b
drwxr-xr-x. 3 root root 15 10月  1 16:51 a/b/c
[root@Rocky9 y1]$ chown -R zy:root a
[root@Rocky9 y1]$ ll -d  a a/b a/b/c  
drwxr-xr-x. 3 zy root 15 10月  1 16:51 a
drwxr-xr-x. 3 zy root 15 10月  1 16:51 a/b
drwxr-xr-x. 3 zy root 15 10月  1 16:51 a/b/c
11、chmod的常见用法
用法:chmod [选项]... 模式[,模式]... 文件...
 或:chmod [选项]... 八进制模式 文件...
 或:chmod [选项]... --reference=参考文件 文件...
将每个文件的权限模式变更至指定模式。
-R, --recursive        递归修改文件和目录
每个模式字符串都应该匹配如下格式:"[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+"。
​
#模式法 a g o 分别代表用户、组、其它
[root@Rocky9 y1]$ chmod a=rwx a.txt
[root@Rocky9 y1]$ ll a.txt
-rwxrwxrwx. 1 zy zy 0 10月  1 16:49 a.txt
#数字发 r w x 分别用4 2 1表示
[root@Rocky9 y1]$ ll a.txt
-rwxrwxrwx. 1 zy zy 0 10月  1 16:49 a.txt
[root@Rocky9 y1]$ chmod 444 a.txt
[root@Rocky9 y1]$ ll a.txt
-r--r--r--. 1 zy zy 0 10月  1 16:49 a.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值