Linux-命令-用户管理

1、sudo

  • 全名:super user do

  • 用途:以系统管理员的身份(即root)执行指令,第一次执行sudo命令后,在系统规定时间内再执行sudo命
    令,不用输入密码

  • 常用选项

    sudo [选项] <命令>
    
    • -l:显示当前用户的权限
    • -k:用户下一次执行sudo时,必须输入密码,无论是否在规定时间内
    • -u <user_name|UID>:指定该命令的执行者,不加默认为root用户执行
  • 已root权限执行上一条命令

sudo !!
  • 以特定用户身份进入文本编辑
sudo -u <user_name> vim <file>

2、useradd

  • 全名:user add

  • 用途:添加新用户,执行权限为root

  • 常用选项

    useradd [选项] <user_name>
    
    • -d <directory>:指定该用户的家目录
    • -g <group_name>:指定该用户所属的用户组
    • -G <group_name>:指定该用户所属的附加组
    • -u <group_name>:指定该用户的用户号,若同时有-o选项,可以和其它用户重复
  • 系统用户的信息存放在/etc/passwd

  • 如果不加任何选项,则按照系统默认信息创建用户,系统默认信息存放在/etc/default/useradd

    [root@172 home]# cat /etc/default/useradd
    # useradd defaults file
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
    
  • useradd和adduser的配置文件为/etc/login.defs,主要内容如下

    MAIL_DIR	/var/spool/mail		
    # 邮箱目录。修改或删除用户账户时需要处理邮箱,如果没有指定,将使用编译时指定的默认值。
    MAIL_FILE	.mail	    # 定义用户邮箱文件的位置(相对于主目录)。
    
    PASS_MAX_DAYS	99999
    #  一个密码可以使用的最大天数。如果密码比这旧,将会强迫更改密码。如果不指定,就假定为 -1,这会禁用这个限
    # 制。
    PASS_MIN_DAYS	0
    # 两次更改密码时间的最小间隔。将会拒绝任何早于此的更改密码的尝试。如果不指定,假定为 -1,将会禁用这个限
    # 制。
    PASS_MIN_LEN	5
    PASS_WARN_AGE	7
    # 密码过期之前给出警告的天数。0 表示只有只在过期的当天警告,负值表示不警告。如果没有指定,不会给警告。
    
    # 设置普通用户的UID和系统用户的UID取值范围
    UID_MIN                  1000
    UID_MAX                 60000
    SYS_UID_MIN               201
    SYS_UID_MAX               999
    
    # 同上,设置用户组的GID
    GID_MIN                  1000
    GID_MAX                 60000
    SYS_GID_MIN               201
    SYS_GID_MAX               999
    
    CREATE_HOME	yes				# 指示是否应该为新用户默认创建主目录。
    
    UMASK           077		# 设置该用户的umask值
    
    USERGROUPS_ENAB yes
    # 如果设置为 yes,如果组中没有成员了,userdel 将移除此用户组,useradd 创建用户时,也会创建一个同名的默
    # 认组。
    
    ENCRYPT_METHOD SHA512 	# 使用SHA512加密密码
    
  • 例子如下,当前系统已有用户组test1

[root@172 ~]# useradd -d /home/user1 -g test1 user1
[root@172 ~]# users
dream dream dream dream
[root@172 ~]# cat /etc/passwd | grep user1
user1:x:1001:1001::/home/user1:/bin/bash
[root@172 ~]# cd /home/
[root@172 home]# ls
dream  user1

3、adduser

  • 同useradd

4、userdel

  • 全名:delete user
  • 用途:删除用户账号和相关文件
  • 常用选项:-r,表示把用户的家目录和用户一起删除
[root@172 home]# ls
dream  user1  user2
[root@172 home]# userdel -r user2
[root@172 home]# ls
dream  user1

5、usermod

  • 全名:modify user
  • 用途:修改用户的信息
  • 常用选项:和useradd一样
usermod [选项] <user_name>

6、passwd

  • 全名:password

  • 用途:为用户设置密码

  • 常用选项

    passwd [选项] [user_name]
    
    • -l:锁定用户,即禁止用户
    • -u:解锁用户
    • -d:使用户密码为空
    • -f:强制用户下次登入时修改密码
  • root权限可为所有用户设置密码,且root权限下可任意设置密码

  • 普通用户只能设置自己的密码,且密码过于简单时系统不允许

  • 刚创建的新用户被系统锁定,无法使用,必须用passwd指定口令后才能使用

7、groupadd

  • 全名:add group

  • 用途:增加一个新的用户组,方便Linux管理员管理用户

  • 常用选项

    groupadd [选项] <group_name>
    
    • -g <GID>:指定新用户组的组标示号
    • -o:表示新用户组的GID可以和已有的用户组的GID一样
  • 例子:添加用户组test1

[root@172 ~]# groupadd test1
  • 用户组的信息存放在/etc/group
[root@172 home]# cat /etc/group | grep test1
test1:x:1001:

8、groupdel

  • 全名:delete group
  • 用途:删除一个用户组
  • 常用选项
groupdel <group_name> 

9、groupmod

  • 全名:modify group

  • 用途:类似于usermod,修改用户组的信息

  • 常用选项

    groupmod [选项] <group_name>
    
    • -g-o选项作用与groupadd相同
    • -n <new_group_name>:为用户组起一个新名字

10、chown

  • 全名:change owner

  • 用途:改变文件或目录的所有者,需要有root权限

  • 常用选项

    chown <user_name> <文件或目录>
    
  • 例子:

[root@172 home]# mkdir user1_pub
[root@172 home]# ls -ld user1_pub
drwxr-xr-x 2 root root 6 2月  13 02:20 user1_pub			# 此时目录的所有者为root
[root@172 home]# chown user1 user1_pub
[root@172 home]# ls -ld user1_pub
drwxr-xr-x 2 user1 root 6 2月  13 02:20 user1_pub		# 现在目录的所有者为user1

11、chgrp

  • 全名:change group

  • 用途:改变文件或目录的所属组,root和(文件或目录的)所有者均可以更改所属组

  • 常用选项

    chgrp <group_name> <文件或目录>
    
  • 例子:

[root@172 home]# ls -ld user1_pub
drwxr-xr-x 2 user1 root 6 2月  13 02:20 user1_pub
[root@172 home]# chgrp test1 user1_pub
[root@172 home]# ls -ld user1_pub
drwxr-xr-x 2 user1 test1 6 2月  13 02:20 user1_pub

12、chmod

  • 全名:change mode

  • 用途:改变目录或文件权限

  • Linux系统下文件或目录的权限解释

    • 一个文件或目录有三个与用户相关的信息
      • 所有者:创建该文件或目录的用户的权限
      • 所属组:文件所属用户组的权限
      • 其它:所有者和所属组以外的用户的权限
    • 文件或目录的权限:r(读)w(写)x(执行)
      • 对于文件
        • r:可以查看文件内容, cat/more/less/head/tail
        • w:可以修改文件内容, vim
        • x:可以执行文件, script/command
      • 对于目录
        • r:可以列出目录内容, ls
        • w:可以在目录中创建/删除文件或目录, touch/rm/mkdir/rmdir
        • x:可以进入目录, cd
  • 常用选项:-R,表示修改目录权限时,递归修改目录下所有文件权限,否则只修改目录权限

chmod <权限值> <file>
# 权限值:权限有rwx,用一个3位二进制数来表示它,如111表示有rwx权限,101表示有r-x权限,将二进制转换为十进制
#        如755表示:所有者的权限为111,即rwx;所属组权限为101,即r-x;其他用户权限也为101
  • 注意:

    • chmod除了使用权限值修改权限以外,还有其它方法,但我认为都不如这个简单
    • 一定不要给目录或文件777权限,这样很不安全
  • 例子

[root@172 home]# ls -ld user1_pub
drwxr-xr-- 2 user1 test1 6 2月  13 02:20 user1_pub
[root@172 home]# chmod -R 755 user1_pub/
[root@172 home]# ls -ld user1_pub
drwxr-xr-x 2 user1 test1 6 2月  13 02:20 user1_pub

13、umask

  • 全名:user mask

  • 用途:显示或改变文件或目录默认权限

  • 常用选项

    umask [选项] [new_umask]
    
    • -S:显示默认权限,不加该选项以数字形式(即umask值)显示
  • umask值的解释:

    • umask确定文件权限,用默认最大权限与umask相减,得到的结果即为文件权限
    • 例如:umask为022,文件默认最大权限为666,相减后为644,即该文件权限为644(rw-r–r--)
  • 例子:下面umaks=0022中第一个0为特殊值,不管,即该用户的umask值为022

[root@172 home]# umask -S
u=rwx,g=rx,o=rx
[root@172 home]# umask 
0022
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值