关于user的操作

创建目录/tech/cali和/tech/sanle,分别用于保存个项目组中用户帐号的宿主目录;

为两个项目组添加组帐号cali、sanle,GID号分别为10001、10002;为技术部添加组帐号tech,GID号为2000;

添加2个用户,分别为b1、b2,要求他们的基本组是cali,附加组是tech,宿主目录均使用/tech/cali目录中与帐号同名的文件夹(例如b1用户的宿主目录/tech/cali/b1) 添加2个用户,分别为a1、a2,要求他们的基本组是sanle,附加组是tech;

宿主目录均使用/tech/sanle目录中与帐号同名的文件夹(例如a1用户的宿主目录/tech/cali/a1) ;其中a2用户帐号登录的shell为/bin/sh 所有新建用户密码都是123456;

为了实现这个需求,我们需要按照以下步骤操作:

  1. 创建目录。
  2. 创建组帐号。
  3. 添加用户,并设置其宿主目录、基本组和附加组。
  4. 设置用户密码。

1. 创建目录

mkdir -p /tech/cali /tech/sanle

2. 创建组帐号

groupadd -g 10001 cali 
groupadd -g 10002 sanle 
groupadd -g 2000 tech

3. 添加用户

对于用户 b1 和 b2:

useradd -m -d /tech/cali/b1 -g cali -G tech b1 
useradd -m -d /tech/cali/b2 -g cali -G tech b2

对于用户 a1 和 a2:

useradd -m -d /tech/sanle/a1 -g sanle -G tech a1 
useradd -m -d /tech/sanle/a2 -g sanle -G tech -s /bin/sh a2

4. 设置用户密码


	echo "123456" | passwd --stdin b1 

	echo "123456" | passwd --stdin b2 

	echo "123456" | passwd --stdin a1 

	echo "123456" | passwd --stdin a2

注意事项

  • 在某些Linux发行版中,passwd --stdin可能不可用。如果遇到问题,可以使用echo -e "123456\n123456\n" | passwd 用户名来代替,或使用chpasswd命令:
echo "b1:123456" | chpasswd 
echo "b2:123456" | chpasswd 
echo "a1:123456" | chpasswd 
echo "a2:123456" | chpasswd
  • 确保在执行这些命令时具有足够的权限,通常需要root权限。
  • 根据系统配置和安全策略,可能需要调整某些步骤或命令。

 useradd命令
格式:useradd  [选项]...  用户名
常用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或GID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
-c:用户注释描述信息
-r:   新建系统用户,不会有新建家 

 补充问题

 5.如何知道一个用户是否在linux系统里存在?

使用id 用户名命令,如果返回用户信息,则表示用户存在。

6.如何禁用一个用户登录linux系统?

使用usermod -L 用户名命令来锁定用户账号,从而禁用其登录。

7.如何知道一个用户属于哪些组?

使用groups 用户名id 用户名命令可以查看用户所属的所有组。

8.如何知道哪些用户现在已经登录在linux里?哪些用户曾经登录过linux系统?

  • 当前登录用户:whow命令。
  • 曾经登录用户:last命令。

9.如何给用户重新设置密码?

使用passwd 用户名命令,然后输入新密码。

10.linux的root密码忘记了,怎么办?

  • 重新启动系统并进入单用户模式或救援模式。
  • 使用passwd命令重置root密码。

 11.如何将已经登录在系统里的用户踢出系统?并且防止它再次登录系统?

  • 踢出用户:pkill -KILL -u 用户名kill -9 $(ps -u 用户名 -o pid=)
  • 禁用登录:usermod -L 用户名(锁定账号)或编辑/etc/shadow文件,在密码前添加!
  • 重设密码:passwd 用户名

按照这些步骤,可以管理Linux系统中的用户账号,包括检查用户存在性、禁用用户登录、查看用户所属组、查看当前和曾经登录的用户、重置用户密码以及处理忘记root密码的情况。同时,还可以踢出已登录的用户并防止其再次登录。 

  • 30
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在WPF中,可以使用UserControl来创建自定义的可重用控件,而操作Window的关键是在UserControl中获取对Window的访问权。 要在UserControl中操作Window,首先要在UserControl的代码文件中定义一个依赖属性,该依赖属性类型应为Window,用于保存对Window的引用。例如,可以定义一个名为"ParentWindow"的依赖属性。 然后,在UserControl的XAML文件中,可以将UserControl的父级控件设置为Window,并将该Window与依赖属性进行绑定。可以使用RelativeSource指定绑定的目标为父级窗口。例如,可以在UserControl的根元素上定义"ParentWindow"属性的绑定,绑定源可以为RelativeSource的FindAncestor指令,并指定AncestorType为Window。 接下来,在UserControl的代码文件中,可以使用"ParentWindow"属性来获取对Window的引用,从而可以对Window进行操作。例如,可以在UserControl的某个事件处理程序中使用"ParentWindow"属性来关闭Window,可以使用"ParentWindow.Close()"方法来关闭Window。 总之,要在WPF的UserControl中操作Window,需要先定义一个依赖属性来保存对Window的引用,然后在XAML文件中将UserControl与Window进行绑定,最后在代码中通过该属性来实现对Window的操作。 ### 回答2: 在WPF中,一个UserControl是一种重用的可视化元素,它可以包含其他控件和逻辑代码。可以通过各种方式操作UserControl来实现对Window的操作。 首先,可以通过在UserControl中使用事件来与Window进行通信。在UserControl中定义一个公开的事件,然后在Window中订阅这个事件。当UserControl中触发该事件时,Window中的事件处理程序将被调用,从而实现对Window的操作。 其次,可以通过依赖属性来实现UserControl与Window之间的数据绑定。在UserControl中定义一个依赖属性,然后在Window中将UserControl的某个属性与Window的属性进行绑定。当UserControl中的属性发生变化时,Window中的属性也会自动更新,从而实现对Window的操作。 另外,可以在UserControl中使用VisualTreeHelper类来查找Window的实例,并对其进行操作。通过递归遍历UserControl的子元素,可以在其中找到Window的实例,并进行相应的操作。 还可以通过在UserControl中使用Command来操作Window。定义一个Command,并在UserControl中的某个控件上绑定这个Command。当该控件被触发时,Command会被执行,然后可以在Command的执行方法中对Window进行操作。 最后,还可以通过在UserControl中使用基于消息的通信来操作Window。使用Messenger或EventAggregator等消息传递机制,UserControl可以发送一个消息,然后Window中的订阅者可以接收到这个消息并对Window进行操作。 综上所述,通过事件、数据绑定、遍历可视化树、命令和消息传递等方式,我们可以在UserControl中操作Window,实现丰富的交互和功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值