Linux 权限

UID用户ID ,GID 组ID

用户登录步骤:
1.到/etc/passwd 寻找是否有你的账号,如果存在把UID和GID 独处,家目录与shell一并读出
2.其次,进入/etc/shadow 找出对应账号与UID,核对是否相符
3.如果ok,进入shell管控阶段

/etc/passwd 每一行代表一个账号
每行各字段意思:用户名 /口令(密码)/UID:GID/用户说明栏/用户家目录所在/用户shell
Nolgin代表用户不具备登录功能

/etc/shadow 每行各字段意思:
用户名/口令(用户密码)/salt//1970.1.1//////////分割(加密方式/salt杂质/加密后数据)/最近更改日期(1970.1.1开始)/口令不可更改天数/口令更新变更天数/变更前警告天数/口令过期后账号宽限天数/账号失效日期时间轴:修改时间/不可更改天数/提醒修改时间/需要改的时间/宽限时间/失效时间6 代表SHA-512加密的

目录x权限,代表其他用户可以进入到这个权限里面
默认创建家目录,权限为700:建立一个用户时,需要对其赋予所有者的所有权限,其余没有,对外不开放

账号管理命令
Useradd 添加新用户 -u 后面加UID 指定特定的账号给用户
系统分配UID时,以现有账号的基础上排,系统账号不会分配。Centos6.5 系统账号1-500 centos7 系统账号1-999 不会分配

切换用户 : su+用户名
Passwd 配置新口令
1.在账号下直接passwd
2. 管理员下:echo “123456” | passwd zhangsan –stdin

Usermod 修改账号信息

Userdel 删除账号信息 -r 连同家目录一起删除
Id +用户名 拿到用户的GID 和UID -u 仅取UID -g 仅取GID

ACL 是 Access Control List 的缩写,主要的目的是在提供传统的
owner,group,others 的 read,write,execute 权限之外的细部权限配置。ACL
可以针对单一使用者,单一文件或目录来进行 r,w,x 的权限规范,对于需要
特殊权限的使用状况非常有帮助。

getfacl:取得某个文件/目录的 ACL 配置项目;
setfacl:配置某个目录/文件的ACL 规范

ACL的特点,权限最后有个+
Mask 作用:限定某个目录最大拥有的权限

### 创建好人榜应用 #### 项目初始化 在 Android Studio 中创建一个新的项目,选择合适的模板如 "Empty Activity"。这会自动生成一些基础文件结构和配置。 ```xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.gooddeeds"> <application> <!-- Main activity declaration --> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> ``` #### 设计用户界面 对于好人榜的应用来说,可以设计一个简单的列表视图用于展示好人的信息。使用 `RecyclerView` 来代替传统的 `ListView` 或者 `GridView` 可以为用户提供更流畅的滚动体验[^2]。 ```xml <!-- res/layout/activity_main.xml --> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerViewGoodDeeds" android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout> ``` 为了适应同品牌手机的设计风格差异,在构建过程中可以通过定义多个 product flavors 设置同的图标和其他资源[^1]: ```groovy // build.gradle (Module: app) android { ... flavorDimensions "default" productFlavors { huawei { dimension "default" applicationIdSuffix ".huawei" resValue "string", "app_name", "Huawei Good Deeds" } xiaomi { dimension "default" applicationIdSuffix ".xiaomi" resValue "string", "app_name", "Xiaomi Good Deeds" } } } ``` #### 数据存储与管理 考虑到可能存在的离线环境需求,应该考虑将数据保存至本地数据库或文件系统中以便于后续读取分析。如果应用程序需要处理异常情况下的日志记录,则可采用类似于 Bugly 的方案,即捕获未被捕获的异常并将其写入本地文件中以供后期调试之用[^3]。 #### 功能实现 最后一步就是编写具体的业务逻辑代码了,比如从服务器获取最新的好人名单、允许用户提交新的条目等操作。这里假设已经有了相应的 API 接口支持这些功能;如果没有的话则需自行搭建后端服务提供相应接口访问权限[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值