Linux用户、权限管理

Linux命令-用户、权限管理

用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。

在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。

Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有具有不受限制的访问权限。

在Unix/Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。

在大多数版本的Unix/Linux中,都不推荐直接使用root账号登录系统。

1>查看当前用户:whoami

whoami该命令用户查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。

由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理以使用whoami来查看当前用户的身份。

例如:

> whoami
2>查看登录用户:who

who命令用于查看当前所有登录系统的用户信息。

who命令用来打印当前登录用户信息,包含了系统的启动时间 、 活动进程 、 使用者 ID、使用终端等信息,是系统管理员了解系统运行状态的常用命令。

常用选项:

选项含义
-m或am I只显示运行who命令的用户名、登录终端和登录时间
-q或–count只显示用户的登录账号和登录用户的数量
-H或–heading显示列标题

例如:

> who
3>退出登录账户: exit

如果是图形界面,退出当前终端;

如果是使用ssh远程登录,退出登陆账户;

如果是切换后的登陆用户,退出则返回上一个登陆账号。

4>添加用户账号:useradd

在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。

useradd命令的使用格式如下: useradd [参数] 新建用户账号

参数含义
-d指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录
-m自动建立目录
-g指定组名称

相关说明:

  • Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
  • 每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
  • 用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
  • 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
命令含义
useradd -d /home/abc abc -m创建abc用户,如果/home/abc目录不存在,就自动创建这个目录,同时用户属于abc组
useradd -d /home/a a -g test -m创建一个用户名字叫a,主目录在/home/a,如果主目录不存在,就自动创建主目录,同时用户属于test组
cat /etc/passwd查看系统当前用户名

例如:

#添加一个python用户,并且创建其家目录
> sudo useradd python -m -d /home/python

sudo:管理员权限

5>设置用户密码:passwd

在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。

#给python用户设置密码
>sudo passwd python

创建一个用户名lili,家目录/home/lili ,给用户lili设置密码,使用lili来登录终端,然后在桌面创建一个hello.py的文件。然后切换到原始用户,此时查看当前用户,使用当前用户将lili用户创建的hello.py文件删除。

6>删除用户:userdel
命令含义
userdel abc(用户名)删除abc用户,但不会自动删除用户的主目录
userdel -r abc(用户名)删除用户,同时删除用户的主目录

例如:

#删除python用户以及其用户主目录
>userdel -r  python

#####7>切换用户:su

可以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:

注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性。

命令含义
su切换到root用户
su root切换到root用户
su -切换到root用户,同时切换目录到/root
su - root切换到root用户,同时切换目录到/root
su 普通用户切换到普通用户
su - 普通用户切换到普通用户,同时切换普通用户所在的目录

Ubuntu下切换到root的简单命令:

#切换到root用户
> sudo - root

若出现错误: user is not in the sudoers file. This incident will be reported.

解决方法:在sudoers文件中添加该用户

  1. sudoers默认是只读的, 对root也是只读, 切换到root用户下, 执行命令:chmod u+w /etc/sudoers

  2. 编辑sudoers文件, 执行:vim /etc/sudoers,

    进入后找到这行 root ALL=(ALL) ALL,

    在他下面添加 xxx ALL=(ALL) ALL (这里的xxx是你的用户名)

  3. 撤销sudoers文件写权限, 执行命令:
    chmod u-w /etc/sudoers

需求:

1.给root用户重置密码

sudo passwd root

2.登陆root用户,使用root用户创建一个新的用户newuser

su - root

3.给新的用户重置密码

passwd newuser

4.退出root用户 exit

5.使用新用户登录 su jack

6.将新用户删除 sudo userdel -r jack

#####8>查看有哪些用户组

>cat /etc/group
9>添加、删除组账号:groupadd、groupdel

groupadd 新建组账号 groupdel 组账号 cat /etc/group 查看用户组

#添加组号
>sudo groupadd hehe
>sudo groupdel hehe
10>修改用户所在组:usermod

使用方法:usermod -g 用户组 用户名

#将用户python2修改到python组
> sudo usermod -g python python2
#查看信息
>cat /etc/group 
11>查看用户在哪个组
#查看用户所在组
> groups lili
12>修改文件权限:chmod
Linux文件权限: r, w, x

drwxr-xr-x  2 jerry python1908 4096 11月  6 10:43 jerry/
文件权限: rwxr-xr-x
分三组: 
	第一组(文件所有者的权限):rwx 
	第二组(所属用户组的权限):r-x
	第三组(其他用户组的权限): r-x
权限:
	r(4),w(2),x(1)
	--- (000): 0
	--x (001): 1
	-w- (010): 2
	-wx (011): 3
	r-- (100): 4
	r-x (101): 5
	rw- (110): 6
	rwx (111): 7
	

chmod 修改文件权限有两种使用格式:字母法与数字法。

字母法:chmod u/g/o/a +/-/= rwx 文件

[ u/g/o/a ]含义
uuser 表示该文件的所有者
ggroup 表示与该文件的所有者属于同一组( group )者,即用户组
oother 表示其他以外的人
aall 表示这三者皆是
[ ±= ]含义
+增加权限
-撤销权限
=设定权限
rwx含义
rread 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
wwrite 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
xexcute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。

例如

> touch test.txt
>ls -lh
>chmod u+x test.txt
>ls -lh

如果需要同时进行设定拥有者、同组者以及其他人的权限,参考如下:

>chmod u=rw,g=x,o=r test.txt
>chmod u=,g=,o=  test.txt

数字法:“rwx” 这些权限也可以用数字来代替**

字母说明
r读取权限,数字代号为 “4”
w写入权限,数字代号为 “2”
x执行权限,数字代号为 “1”
-不具任何权限,数字代号为 “0”

如执行:chmod u=rwx,g=rx,o=r filename

chmod 751 file:

  • 文件所有者:读、写、执行权限
  • 同组用户:读、执行的权限
  • 其它用户:执行的权限
> chmod 777 test.txt

注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。 如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限

13> 修改文件所有者:chown
  • 格式: chown 用户[:用户组] 文件名
  • 例子: chown tom a.txt , 意思是把 a.txt 的所属用户改写成 tom用户
  • 例子: chown tom:tom a.txt , 意思是把 a.txt 的所属用户改写成 tom, 把所属组改写成 tom
  • 注意: 如果要修改一个目录下面所有的文件和文件的用户和用户组,需要加 -R
    • 例子: chown -R root:root aaa, 意思是 递归的 把 aaa目录下面所有文件 修改为 root 用户 和 root 组
> sudo chown python test.txt
14>修改文件所属组:chgrp
> sudo chgrp python test.txt
> chgrp root a.txt  #意思是把 a.txt 的 用户组 改写成 root
15>umask命令: 修改创建文件夹 和 文件 的默认权限
  • 格式

    • umask : 查看系统默认的权限数字, 这个值默认是 0022

      • 把 十进制 转换成 二进制

         0   2   2    -->转成二进制
        000 010 010   -->取二进制的相反数
        111 101 101   -->每一个组就代表一个角色, 组中每一个值代表一个权限,  1代表有权限,0代表没有权限 
        rwx r-x r-x   -->所以文件夹 默认的权限就是 755. 文件的权限 减1,就是644
        
    • umask 0002: 设置系统默认的权限

       0   0   2
      000 000 010
      111 111 101
      rwx rwx r-x   --> 文件夹的默认权限是 0775, 文件的权限是 0664
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值