@timoschuetz
39This account was instantly created via @steemwallet.app - available for iOS and Android!
steemit.com/@timoschuetzVOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS29.05%
Net Worth
0.106USD
STEEM
0.000STEEM
SBD
0.000SBD
Own SP
1.827SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 1.827SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 0.000SP | SP |
| Effective Power | 1.827SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "2970.869329 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "0.000000 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | timoschuetz |
| id | 1314278 |
| rank | 1,471,372 |
| reputation | 38710934222 |
| created | 2019-08-31T18:42:45 |
| recovery_account | steemwallet.born |
| proxy | None |
| post_count | 5 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2019-09-29T19:15:00 |
| last_root_post | 2019-09-29T19:15:00 |
| last_vote_time | 2019-10-02T21:42:36 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 9,799 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 2970.869329 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 0.000000 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2019-09-13T14:28:39 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 1314278,
"name": "timoschuetz",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5SYHLaTedhDN3QELUqrNT61jGHoK9FfnQAhLcwpbq9MJbMJCKR",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6HJgArjprPfcCwxaLEKHj9mMK5PQjWbMFkT822jg64xp3xSLUZ",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [
[
"engrave.app",
1
]
],
"key_auths": [
[
"STM7G5RQF3onwaJtmEs8CcoREvdWqwwsSnUijtURBZhnpek8qwekp",
1
]
]
},
"memo_key": "STM6z2oUYmfR5qEwUVwG5FQn1u9iYZdvtZkESypm7JNCwUvn5WRrK",
"json_metadata": "{\"profile\":{\"about\":\"This account was instantly created via @steemwallet.app - available for iOS and Android!\",\"website\":\"https://steemwallet.app\",\"dtube_pub\":\"jTchANECdwQhSamZyRN8qKQGs4GowbavSZshSxXkSX1e\"}}",
"posting_json_metadata": "",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2019-09-13T14:28:39",
"created": "2019-08-31T18:42:45",
"mined": false,
"recovery_account": "steemwallet.born",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 5,
"can_vote": true,
"voting_manabar": {
"current_mana": 2911451942,
"last_update_time": 1570052556
},
"downvote_manabar": {
"current_mana": 742717332,
"last_update_time": 1570052556
},
"voting_power": 9799,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "2019-10-02T21:41:30",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "2970.869329 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "0.000000 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 0,
"posting_rewards": 1450,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2019-09-29T19:15:00",
"last_root_post": "2019-09-29T19:15:00",
"last_vote_time": "2019-10-02T21:42:36",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": "38710934222",
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 1471372
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
timoschuetzupvoted (100.00%) @steem.marketing / get-featured-on-steemit-com2019/10/02 21:42:36
timoschuetzupvoted (100.00%) @steem.marketing / get-featured-on-steemit-com
2019/10/02 21:42:36
| voter | timoschuetz |
| author | steem.marketing |
| permlink | get-featured-on-steemit-com |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36942539/Trx 20c2ff7e4095ce0c36113be10cd261c69707ccef |
View Raw JSON Data
{
"trx_id": "20c2ff7e4095ce0c36113be10cd261c69707ccef",
"block": 36942539,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-10-02T21:42:36",
"op": [
"vote",
{
"voter": "timoschuetz",
"author": "steem.marketing",
"permlink": "get-featured-on-steemit-com",
"weight": 10000
}
]
}timoschuetzpowered up 0.545 STEEM to @timoschuetz2019/10/02 21:41:57
timoschuetzpowered up 0.545 STEEM to @timoschuetz
2019/10/02 21:41:57
| from | timoschuetz |
| to | timoschuetz |
| amount | 0.545 STEEM |
| Transaction Info | Block #36942526/Trx 6f5941b695bc919859eee030d9de9a3c2001c006 |
View Raw JSON Data
{
"trx_id": "6f5941b695bc919859eee030d9de9a3c2001c006",
"block": 36942526,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-10-02T21:41:57",
"op": [
"transfer_to_vesting",
{
"from": "timoschuetz",
"to": "timoschuetz",
"amount": "0.545 STEEM"
}
]
}timoschuetzclaimed reward balance: 0.545 STEEM, 0.663 SP2019/10/02 21:41:30
timoschuetzclaimed reward balance: 0.545 STEEM, 0.663 SP
2019/10/02 21:41:30
| account | timoschuetz |
| reward steem | 0.545 STEEM |
| reward sbd | 0.000 SBD |
| reward vests | 1078.839211 VESTS |
| Transaction Info | Block #36942517/Trx 38ba7d018363a8fecb5d01d3bea7db15eab3eaac |
View Raw JSON Data
{
"trx_id": "38ba7d018363a8fecb5d01d3bea7db15eab3eaac",
"block": 36942517,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-10-02T21:41:30",
"op": [
"claim_reward_balance",
{
"account": "timoschuetz",
"reward_steem": "0.545 STEEM",
"reward_sbd": "0.000 SBD",
"reward_vests": "1078.839211 VESTS"
}
]
}joelpugaptupvoted (100.00%) @timoschuetz / using-ha-proxy-to-loadbalance-between-https-endpoints2019/09/30 11:42:12
joelpugaptupvoted (100.00%) @timoschuetz / using-ha-proxy-to-loadbalance-between-https-endpoints
2019/09/30 11:42:12
| voter | joelpugapt |
| author | timoschuetz |
| permlink | using-ha-proxy-to-loadbalance-between-https-endpoints |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36873074/Trx b17019b80ea960cea83faa3b598d5143bb3d32c4 |
View Raw JSON Data
{
"trx_id": "b17019b80ea960cea83faa3b598d5143bb3d32c4",
"block": 36873074,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-30T11:42:12",
"op": [
"vote",
{
"voter": "joelpugapt",
"author": "timoschuetz",
"permlink": "using-ha-proxy-to-loadbalance-between-https-endpoints",
"weight": 10000
}
]
}timoschuetzupvoted (100.00%) @timoschuetz / using-ha-proxy-to-loadbalance-between-https-endpoints2019/09/29 19:19:33
timoschuetzupvoted (100.00%) @timoschuetz / using-ha-proxy-to-loadbalance-between-https-endpoints
2019/09/29 19:19:33
| voter | timoschuetz |
| author | timoschuetz |
| permlink | using-ha-proxy-to-loadbalance-between-https-endpoints |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36853468/Trx 58447f8b14e698b61895f00350d309fecab86eff |
View Raw JSON Data
{
"trx_id": "58447f8b14e698b61895f00350d309fecab86eff",
"block": 36853468,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-29T19:19:33",
"op": [
"vote",
{
"voter": "timoschuetz",
"author": "timoschuetz",
"permlink": "using-ha-proxy-to-loadbalance-between-https-endpoints",
"weight": 10000
}
]
}timoschuetzupdated options for using-ha-proxy-to-loadbalance-between-https-endpoints2019/09/29 19:15:00
timoschuetzupdated options for using-ha-proxy-to-loadbalance-between-https-endpoints
2019/09/29 19:15:00
| author | timoschuetz |
| permlink | using-ha-proxy-to-loadbalance-between-https-endpoints |
| max accepted payout | 1000000.000 SBD |
| percent steem dollars | 0 |
| allow votes | true |
| allow curation rewards | true |
| extensions | [] |
| Transaction Info | Block #36853377/Trx ca5cf678989041d5eef19af79fa7bcf033e60e95 |
View Raw JSON Data
{
"trx_id": "ca5cf678989041d5eef19af79fa7bcf033e60e95",
"block": 36853377,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-29T19:15:00",
"op": [
"comment_options",
{
"author": "timoschuetz",
"permlink": "using-ha-proxy-to-loadbalance-between-https-endpoints",
"max_accepted_payout": "1000000.000 SBD",
"percent_steem_dollars": 0,
"allow_votes": true,
"allow_curation_rewards": true,
"extensions": []
}
]
}timoschuetzpublished a new post: using-ha-proxy-to-loadbalance-between-https-endpoints2019/09/29 19:15:00
timoschuetzpublished a new post: using-ha-proxy-to-loadbalance-between-https-endpoints
2019/09/29 19:15:00
| parent author | |
| parent permlink | linux |
| author | timoschuetz |
| permlink | using-ha-proxy-to-loadbalance-between-https-endpoints |
| title | Using HA Proxy to loadbalance between HTTPS endpoints |
| body | For providing a high availability for a service which isn’t high available by design often results in a few hours of headaches before you can solve it. I had the same issue. The situation was a cloud service which is not high available, but can be set up at different server locations. The question is how do I make the users switch when the outage is happening? The application I was facing was a SAP Cloud Platform HTML 5 application which does not offer high availability at this point. Because these applications can proxy data I needed to get them high available. A loadbalancer is a great way to distribute users between these endpoints. I have been using haproxy here in this case and later used an azure front door service for convenience, cause why not, right? ## Prepare the endpoints First of all you need two or more endpoints for your application. I had two endpoints which were both located in the EU, so that they can be reached without huge latency or package loss. Distributing the endpoints across regions is very important to provide a higher availability, because one region can fail due to many reason, while it is very unlikely that two regions fail at the same time. ## Configure Server First of all we need to spin up a linux machine which will be our haproxy host. After that we need to install it: ```bash sudo apt install haproxy ``` After that we can edit the configuration file: ```bash sudo vim /etc/haproxy/haproxy.conf ``` Now is the point where the real magic is happening and we need to append the following to the end of the file: ```bash frontend haproxynode bind *:80 mode http option http-buffer-request timeout http-request 10s default_backend backendnodes backend backendnodes balance roundrobin option forwardfor http-request set-header X-Forwarded-Port %[dst_port] http-request add-header X-Forwarded-Proto https if { ssl_fc } option httpchk HEAD / HTTP/1.1\r http-send-name-header Host server application-subaccount.dispatcher.hana.ondemand.com application-subaccount.dispatcher.hana.ondemand.com:443 ssl verify none server application2-subaccount.dispatcher.eu3.hana.ondemand.com application2-subaccount.dispatcher.eu3.hana.ondemand.com:443 ssl verify none ``` Now we can restart the service and take a look on the logs to see if our users are distributed correctly: ```bash sudo systemctl restart haproxy ``` ```bash sudo less +G /var/log/haproxy.log ``` You can change the rules to your needs to provide a location based balancing, if needed. |
| json metadata | {"tags":["linux","haproxy","load","balance","https","endpoint","traffic"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #36853377/Trx ca5cf678989041d5eef19af79fa7bcf033e60e95 |
View Raw JSON Data
{
"trx_id": "ca5cf678989041d5eef19af79fa7bcf033e60e95",
"block": 36853377,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-29T19:15:00",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "linux",
"author": "timoschuetz",
"permlink": "using-ha-proxy-to-loadbalance-between-https-endpoints",
"title": "Using HA Proxy to loadbalance between HTTPS endpoints",
"body": "For providing a high availability for a service which isn’t high available by design often results in a few hours of headaches before you can solve it. I had the same issue. The situation was a cloud service which is not high available, but can be set up at different server locations. The question is how do I make the users switch when the outage is happening? The application I was facing was a SAP Cloud Platform HTML 5 application which does not offer high availability at this point. Because these applications can proxy data I needed to get them high available. A loadbalancer is a great way to distribute users between these endpoints. I have been using haproxy here in this case and later used an azure front door service for convenience, cause why not, right?\n## Prepare the endpoints\nFirst of all you need two or more endpoints for your application. I had two endpoints which were both located in the EU, so that they can be reached without huge latency or package loss. Distributing the endpoints across regions is very important to provide a higher availability, because one region can fail due to many reason, while it is very unlikely that two regions fail at the same time.\n## Configure Server\nFirst of all we need to spin up a linux machine which will be our haproxy host. After that we need to install it:\n```bash\nsudo apt install haproxy\n```\n\nAfter that we can edit the configuration file:\n```bash\nsudo vim /etc/haproxy/haproxy.conf\n```\n\nNow is the point where the real magic is happening and we need to append the following to the end of the file:\n```bash\nfrontend haproxynode\n bind *:80\n mode http\n option http-buffer-request\n timeout http-request 10s\n default_backend backendnodes\n\nbackend backendnodes\n balance roundrobin\n option forwardfor\n http-request set-header X-Forwarded-Port %[dst_port]\n http-request add-header X-Forwarded-Proto https if { ssl_fc }\n option httpchk HEAD / HTTP/1.1\\r\n http-send-name-header Host\n server application-subaccount.dispatcher.hana.ondemand.com application-subaccount.dispatcher.hana.ondemand.com:443 ssl verify none\n server application2-subaccount.dispatcher.eu3.hana.ondemand.com application2-subaccount.dispatcher.eu3.hana.ondemand.com:443 ssl verify none\n```\n\nNow we can restart the service and take a look on the logs to see if our users are distributed correctly:\n```bash\nsudo systemctl restart haproxy\n```\n\n```bash\nsudo less +G /var/log/haproxy.log\n```\n\nYou can change the rules to your needs to provide a location based balancing, if needed.",
"json_metadata": "{\"tags\":[\"linux\",\"haproxy\",\"load\",\"balance\",\"https\",\"endpoint\",\"traffic\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}timoschuetzreceived 0.545 STEEM, 0.663 SP author reward for @timoschuetz / use-su-without-the-need-of-a-password2019/09/20 09:20:30
timoschuetzreceived 0.545 STEEM, 0.663 SP author reward for @timoschuetz / use-su-without-the-need-of-a-password
2019/09/20 09:20:30
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| sbd payout | 0.000 SBD |
| steem payout | 0.545 STEEM |
| vesting payout | 1078.839211 VESTS |
| Transaction Info | Block #36582857/Virtual Operation #11 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 36582857,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 11,
"timestamp": "2019-09-20T09:20:30",
"op": [
"author_reward",
{
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"sbd_payout": "0.000 SBD",
"steem_payout": "0.545 STEEM",
"vesting_payout": "1078.839211 VESTS"
}
]
}syntoxictechupvoted (100.00%) @timoschuetz / setting-up-grafana-oauth2-in-kubernetes2019/09/16 06:39:30
syntoxictechupvoted (100.00%) @timoschuetz / setting-up-grafana-oauth2-in-kubernetes
2019/09/16 06:39:30
| voter | syntoxictech |
| author | timoschuetz |
| permlink | setting-up-grafana-oauth2-in-kubernetes |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36464689/Trx 89473dbde4e48c3cbd69f3506bbbd5ca0916ad01 |
View Raw JSON Data
{
"trx_id": "89473dbde4e48c3cbd69f3506bbbd5ca0916ad01",
"block": 36464689,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-16T06:39:30",
"op": [
"vote",
{
"voter": "syntoxictech",
"author": "timoschuetz",
"permlink": "setting-up-grafana-oauth2-in-kubernetes",
"weight": 10000
}
]
}laissez-faireupvoted (100.00%) @timoschuetz / setting-up-grafana-oauth2-in-kubernetes2019/09/16 06:22:15
laissez-faireupvoted (100.00%) @timoschuetz / setting-up-grafana-oauth2-in-kubernetes
2019/09/16 06:22:15
| voter | laissez-faire |
| author | timoschuetz |
| permlink | setting-up-grafana-oauth2-in-kubernetes |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36464344/Trx 4c101937f57c0d5fa2063986170902bb8b38f2b8 |
View Raw JSON Data
{
"trx_id": "4c101937f57c0d5fa2063986170902bb8b38f2b8",
"block": 36464344,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-16T06:22:15",
"op": [
"vote",
{
"voter": "laissez-faire",
"author": "timoschuetz",
"permlink": "setting-up-grafana-oauth2-in-kubernetes",
"weight": 10000
}
]
}anomalyupvoted (1.00%) @timoschuetz / setting-up-grafana-oauth2-in-kubernetes2019/09/16 06:22:09
anomalyupvoted (1.00%) @timoschuetz / setting-up-grafana-oauth2-in-kubernetes
2019/09/16 06:22:09
| voter | anomaly |
| author | timoschuetz |
| permlink | setting-up-grafana-oauth2-in-kubernetes |
| weight | 100 (1.00%) |
| Transaction Info | Block #36464342/Trx ac8ae420d14a2a51abc1ebd49292e24c1e04ce8a |
View Raw JSON Data
{
"trx_id": "ac8ae420d14a2a51abc1ebd49292e24c1e04ce8a",
"block": 36464342,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-16T06:22:09",
"op": [
"vote",
{
"voter": "anomaly",
"author": "timoschuetz",
"permlink": "setting-up-grafana-oauth2-in-kubernetes",
"weight": 100
}
]
}timoschuetzpublished a new post: setting-up-grafana-oauth2-in-kubernetes2019/09/16 06:21:12
timoschuetzpublished a new post: setting-up-grafana-oauth2-in-kubernetes
2019/09/16 06:21:12
| parent author | |
| parent permlink | grafana |
| author | timoschuetz |
| permlink | setting-up-grafana-oauth2-in-kubernetes |
| title | Setting up Grafana OAuth2 (in Kubernetes) |
| body | In this guide we are setting up Grafana in a Kubernetes cluster to use OAuth2 based authorization. First of all you need to have a running Kubernetes cluster and helm installed and configured. If you do not know how to set it up click [here] to get to my Helm installation guide. I’ve been using AKS, but it will probably work on your environment too. ## Setting up your IdP First of all you need to create a new application in your identity provider. I have been using Okta, but every other IdP which supports openID should work as well. In Okta you have to select `Web` as Applicaton type and enable `Refresh Tokens`. For your redirect URL you need to set it to `https://example.com/generic_oauth`  ## Configure Installation Create a new file, which will be used to configure the installation. Name the file `values.yaml`. Insert the following content: [https://pastebin.com/raw/HVkXjxfQ ] Now we need to change some stuff in that file: Change the `root_url` to `https://your.domain.com` so that your IdP can redirect you after logging in successfully. If you already know what your datasource is, you can fill it in. If you don’t want to use that feature just replace the section with a `{}`. First of all you need to fill in your client id and client secret. Also do not forget to change the IdP URLs. Now you need to edit the hosts in the ingress controller so that it can be created automatically. ## Install Grafana After all the configuration is done you can finally deploy Grafana using this command (Feel free to change name and namespace to your liking): `helm install --name grafana --namespace monitoring stable/grafana -f values.yaml` ## Setup Grafana Login at the Grafana Dashboard and change the default admin password. Now you can setup your datasources and dashboards. After all that login with the IdP to register your user to Grafana. Then log back in with you admin account and assign administrator privileges to your IdP user. ## Disable Basic Auth If you want to, you can disable basic authentication to only allow users to log on using OAuth. Now we can change some stuff to disable the basic authentication and fully go to IdP login. For this create and open the file `patch_values.yaml`. ``` grafana.ini: auth.basic: enabled: false auth: oauth_auto_login: true disable_login_form: true ``` Now we can change the config file in the cluster with: `helm upgrade --reuse-values -f patch_values.yml grafana stable/grafana` |
| json metadata | {"tags":["grafana","oauth2","kubernetes","idp","identity"],"image":["https://i.imgur.com/8ETQJ8h.png"],"links":["https://pastebin.com/raw/HVkXjxfQ"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #36464323/Trx c3556107808a65577210ed0763406fff5ec43058 |
View Raw JSON Data
{
"trx_id": "c3556107808a65577210ed0763406fff5ec43058",
"block": 36464323,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-16T06:21:12",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "grafana",
"author": "timoschuetz",
"permlink": "setting-up-grafana-oauth2-in-kubernetes",
"title": "Setting up Grafana OAuth2 (in Kubernetes)",
"body": "In this guide we are setting up Grafana in a Kubernetes cluster to use OAuth2 based authorization. First of all you need to have a running Kubernetes cluster and helm installed and configured. If you do not know how to set it up click [here] to get to my Helm installation guide. I’ve been using AKS, but it will probably work on your environment too. \n\n## Setting up your IdP\nFirst of all you need to create a new application in your identity provider. I have been using Okta, but every other IdP which supports openID should work as well.\nIn Okta you have to select `Web` as Applicaton type and enable `Refresh Tokens`. For your redirect URL you need to set it to `https://example.com/generic_oauth`\n\n\n\n## Configure Installation\nCreate a new file, which will be used to configure the installation. Name the file `values.yaml`. Insert the following content:\n[https://pastebin.com/raw/HVkXjxfQ ]\n\nNow we need to change some stuff in that file:\nChange the `root_url` to `https://your.domain.com` so that your IdP can redirect you after logging in successfully.\n\nIf you already know what your datasource is, you can fill it in. If you don’t want to use that feature just replace the section with a `{}`.\n\nFirst of all you need to fill in your client id and client secret. Also do not forget to change the IdP URLs. Now you need to edit the hosts in the ingress controller so that it can be created automatically. \n\n## Install Grafana\nAfter all the configuration is done you can finally deploy Grafana using this command (Feel free to change name and namespace to your liking):\n`helm install --name grafana --namespace monitoring stable/grafana -f values.yaml`\n\n## Setup Grafana\nLogin at the Grafana Dashboard and change the default admin password. Now you can setup your datasources and dashboards. \n\nAfter all that login with the IdP to register your user to Grafana. Then log back in with you admin account and assign administrator privileges to your IdP user.\n\n## Disable Basic Auth\nIf you want to, you can disable basic authentication to only allow users to log on using OAuth. Now we can change some stuff to disable the basic authentication and fully go to IdP login. For this create and open the file `patch_values.yaml`.\n```\ngrafana.ini:\n auth.basic:\n enabled: false\n auth:\n oauth_auto_login: true\n disable_login_form: true\n```\nNow we can change the config file in the cluster with:\n`helm upgrade --reuse-values -f patch_values.yml grafana stable/grafana`",
"json_metadata": "{\"tags\":[\"grafana\",\"oauth2\",\"kubernetes\",\"idp\",\"identity\"],\"image\":[\"https://i.imgur.com/8ETQJ8h.png\"],\"links\":[\"https://pastebin.com/raw/HVkXjxfQ\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2019/09/14 14:06:45
2019/09/14 14:06:45
| voter | timoschuetz |
| author | engrave |
| permlink | re-timoschuetz-setting-up-and-secure-a-linux-server-20190913t145941875z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36416137/Trx 5055f5f78be148955a8add34c367b930d75ebb65 |
View Raw JSON Data
{
"trx_id": "5055f5f78be148955a8add34c367b930d75ebb65",
"block": 36416137,
"trx_in_block": 28,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-14T14:06:45",
"op": [
"vote",
{
"voter": "timoschuetz",
"author": "engrave",
"permlink": "re-timoschuetz-setting-up-and-secure-a-linux-server-20190913t145941875z",
"weight": 10000
}
]
}2019/09/13 14:59:42
2019/09/13 14:59:42
| parent author | timoschuetz |
| parent permlink | setting-up-and-secure-a-linux-server |
| author | engrave |
| permlink | re-timoschuetz-setting-up-and-secure-a-linux-server-20190913t145941875z |
| title | RE: Setting up and secure a Linux server |
| body | Great article! I would like to see more of them on [ENGRAVE](https://engrave.website) :) Keep it up, good work! |
| json metadata | {"app":"engrave"} |
| Transaction Info | Block #36388455/Trx 6102a79b9c74558b3faa5e90f96d3bb3ca7a2a11 |
View Raw JSON Data
{
"trx_id": "6102a79b9c74558b3faa5e90f96d3bb3ca7a2a11",
"block": 36388455,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:59:42",
"op": [
"comment",
{
"parent_author": "timoschuetz",
"parent_permlink": "setting-up-and-secure-a-linux-server",
"author": "engrave",
"permlink": "re-timoschuetz-setting-up-and-secure-a-linux-server-20190913t145941875z",
"title": "RE: Setting up and secure a Linux server",
"body": "Great article! I would like to see more of them on [ENGRAVE](https://engrave.website) :) Keep it up, good work!",
"json_metadata": "{\"app\":\"engrave\"}"
}
]
}bgornickiupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:42
bgornickiupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:42
| voter | bgornicki |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388335/Trx dd09b4475e74bf79611c40e3359f9053ffe07197 |
View Raw JSON Data
{
"trx_id": "dd09b4475e74bf79611c40e3359f9053ffe07197",
"block": 36388335,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:42",
"op": [
"vote",
{
"voter": "bgornicki",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}acronymsupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
acronymsupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | acronyms |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx f9d34291c1237d27e60be1a15f15ff6aa22bdd0f |
View Raw JSON Data
{
"trx_id": "f9d34291c1237d27e60be1a15f15ff6aa22bdd0f",
"block": 36388334,
"trx_in_block": 57,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "acronyms",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}glodniwiedzyupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
glodniwiedzyupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | glodniwiedzy |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx 383182f9e0cab43dda81159437934cb8ea36dfe7 |
View Raw JSON Data
{
"trx_id": "383182f9e0cab43dda81159437934cb8ea36dfe7",
"block": 36388334,
"trx_in_block": 52,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "glodniwiedzy",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}meowcliverupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
meowcliverupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | meowcliver |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx efac10c3ea96a8a08cb39a87e54baf9cac16b63a |
View Raw JSON Data
{
"trx_id": "efac10c3ea96a8a08cb39a87e54baf9cac16b63a",
"block": 36388334,
"trx_in_block": 51,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "meowcliver",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}xaraupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
xaraupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | xara |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx 1ace6e8879132df51bcf8f8e8c2437e577126531 |
View Raw JSON Data
{
"trx_id": "1ace6e8879132df51bcf8f8e8c2437e577126531",
"block": 36388334,
"trx_in_block": 50,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "xara",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}spacesheepupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
spacesheepupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | spacesheep |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx b4b4c270c599f458e0369a77222ccd1a4c9f3a23 |
View Raw JSON Data
{
"trx_id": "b4b4c270c599f458e0369a77222ccd1a4c9f3a23",
"block": 36388334,
"trx_in_block": 47,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "spacesheep",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}freakout-plupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
freakout-plupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | freakout-pl |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx 0a2503478c18f5b98e1d5c537b4190a6cb2e9ea8 |
View Raw JSON Data
{
"trx_id": "0a2503478c18f5b98e1d5c537b4190a6cb2e9ea8",
"block": 36388334,
"trx_in_block": 46,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "freakout-pl",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}nicniezgrublemupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
nicniezgrublemupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | nicniezgrublem |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx 583d675f270a2ff7547aa94566c2f50a046b4c0e |
View Raw JSON Data
{
"trx_id": "583d675f270a2ff7547aa94566c2f50a046b4c0e",
"block": 36388334,
"trx_in_block": 42,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "nicniezgrublem",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}aceofsteemupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
aceofsteemupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | aceofsteem |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx 7b22c8da0eaa2fa34ab41c78de7430867f014e73 |
View Raw JSON Data
{
"trx_id": "7b22c8da0eaa2fa34ab41c78de7430867f014e73",
"block": 36388334,
"trx_in_block": 40,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "aceofsteem",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}gameeitupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
gameeitupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | gameeit |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx 0fc62c8c16d6f2a006a0c7998e4406e9f3a46ad4 |
View Raw JSON Data
{
"trx_id": "0fc62c8c16d6f2a006a0c7998e4406e9f3a46ad4",
"block": 36388334,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "gameeit",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}aditorupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
aditorupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | aditor |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx feacc19dcaa673e7e5458f909d4343682a9c8893 |
View Raw JSON Data
{
"trx_id": "feacc19dcaa673e7e5458f909d4343682a9c8893",
"block": 36388334,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "aditor",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}ocislyupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
ocislyupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | ocisly |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx 5015e0dc69eee46a3190f3a9013bcb3a3864ae44 |
View Raw JSON Data
{
"trx_id": "5015e0dc69eee46a3190f3a9013bcb3a3864ae44",
"block": 36388334,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "ocisly",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}krasnalekupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
krasnalekupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | krasnalek |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx 16bbb84dbdb60d4fa009e910cbec3402fb8d2763 |
View Raw JSON Data
{
"trx_id": "16bbb84dbdb60d4fa009e910cbec3402fb8d2763",
"block": 36388334,
"trx_in_block": 29,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "krasnalek",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}technocracyupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:39
technocracyupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:39
| voter | technocracy |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388334/Trx 21f45e7b445486d77ac39792237d302f9afab189 |
View Raw JSON Data
{
"trx_id": "21f45e7b445486d77ac39792237d302f9afab189",
"block": 36388334,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:39",
"op": [
"vote",
{
"voter": "technocracy",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}santariusupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:36
santariusupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:36
| voter | santarius |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388333/Trx dfe50a8e51133230a44db4b0981425ccae784bad |
View Raw JSON Data
{
"trx_id": "dfe50a8e51133230a44db4b0981425ccae784bad",
"block": 36388333,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:36",
"op": [
"vote",
{
"voter": "santarius",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}engraveupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 14:53:33
engraveupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 14:53:33
| voter | engrave |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388332/Trx 557ea852d3d9afedf8e0291a35ea2fe4356235d1 |
View Raw JSON Data
{
"trx_id": "557ea852d3d9afedf8e0291a35ea2fe4356235d1",
"block": 36388332,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:53:33",
"op": [
"vote",
{
"voter": "engrave",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}timoschuetzupvoted (100.00%) @steemitblog / steem-dao-ui-and-pausing-steem-sales2019/09/13 14:37:36
timoschuetzupvoted (100.00%) @steemitblog / steem-dao-ui-and-pausing-steem-sales
2019/09/13 14:37:36
| voter | timoschuetz |
| author | steemitblog |
| permlink | steem-dao-ui-and-pausing-steem-sales |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36388014/Trx 9dcaf1a98cb2b5400b147de6150e78230725a3f0 |
View Raw JSON Data
{
"trx_id": "9dcaf1a98cb2b5400b147de6150e78230725a3f0",
"block": 36388014,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:37:36",
"op": [
"vote",
{
"voter": "timoschuetz",
"author": "steemitblog",
"permlink": "steem-dao-ui-and-pausing-steem-sales",
"weight": 10000
}
]
}timoschuetzupdated their account properties2019/09/13 14:28:39
timoschuetzupdated their account properties
2019/09/13 14:28:39
| account | timoschuetz |
| posting | {"weight_threshold":1,"account_auths":[["engrave.app",1]],"key_auths":[["STM7G5RQF3onwaJtmEs8CcoREvdWqwwsSnUijtURBZhnpek8qwekp",1]]} |
| memo key | STM6z2oUYmfR5qEwUVwG5FQn1u9iYZdvtZkESypm7JNCwUvn5WRrK |
| json metadata | {"profile":{"about":"This account was instantly created via @steemwallet.app - available for iOS and Android!","website":"https://steemwallet.app","dtube_pub":"jTchANECdwQhSamZyRN8qKQGs4GowbavSZshSxXkSX1e"}} |
| Transaction Info | Block #36387835/Trx dbbe71968d62f65b14bbf0c2fee0259f471a59b3 |
View Raw JSON Data
{
"trx_id": "dbbe71968d62f65b14bbf0c2fee0259f471a59b3",
"block": 36387835,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:28:39",
"op": [
"account_update",
{
"account": "timoschuetz",
"posting": {
"weight_threshold": 1,
"account_auths": [
[
"engrave.app",
1
]
],
"key_auths": [
[
"STM7G5RQF3onwaJtmEs8CcoREvdWqwwsSnUijtURBZhnpek8qwekp",
1
]
]
},
"memo_key": "STM6z2oUYmfR5qEwUVwG5FQn1u9iYZdvtZkESypm7JNCwUvn5WRrK",
"json_metadata": "{\"profile\":{\"about\":\"This account was instantly created via @steemwallet.app - available for iOS and Android!\",\"website\":\"https://steemwallet.app\",\"dtube_pub\":\"jTchANECdwQhSamZyRN8qKQGs4GowbavSZshSxXkSX1e\"}}"
}
]
}2019/09/13 14:26:33
2019/09/13 14:26:33
| parent author | timoschuetz |
| parent permlink | use-su-without-the-need-of-a-password |
| author | steemitboard |
| permlink | steemitboard-notify-timoschuetz-20190913t142632000z |
| title | |
| body | Congratulations @timoschuetz! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) : <table><tr><td><img src="https://steemitimages.com/60x60/http://steemitboard.com/img/notifications/firstvote.png"></td><td>You made your First Vote</td></tr> <tr><td><img src="https://steemitimages.com/60x70/http://steemitboard.com/@timoschuetz/voted.png?201909131340"></td><td>You received more than 10 upvotes. Your next target is to reach 50 upvotes.</td></tr> </table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@timoschuetz) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=timoschuetz)_</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #36387793/Trx f7da0a920db8020f75d94fa858597c1069b75ce2 |
View Raw JSON Data
{
"trx_id": "f7da0a920db8020f75d94fa858597c1069b75ce2",
"block": 36387793,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T14:26:33",
"op": [
"comment",
{
"parent_author": "timoschuetz",
"parent_permlink": "use-su-without-the-need-of-a-password",
"author": "steemitboard",
"permlink": "steemitboard-notify-timoschuetz-20190913t142632000z",
"title": "",
"body": "Congratulations @timoschuetz! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :\n\n<table><tr><td><img src=\"https://steemitimages.com/60x60/http://steemitboard.com/img/notifications/firstvote.png\"></td><td>You made your First Vote</td></tr>\n<tr><td><img src=\"https://steemitimages.com/60x70/http://steemitboard.com/@timoschuetz/voted.png?201909131340\"></td><td>You received more than 10 upvotes. Your next target is to reach 50 upvotes.</td></tr>\n</table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@timoschuetz) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=timoschuetz)_</sub>\n<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>\n\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}timoschuetzupvoted (100.00%) @syntoxictech / pxru3a2019/09/13 13:17:27
timoschuetzupvoted (100.00%) @syntoxictech / pxru3a
2019/09/13 13:17:27
| voter | timoschuetz |
| author | syntoxictech |
| permlink | pxru3a |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36386417/Trx 06dd625338bf533518bf1dac9cb1b8855a671eb5 |
View Raw JSON Data
{
"trx_id": "06dd625338bf533518bf1dac9cb1b8855a671eb5",
"block": 36386417,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T13:17:27",
"op": [
"vote",
{
"voter": "timoschuetz",
"author": "syntoxictech",
"permlink": "pxru3a",
"weight": 10000
}
]
}syntoxictechreplied to @timoschuetz / pxru3a2019/09/13 13:14:00
syntoxictechreplied to @timoschuetz / pxru3a
2019/09/13 13:14:00
| parent author | timoschuetz |
| parent permlink | use-su-without-the-need-of-a-password |
| author | syntoxictech |
| permlink | pxru3a |
| title | |
| body | Really cool, works perfectly in my environment! |
| json metadata | {"tags":["linux"],"app":"steemit/0.1"} |
| Transaction Info | Block #36386348/Trx b37e68f30b7ee1d506c64461576e6b6b405bb6ec |
View Raw JSON Data
{
"trx_id": "b37e68f30b7ee1d506c64461576e6b6b405bb6ec",
"block": 36386348,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T13:14:00",
"op": [
"comment",
{
"parent_author": "timoschuetz",
"parent_permlink": "use-su-without-the-need-of-a-password",
"author": "syntoxictech",
"permlink": "pxru3a",
"title": "",
"body": "Really cool, works perfectly in my environment!",
"json_metadata": "{\"tags\":[\"linux\"],\"app\":\"steemit/0.1\"}"
}
]
}syntoxictechupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 12:54:03
syntoxictechupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 12:54:03
| voter | syntoxictech |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36385950/Trx 24a351f0328b8591fc6353063c592a9dd7b870d9 |
View Raw JSON Data
{
"trx_id": "24a351f0328b8591fc6353063c592a9dd7b870d9",
"block": 36385950,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T12:54:03",
"op": [
"vote",
{
"voter": "syntoxictech",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}joelpugaptupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 11:30:00
joelpugaptupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 11:30:00
| voter | joelpugapt |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36384275/Trx 655060c4b4793f89196acadbb454c6a7dccac51a |
View Raw JSON Data
{
"trx_id": "655060c4b4793f89196acadbb454c6a7dccac51a",
"block": 36384275,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T11:30:00",
"op": [
"vote",
{
"voter": "joelpugapt",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}timoschuetzpowered up 0.051 STEEM to @timoschuetz2019/09/13 09:36:27
timoschuetzpowered up 0.051 STEEM to @timoschuetz
2019/09/13 09:36:27
| from | timoschuetz |
| to | timoschuetz |
| amount | 0.051 STEEM |
| Transaction Info | Block #36382008/Trx 8b0eb63d0b57cafa1af545ea2f25cc0dc94bf95e |
View Raw JSON Data
{
"trx_id": "8b0eb63d0b57cafa1af545ea2f25cc0dc94bf95e",
"block": 36382008,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T09:36:27",
"op": [
"transfer_to_vesting",
{
"from": "timoschuetz",
"to": "timoschuetz",
"amount": "0.051 STEEM"
}
]
}syntoxictechsent 0.051 STEEM to @timoschuetz2019/09/13 09:35:33
syntoxictechsent 0.051 STEEM to @timoschuetz
2019/09/13 09:35:33
| from | syntoxictech |
| to | timoschuetz |
| amount | 0.051 STEEM |
| memo | |
| Transaction Info | Block #36381990/Trx adefea73757475e2006b1cfaa8519662a91e97e9 |
View Raw JSON Data
{
"trx_id": "adefea73757475e2006b1cfaa8519662a91e97e9",
"block": 36381990,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T09:35:33",
"op": [
"transfer",
{
"from": "syntoxictech",
"to": "timoschuetz",
"amount": "0.051 STEEM",
"memo": ""
}
]
}profit-shooterupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password2019/09/13 09:32:45
profit-shooterupvoted (100.00%) @timoschuetz / use-su-without-the-need-of-a-password
2019/09/13 09:32:45
| voter | profit-shooter |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36381935/Trx 7f79ee1441d90d865be42bfc85f7db01e3d5c915 |
View Raw JSON Data
{
"trx_id": "7f79ee1441d90d865be42bfc85f7db01e3d5c915",
"block": 36381935,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T09:32:45",
"op": [
"vote",
{
"voter": "profit-shooter",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"weight": 10000
}
]
}timoschuetzpowered up 0.180 STEEM to @timoschuetz2019/09/13 09:28:45
timoschuetzpowered up 0.180 STEEM to @timoschuetz
2019/09/13 09:28:45
| from | timoschuetz |
| to | timoschuetz |
| amount | 0.180 STEEM |
| Transaction Info | Block #36381855/Trx b8a494fa91c2669e2168d7b912124d8a71fba983 |
View Raw JSON Data
{
"trx_id": "b8a494fa91c2669e2168d7b912124d8a71fba983",
"block": 36381855,
"trx_in_block": 29,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T09:28:45",
"op": [
"transfer_to_vesting",
{
"from": "timoschuetz",
"to": "timoschuetz",
"amount": "0.180 STEEM"
}
]
}timoschuetzpublished a new post: use-su-without-the-need-of-a-password2019/09/13 09:21:21
timoschuetzpublished a new post: use-su-without-the-need-of-a-password
2019/09/13 09:21:21
| parent author | |
| parent permlink | linux |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| title | Use su without the need of a password |
| body | I recently searched for a solution to su into a user which is only used for an application without entering a password. I normally create an application user without any password because that user never should be able to be logged on to. If you are not using the root user or sudo to log on you are required to enter a password even though the user does not have one at all. I found a neat trick which I want to share with you. We can achieve these goals using Pluggable Authentication Modules or short PAM. We need to edit the corosponding su file with is located under `/etc/pam.d/su` and add the following lines under `pam_rootok.so`: auth [success=ignore default=1] pam_succeed_if.so user = user auth sufficient pam_succeed_if.so use_uid user = adminuser If you want to allow a group of users to su into the user defined in the first line instead of one single user you can use auth sufficient pam_succeed_if.so use_uid user ingroup admins for the second line. In this example the group is called `admins`, the user which will su into another user `adminuser` and the user that will be su’ed in `user` The finished file should now look like this: ``` # # The PAM configuration file for the Shadow `su' service # # This allows root to su without passwords (normal operation) auth sufficient pam_rootok.so auth [success=ignore default=1] pam_succeed_if.so user = user auth sufficient pam_succeed_if.so use_uid user ingroup admins ... ``` |
| json metadata | {"tags":["linux","server","authorization"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #36381707/Trx f1a5fbfce96b53c03634efa80b074f26b20c7ff3 |
View Raw JSON Data
{
"trx_id": "f1a5fbfce96b53c03634efa80b074f26b20c7ff3",
"block": 36381707,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T09:21:21",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "linux",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"title": "Use su without the need of a password",
"body": "I recently searched for a solution to su into a user which is only used for an application without entering a password. I normally create an application user without any password because that user never should be able to be logged on to. If you are not using the root user or sudo to log on you are required to enter a password even though the user does not have one at all. I found a neat trick which I want to share with you. \nWe can achieve these goals using Pluggable Authentication Modules or short PAM. We need to edit the corosponding su file with is located under `/etc/pam.d/su` and add the following lines under `pam_rootok.so`:\nauth [success=ignore default=1] pam_succeed_if.so user = user\nauth sufficient pam_succeed_if.so use_uid user = adminuser\nIf you want to allow a group of users to su into the user defined in the first line instead of one single user you can use\nauth sufficient pam_succeed_if.so use_uid user ingroup admins\nfor the second line. In this example the group is called `admins`, the user which will su into another user `adminuser` and the user that will be su’ed in `user`\nThe finished file should now look like this:\n```\n#\n# The PAM configuration file for the Shadow `su' service\n#\n\n# This allows root to su without passwords (normal operation)\nauth sufficient pam_rootok.so\nauth [success=ignore default=1] pam_succeed_if.so user = user\nauth sufficient pam_succeed_if.so use_uid user ingroup admins\n...\n```",
"json_metadata": "{\"tags\":[\"linux\",\"server\",\"authorization\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}timoschuetzpublished a new post: use-su-without-the-need-of-a-password2019/09/13 09:20:30
timoschuetzpublished a new post: use-su-without-the-need-of-a-password
2019/09/13 09:20:30
| parent author | |
| parent permlink | linux |
| author | timoschuetz |
| permlink | use-su-without-the-need-of-a-password |
| title | Use su without the need of a password |
| body | I recently searched for a solution to su into a user which is only used for an application without entering a password. I normally create an application user without any password because that user never should be able to be logged on to. If you are not using the root user or sudo to log on you are required to enter a password even though the user does not have one at all. I found a neat trick which I want to share with you. We can achieve these goals using Pluggable Authentication Modules or short PAM. We need to edit the corosponding su file with is located under `/etc/pam.d/su` and add the following lines under `pam_rootok.so`: auth [success=ignore default=1] pam_succeed_if.so user = user auth sufficient pam_succeed_if.so use_uid user = adminuser If you want to allow a group of users to su into the user defined in the first line instead of one single user you can use auth sufficient pam_succeed_if.so use_uid user ingroup admins for the second line. In this example the group is called `admins`, the user which will su into another user `adminuser` and the user that will be su’ed in `user` The finished file should now look like this: ``` # # The PAM configuration file for the Shadow `su' service # # This allows root to su without passwords (normal operation) auth sufficient pam_rootok.so auth [success=ignore default=1] pam_succeed_if.so user = user auth sufficient pam_succeed_if.so use_uid user ingroup admins ... ``` |
| json metadata | {"tags":["linux"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #36381690/Trx 49dc26429e8c40f7e5ec81eb4f25ccbaf3b4fa4b |
View Raw JSON Data
{
"trx_id": "49dc26429e8c40f7e5ec81eb4f25ccbaf3b4fa4b",
"block": 36381690,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T09:20:30",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "linux",
"author": "timoschuetz",
"permlink": "use-su-without-the-need-of-a-password",
"title": "Use su without the need of a password",
"body": "I recently searched for a solution to su into a user which is only used for an application without entering a password. I normally create an application user without any password because that user never should be able to be logged on to. If you are not using the root user or sudo to log on you are required to enter a password even though the user does not have one at all. I found a neat trick which I want to share with you. \nWe can achieve these goals using Pluggable Authentication Modules or short PAM. We need to edit the corosponding su file with is located under `/etc/pam.d/su` and add the following lines under `pam_rootok.so`:\nauth [success=ignore default=1] pam_succeed_if.so user = user\nauth sufficient pam_succeed_if.so use_uid user = adminuser\nIf you want to allow a group of users to su into the user defined in the first line instead of one single user you can use\nauth sufficient pam_succeed_if.so use_uid user ingroup admins\nfor the second line. In this example the group is called `admins`, the user which will su into another user `adminuser` and the user that will be su’ed in `user`\nThe finished file should now look like this:\n```\n#\n# The PAM configuration file for the Shadow `su' service\n#\n\n# This allows root to su without passwords (normal operation)\nauth sufficient pam_rootok.so\nauth [success=ignore default=1] pam_succeed_if.so user = user\nauth sufficient pam_succeed_if.so use_uid user ingroup admins\n...\n```",
"json_metadata": "{\"tags\":[\"linux\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}timoschuetzclaimed reward balance: 0.180 STEEM, 0.219 SP2019/09/13 09:13:51
timoschuetzclaimed reward balance: 0.180 STEEM, 0.219 SP
2019/09/13 09:13:51
| account | timoschuetz |
| reward steem | 0.180 STEEM |
| reward sbd | 0.000 SBD |
| reward vests | 356.584942 VESTS |
| Transaction Info | Block #36381558/Trx 9f7299113e3191052a57289286463dfda0ed57a5 |
View Raw JSON Data
{
"trx_id": "9f7299113e3191052a57289286463dfda0ed57a5",
"block": 36381558,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-13T09:13:51",
"op": [
"claim_reward_balance",
{
"account": "timoschuetz",
"reward_steem": "0.180 STEEM",
"reward_sbd": "0.000 SBD",
"reward_vests": "356.584942 VESTS"
}
]
}timoschuetzreceived 0.180 STEEM, 0.219 SP author reward for @timoschuetz / setting-up-and-secure-a-linux-server2019/09/07 22:25:36
timoschuetzreceived 0.180 STEEM, 0.219 SP author reward for @timoschuetz / setting-up-and-secure-a-linux-server
2019/09/07 22:25:36
| author | timoschuetz |
| permlink | setting-up-and-secure-a-linux-server |
| sbd payout | 0.000 SBD |
| steem payout | 0.180 STEEM |
| vesting payout | 356.584942 VESTS |
| Transaction Info | Block #36225191/Virtual Operation #4 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 36225191,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 4,
"timestamp": "2019-09-07T22:25:36",
"op": [
"author_reward",
{
"author": "timoschuetz",
"permlink": "setting-up-and-secure-a-linux-server",
"sbd_payout": "0.000 SBD",
"steem_payout": "0.180 STEEM",
"vesting_payout": "356.584942 VESTS"
}
]
}joelpugaptupvoted (100.00%) @timoschuetz / setting-up-and-secure-a-linux-server2019/09/03 13:26:39
joelpugaptupvoted (100.00%) @timoschuetz / setting-up-and-secure-a-linux-server
2019/09/03 13:26:39
| voter | joelpugapt |
| author | timoschuetz |
| permlink | setting-up-and-secure-a-linux-server |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36099887/Trx 020c96223bcc692527124089a3e034af54221715 |
View Raw JSON Data
{
"trx_id": "020c96223bcc692527124089a3e034af54221715",
"block": 36099887,
"trx_in_block": 64,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-03T13:26:39",
"op": [
"vote",
{
"voter": "joelpugapt",
"author": "timoschuetz",
"permlink": "setting-up-and-secure-a-linux-server",
"weight": 10000
}
]
}syntoxictechupvoted (100.00%) @timoschuetz / setting-up-and-secure-a-linux-server2019/09/01 11:01:27
syntoxictechupvoted (100.00%) @timoschuetz / setting-up-and-secure-a-linux-server
2019/09/01 11:01:27
| voter | syntoxictech |
| author | timoschuetz |
| permlink | setting-up-and-secure-a-linux-server |
| weight | 10000 (100.00%) |
| Transaction Info | Block #36055405/Trx 02916cf34c217e7e587e7dca4304c4b7d1e45001 |
View Raw JSON Data
{
"trx_id": "02916cf34c217e7e587e7dca4304c4b7d1e45001",
"block": 36055405,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-01T11:01:27",
"op": [
"vote",
{
"voter": "syntoxictech",
"author": "timoschuetz",
"permlink": "setting-up-and-secure-a-linux-server",
"weight": 10000
}
]
}timoschuetzupdated options for px5ct22019/09/01 09:53:27
timoschuetzupdated options for px5ct2
2019/09/01 09:53:27
| author | timoschuetz |
| permlink | px5ct2 |
| max accepted payout | 1000000.000 SBD |
| percent steem dollars | 0 |
| allow votes | true |
| allow curation rewards | true |
| extensions | [] |
| Transaction Info | Block #36054049/Trx 87e074afa48aa58bc942b31f7129e767743ef5af |
View Raw JSON Data
{
"trx_id": "87e074afa48aa58bc942b31f7129e767743ef5af",
"block": 36054049,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-01T09:53:27",
"op": [
"comment_options",
{
"author": "timoschuetz",
"permlink": "px5ct2",
"max_accepted_payout": "1000000.000 SBD",
"percent_steem_dollars": 0,
"allow_votes": true,
"allow_curation_rewards": true,
"extensions": []
}
]
}timoschuetzreplied to @boosta / px5ct22019/09/01 09:53:27
timoschuetzreplied to @boosta / px5ct2
2019/09/01 09:53:27
| parent author | boosta |
| parent permlink | happy-birthday-linux |
| author | timoschuetz |
| permlink | px5ct2 |
| title | |
| body | Manjao/ Arch, will go to Gentoo in the future |
| json metadata | {"tags":["linux"],"app":"steemit/0.1"} |
| Transaction Info | Block #36054049/Trx 87e074afa48aa58bc942b31f7129e767743ef5af |
View Raw JSON Data
{
"trx_id": "87e074afa48aa58bc942b31f7129e767743ef5af",
"block": 36054049,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-01T09:53:27",
"op": [
"comment",
{
"parent_author": "boosta",
"parent_permlink": "happy-birthday-linux",
"author": "timoschuetz",
"permlink": "px5ct2",
"title": "",
"body": "Manjao/ Arch, will go to Gentoo in the future",
"json_metadata": "{\"tags\":[\"linux\"],\"app\":\"steemit/0.1\"}"
}
]
}2019/09/01 01:09:51
2019/09/01 01:09:51
| parent author | timoschuetz |
| parent permlink | setting-up-and-secure-a-linux-server |
| author | steemitboard |
| permlink | steemitboard-notify-timoschuetz-20190901t010953000z |
| title | |
| body | Congratulations @timoschuetz! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) : <table><tr><td><img src="https://steemitimages.com/60x60/http://steemitboard.com/img/notifications/firstpost.png"></td><td>You published your First Post</td></tr> <tr><td><img src="https://steemitimages.com/60x60/http://steemitboard.com/img/notifications/firstvoted.png"></td><td>You got a First Vote</td></tr> </table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@timoschuetz) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=timoschuetz)_</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #36043634/Trx fd99c2f11d70f99b169fc7fda43fe19d6b30b5cd |
View Raw JSON Data
{
"trx_id": "fd99c2f11d70f99b169fc7fda43fe19d6b30b5cd",
"block": 36043634,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-01T01:09:51",
"op": [
"comment",
{
"parent_author": "timoschuetz",
"parent_permlink": "setting-up-and-secure-a-linux-server",
"author": "steemitboard",
"permlink": "steemitboard-notify-timoschuetz-20190901t010953000z",
"title": "",
"body": "Congratulations @timoschuetz! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :\n\n<table><tr><td><img src=\"https://steemitimages.com/60x60/http://steemitboard.com/img/notifications/firstpost.png\"></td><td>You published your First Post</td></tr>\n<tr><td><img src=\"https://steemitimages.com/60x60/http://steemitboard.com/img/notifications/firstvoted.png\"></td><td>You got a First Vote</td></tr>\n</table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@timoschuetz) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=timoschuetz)_</sub>\n<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>\n\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}steemworldupvoted (3.00%) @timoschuetz / setting-up-and-secure-a-linux-server2019/08/31 22:30:36
steemworldupvoted (3.00%) @timoschuetz / setting-up-and-secure-a-linux-server
2019/08/31 22:30:36
| voter | steemworld |
| author | timoschuetz |
| permlink | setting-up-and-secure-a-linux-server |
| weight | 300 (3.00%) |
| Transaction Info | Block #36040462/Trx 98b26694b36f1f4e674689901888795b01775168 |
View Raw JSON Data
{
"trx_id": "98b26694b36f1f4e674689901888795b01775168",
"block": 36040462,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-31T22:30:36",
"op": [
"vote",
{
"voter": "steemworld",
"author": "timoschuetz",
"permlink": "setting-up-and-secure-a-linux-server",
"weight": 300
}
]
}misanupvoted (7.80%) @timoschuetz / setting-up-and-secure-a-linux-server2019/08/31 22:30:36
misanupvoted (7.80%) @timoschuetz / setting-up-and-secure-a-linux-server
2019/08/31 22:30:36
| voter | misan |
| author | timoschuetz |
| permlink | setting-up-and-secure-a-linux-server |
| weight | 780 (7.80%) |
| Transaction Info | Block #36040462/Trx 373b92f985f978ee15fd08a97465ead0abaf7b28 |
View Raw JSON Data
{
"trx_id": "373b92f985f978ee15fd08a97465ead0abaf7b28",
"block": 36040462,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-31T22:30:36",
"op": [
"vote",
{
"voter": "misan",
"author": "timoschuetz",
"permlink": "setting-up-and-secure-a-linux-server",
"weight": 780
}
]
}sophieandhenrikupvoted (6.00%) @timoschuetz / setting-up-and-secure-a-linux-server2019/08/31 22:30:36
sophieandhenrikupvoted (6.00%) @timoschuetz / setting-up-and-secure-a-linux-server
2019/08/31 22:30:36
| voter | sophieandhenrik |
| author | timoschuetz |
| permlink | setting-up-and-secure-a-linux-server |
| weight | 600 (6.00%) |
| Transaction Info | Block #36040462/Trx 3180bb025eea25987954b570ff65d616c8e95724 |
View Raw JSON Data
{
"trx_id": "3180bb025eea25987954b570ff65d616c8e95724",
"block": 36040462,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-31T22:30:36",
"op": [
"vote",
{
"voter": "sophieandhenrik",
"author": "timoschuetz",
"permlink": "setting-up-and-secure-a-linux-server",
"weight": 600
}
]
}vannourupvoted (3.00%) @timoschuetz / setting-up-and-secure-a-linux-server2019/08/31 22:30:33
vannourupvoted (3.00%) @timoschuetz / setting-up-and-secure-a-linux-server
2019/08/31 22:30:33
| voter | vannour |
| author | timoschuetz |
| permlink | setting-up-and-secure-a-linux-server |
| weight | 300 (3.00%) |
| Transaction Info | Block #36040461/Trx e35dd1e087be1fc2fc96ad0847ab57777ae4f469 |
View Raw JSON Data
{
"trx_id": "e35dd1e087be1fc2fc96ad0847ab57777ae4f469",
"block": 36040461,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-31T22:30:33",
"op": [
"vote",
{
"voter": "vannour",
"author": "timoschuetz",
"permlink": "setting-up-and-secure-a-linux-server",
"weight": 300
}
]
}shakaupvoted (12.00%) @timoschuetz / setting-up-and-secure-a-linux-server2019/08/31 22:30:30
shakaupvoted (12.00%) @timoschuetz / setting-up-and-secure-a-linux-server
2019/08/31 22:30:30
| voter | shaka |
| author | timoschuetz |
| permlink | setting-up-and-secure-a-linux-server |
| weight | 1200 (12.00%) |
| Transaction Info | Block #36040460/Trx 43ea54a916a3507c1ece62139560ea98fb72df74 |
View Raw JSON Data
{
"trx_id": "43ea54a916a3507c1ece62139560ea98fb72df74",
"block": 36040460,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-31T22:30:30",
"op": [
"vote",
{
"voter": "shaka",
"author": "timoschuetz",
"permlink": "setting-up-and-secure-a-linux-server",
"weight": 1200
}
]
}timoschuetzpublished a new post: setting-up-and-secure-a-linux-server2019/08/31 22:25:36
timoschuetzpublished a new post: setting-up-and-secure-a-linux-server
2019/08/31 22:25:36
| parent author | |
| parent permlink | linux |
| author | timoschuetz |
| permlink | setting-up-and-secure-a-linux-server |
| title | Setting up and secure a Linux server |
| body | In this post I want to give some tips and hints for securing a linux server. Keep in mind that everybody have a different definition of security and most you will have a different setup. This guide does not replace manual information gathering about how to protect your specific application, because there are no general rules that can be applied to every application. ## Getting Started What you need: * A linux machine (virtualized or bare metal) with shell access * some basic knowledge about how to use the terminal At first we need to connect to our machine using ssh. Then we will secure the ssh access to only login using ssh keys instead of plaintext passwords. Furthermore we will configure ssh to only let certain users log in, because users which only run our application should not be used for logging on. ## Basic Setup ### Update your system The first and most important step for keeping your systems safe is to keep them updated, so that is the first thing we are going to do. ``` bash $ apt update && apt upgrade -y ``` ### Create new user The first thing we should do is to create a personalized user, because we will disable root login over ssh later in this guide for security reasons. You can do this with Test ``` bash $ adduser timo ``` ### Add user to group To allow your newly created user to use the sudo prefix to execute commands as root, you first need to add him to the sudo group: ``` $ adduser timo sudo ``` ### Create ssh key Following you need your client machine to generate a new ssh key. You can use the Linux bash or shell, the Mac OS X terminal or the Windows subsystem (I personally use Debian, but you can choose whatever you prefer). If you don't have these options you can generate a new key using the putty keygen, but here we are using the shell. If you are asked in which file you want to save the key, just keep the defaults if you didn't have one already. If you already have a pair of keys then you should choose a different name to not overwrite them. The default name for most distributions and operating system is id\_rsa. ``` $ ssh-keygen -t rsa -b 4096 ``` After we created a new key we need to transfer it to our server: ``` $ ssh-copy-id -i /.ssh/id_rsa.pub timo @SERVERIP ``` After you have entered the password of your new user the key should be transferred to your server. **Check if ssh keys work** Before disabling password authentication we should check if ssh-keys are working correctly. For this you can open up a new terminal and try to connect with: ``` $ ssh timo@SERVERIP ``` If you are connected without the server asking for a password you setup ssh-keys successful. It may happen, that it does not work and that an error message like `access denied (publickey)` appears. Don't worry we will fix this right away. **Troubleshooting** To do this we need to open up the ssh daemon configuration file which is located at `/etc/ssh/`. ``` $ sudo vim /etc/ssh/sshd_config ``` You need to search for the following line: ``` #PubkeyAuthentication no ``` The line may be commented out or not, if it is you need to remove the hashtag. Now we need to set the variable to yes, so that it looks like this at the end: ``` PubkeyAuthentication yes ``` Now we need to restart the ssh daemon to use our edited config. ``` $ sudo systemctl restart sshd ``` Now you have to try again and check if it works. ### Restricting SSH access After setting up authentication over ssh keys we need to lock down the ssh daemon. For that we need to edit the `sshd_config` once again. ``` $ sudo vim /etc/ssh/sshd_config ``` Now we have to change some more parameters: First of all we will disable password based authentication for the whole system. Find the value `PasswordAuthentication no` uncomment it if necessary and set it to no, if it isn’t. ``` PasswordAuthentication no ``` Because the root user hold all permissions and can do everything on the system we do not want that user to be able to log on to prevent attacks or misuse. For logging on we created a new personal user before. To disable login of the root user find `PermitRootLogin no` uncomment it and set it to no if it isn’t. **Optional Steps** Because all users that do not have a ssh key in their directory are unable to authenticate we could just deny them getting logged on at all to minimize attack surface. For that we append a new line at the end of the file: ``` AllowGroups sudo ``` In this example I use the sudo group, but feel free to create a new group which will be used only for logon. If you only have one or two users it does not make much sense to use a group or if you do not want to use the sudo group you can also restrict to a user level: ``` AllowUsers timo ``` **Restart SSH daemon to apply changes** With that we have restricted the ssh access a far amount. Now to apply these changes we need to restart the ssh daemon. ``` $ sudo systemctl restart sshd ``` Double check in a seperate shell window that the access to the system still works before proceeding to the next steps. ## Setting up fail2ban (Optional) Fail2ban is a piece of software that was written in Python and it gives us the possibility to monitor the log files of the ssh daemon and block brute force attacks. Its functions are not only restricted to ssh, they can be used for all kinds of services. For some applications their are already some presets, but you can easily write your own, if you want to. SSH keys are not very likely to be brute forced because it would need a few millions attempts, but technically it is possible, so we want to prevent that. If you have other outside facing application as well I highly recommend using it. To use the software we first need to install it: ``` $ sudo apt install fail2ban ``` After that we need to create our own definition file. In this so called fail file we define which services to monitor and what actions to take, when a brute force is detected: ``` $ sudo vim /etc/fail2ban/jail.local ``` Here we add the following lines: ``` [sshd] enabled = true banaction = iptables-multiport maxretry = 8 findtime = 36000 bantime = 2629746 ``` The `maxretry` variable defines how much tries one IP has in a fixed amount of time `findtime` before getting banned for a certain amount of time `bantime`. All time variables are defined in seconds so in this example a IP with 8 unsuccessful authentications during 10 hours will get banned for a whole month. A month seems to be quite a long time, but because I only use ssh keys it is very unlikely that I will ever will trigger this accidentally and most compromised servers stay the same. Now we need to enable and start the fail2ban service to make everything work: ``` sudo systemctl enable fail2ban ``` ``` sudo systemctl restart fail2ban ``` Now we are ready to go. Have fun with your server, but always keep an eye on your system, because there is no 100% security and no system is safe. |
| json metadata | {"tags":["linux","server","security","guide"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #36040363/Trx 1a41b854ba69bd825d018eaa7ff5d02b96fd6156 |
View Raw JSON Data
{
"trx_id": "1a41b854ba69bd825d018eaa7ff5d02b96fd6156",
"block": 36040363,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-31T22:25:36",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "linux",
"author": "timoschuetz",
"permlink": "setting-up-and-secure-a-linux-server",
"title": "Setting up and secure a Linux server",
"body": "In this post I want to give some tips and hints for securing a linux server. Keep in mind that everybody have a different definition of security and most you will have a different setup. This guide does not replace manual information gathering about how to protect your specific application, because there are no general rules that can be applied to every application.\n\n## Getting Started\n What you need:\n* A linux machine (virtualized or bare metal) with shell access\n* some basic knowledge about how to use the terminal\n\nAt first we need to connect to our machine using ssh. Then we will secure the ssh access to only login using ssh keys instead of plaintext passwords. Furthermore we will configure ssh to only let certain users log in, because users which only run our application should not be used for logging on.\n\n## Basic Setup\n### Update your system\nThe first and most important step for keeping your systems safe is to keep them updated, so that is the first thing we are going to do.\n``` bash \n$ apt update && apt upgrade -y\n```\n### Create new user\nThe first thing we should do is to create a personalized user, because we will disable root login over ssh later in this guide for security reasons. You can do this with \nTest\n``` bash \n$ adduser timo\n```\n\n### Add user to group\nTo allow your newly created user to use the sudo prefix to execute commands as root, you first need to add him to the sudo group:\n```\n$ adduser timo sudo\n```\n\n### Create ssh key\nFollowing you need your client machine to generate a new ssh key. You can use the Linux bash or shell, the Mac OS X terminal or the Windows subsystem (I personally use Debian, but you can choose whatever you prefer). If you don't have these options you can generate a new key using the putty keygen, but here we are using the shell. If you are asked in which file you want to save the key, just keep the defaults if you didn't have one already. If you already have a pair of keys then you should choose a different name to not overwrite them. The default name for most distributions and operating system is id\\_rsa.\n```\n$ ssh-keygen -t rsa -b 4096\n```\n\nAfter we created a new key we need to transfer it to our server:\n```\n$ ssh-copy-id -i /.ssh/id_rsa.pub timo @SERVERIP\n```\n\nAfter you have entered the password of your new user the key should be transferred to your server.\n\n**Check if ssh keys work**\nBefore disabling password authentication we should check if ssh-keys are working correctly. For this you can open up a new terminal and try to connect with: \n```\n$ ssh timo@SERVERIP\n```\nIf you are connected without the server asking for a password you setup ssh-keys successful. It may happen, that it does not work and that an error message like `access denied (publickey)` appears. Don't worry we will fix this right away.\n\n**Troubleshooting**\nTo do this we need to open up the ssh daemon configuration file which is located at `/etc/ssh/`.\n```\n$ sudo vim /etc/ssh/sshd_config\n```\n\nYou need to search for the following line:\n```\n#PubkeyAuthentication no\n```\nThe line may be commented out or not, if it is you need to remove the hashtag. Now we need to set the variable to yes, so that it looks like this at the end:\n```\nPubkeyAuthentication yes\n```\n\nNow we need to restart the ssh daemon to use our edited config.\n```\n$ sudo systemctl restart sshd\n```\n\nNow you have to try again and check if it works.\n\n### Restricting SSH access\nAfter setting up authentication over ssh keys we need to lock down the ssh daemon. For that we need to edit the `sshd_config` once again.\n```\n$ sudo vim /etc/ssh/sshd_config\n```\n\nNow we have to change some more parameters:\n\nFirst of all we will disable password based authentication for the whole system. Find the value `PasswordAuthentication no` uncomment it if necessary and set it to no, if it isn’t.\n```\nPasswordAuthentication no\n```\nBecause the root user hold all permissions and can do everything on the system we do not want that user to be able to log on to prevent attacks or misuse. For logging on we created a new personal user before. To disable login of the root user find `PermitRootLogin no` uncomment it and set it to no if it isn’t. \n\n**Optional Steps**\nBecause all users that do not have a ssh key in their directory are unable to authenticate we could just deny them getting logged on at all to minimize attack surface. For that we append a new line at the end of the file:\n```\nAllowGroups sudo\n```\n\nIn this example I use the sudo group, but feel free to create a new group which will be used only for logon. If you only have one or two users it does not make much sense to use a group or if you do not want to use the sudo group you can also restrict to a user level:\n```\nAllowUsers timo\n```\n\n**Restart SSH daemon to apply changes**\nWith that we have restricted the ssh access a far amount. Now to apply these changes we need to restart the ssh daemon.\n```\n$ sudo systemctl restart sshd\n```\n\nDouble check in a seperate shell window that the access to the system still works before proceeding to the next steps.\n\n## Setting up fail2ban (Optional)\nFail2ban is a piece of software that was written in Python and it gives us the possibility to monitor the log files of the ssh daemon and block brute force attacks. Its functions are not only restricted to ssh, they can be used for all kinds of services. For some applications their are already some presets, but you can easily write your own, if you want to. SSH keys are not very likely to be brute forced because it would need a few millions attempts, but technically it is possible, so we want to prevent that. If you have other outside facing application as well I highly recommend using it.\n\nTo use the software we first need to install it:\n```\n$ sudo apt install fail2ban\n```\n\nAfter that we need to create our own definition file. In this so called fail file we define which services to monitor and what actions to take, when a brute force is detected:\n```\n$ sudo vim /etc/fail2ban/jail.local\n```\n\nHere we add the following lines:\n```\n[sshd]\nenabled = true\nbanaction = iptables-multiport\nmaxretry = 8\nfindtime = 36000\nbantime = 2629746\n```\n\nThe `maxretry` variable defines how much tries one IP has in a fixed amount of time `findtime` before getting banned for a certain amount of time `bantime`. All time variables are defined in seconds so in this example a IP with 8 unsuccessful authentications during 10 hours will get banned for a whole month. A month seems to be quite a long time, but because I only use ssh keys it is very unlikely that I will ever will trigger this accidentally and most compromised servers stay the same. \n\nNow we need to enable and start the fail2ban service to make everything work:\n```\nsudo systemctl enable fail2ban\n```\n\n```\nsudo systemctl restart fail2ban\n```\nNow we are ready to go. Have fun with your server, but always keep an eye on your system, because there is no 100% security and no system is safe.",
"json_metadata": "{\"tags\":[\"linux\",\"server\",\"security\",\"guide\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}timoschuetzupdated their account properties2019/08/31 22:16:57
timoschuetzupdated their account properties
2019/08/31 22:16:57
| account | timoschuetz |
| memo key | STM6z2oUYmfR5qEwUVwG5FQn1u9iYZdvtZkESypm7JNCwUvn5WRrK |
| json metadata | {"profile":{"about":"This account was instantly created via @steemwallet.app - available for iOS and Android!","website":"https://steemwallet.app","dtube_pub":"jTchANECdwQhSamZyRN8qKQGs4GowbavSZshSxXkSX1e"}} |
| Transaction Info | Block #36040194/Trx 898ec4d9edb49ee0c2fc4c7ee7c11f6798b38ce7 |
View Raw JSON Data
{
"trx_id": "898ec4d9edb49ee0c2fc4c7ee7c11f6798b38ce7",
"block": 36040194,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-31T22:16:57",
"op": [
"account_update",
{
"account": "timoschuetz",
"memo_key": "STM6z2oUYmfR5qEwUVwG5FQn1u9iYZdvtZkESypm7JNCwUvn5WRrK",
"json_metadata": "{\"profile\":{\"about\":\"This account was instantly created via @steemwallet.app - available for iOS and Android!\",\"website\":\"https://steemwallet.app\",\"dtube_pub\":\"jTchANECdwQhSamZyRN8qKQGs4GowbavSZshSxXkSX1e\"}}"
}
]
}steemwallet.borncreated a new account: @timoschuetz2019/08/31 18:42:45
steemwallet.borncreated a new account: @timoschuetz
2019/08/31 18:42:45
| creator | steemwallet.born |
| new account name | timoschuetz |
| owner | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM5SYHLaTedhDN3QELUqrNT61jGHoK9FfnQAhLcwpbq9MJbMJCKR",1]]} |
| active | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM6HJgArjprPfcCwxaLEKHj9mMK5PQjWbMFkT822jg64xp3xSLUZ",1]]} |
| posting | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM7G5RQF3onwaJtmEs8CcoREvdWqwwsSnUijtURBZhnpek8qwekp",1]]} |
| memo key | STM6z2oUYmfR5qEwUVwG5FQn1u9iYZdvtZkESypm7JNCwUvn5WRrK |
| json metadata | {"profile":{"about":"This account was instantly created via @steemwallet.app - available for iOS and Android!","website":"https://steemwallet.app"}} |
| extensions | [] |
| Transaction Info | Block #36035930/Trx 8ba42b74224d0f50007c8382039c51a5657d8122 |
View Raw JSON Data
{
"trx_id": "8ba42b74224d0f50007c8382039c51a5657d8122",
"block": 36035930,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-31T18:42:45",
"op": [
"create_claimed_account",
{
"creator": "steemwallet.born",
"new_account_name": "timoschuetz",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5SYHLaTedhDN3QELUqrNT61jGHoK9FfnQAhLcwpbq9MJbMJCKR",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6HJgArjprPfcCwxaLEKHj9mMK5PQjWbMFkT822jg64xp3xSLUZ",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7G5RQF3onwaJtmEs8CcoREvdWqwwsSnUijtURBZhnpek8qwekp",
1
]
]
},
"memo_key": "STM6z2oUYmfR5qEwUVwG5FQn1u9iYZdvtZkESypm7JNCwUvn5WRrK",
"json_metadata": "{\"profile\":{\"about\":\"This account was instantly created via @steemwallet.app - available for iOS and Android!\",\"website\":\"https://steemwallet.app\"}}",
"extensions": []
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress29.05%
{
"voting_manabar": {
"current_mana": 2911451942,
"last_update_time": 1570052556
},
"downvote_manabar": {
"current_mana": 742717332,
"last_update_time": 1570052556
},
"rc_account": {
"account": "timoschuetz",
"rc_manabar": {
"current_mana": "8288592595",
"last_update_time": 1570052556
},
"max_rc_creation_adjustment": {
"amount": "5945324133",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "8916193462"
}
}Account Metadata
| POSTING JSON METADATA | |
| None | |
| JSON METADATA | |
| profile | {"about":"This account was instantly created via @steemwallet.app - available for iOS and Android!","website":"https://steemwallet.app","dtube_pub":"jTchANECdwQhSamZyRN8qKQGs4GowbavSZshSxXkSX1e"} |
{
"posting_json_metadata": {},
"json_metadata": {
"profile": {
"about": "This account was instantly created via @steemwallet.app - available for iOS and Android!",
"website": "https://steemwallet.app",
"dtube_pub": "jTchANECdwQhSamZyRN8qKQGs4GowbavSZshSxXkSX1e"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM5SYHLaTedhDN3QELUqrNT61jGHoK9FfnQAhLcwpbq9MJbMJCKR1/1
Active
Single Signature
Public Keys
STM6HJgArjprPfcCwxaLEKHj9mMK5PQjWbMFkT822jg64xp3xSLUZ1/1
Posting
Single Signature
Public Keys
STM7G5RQF3onwaJtmEs8CcoREvdWqwwsSnUijtURBZhnpek8qwekp1/1
App Permissions
@engrave.app1/1
Memo
STM6z2oUYmfR5qEwUVwG5FQn1u9iYZdvtZkESypm7JNCwUvn5WRrK
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5SYHLaTedhDN3QELUqrNT61jGHoK9FfnQAhLcwpbq9MJbMJCKR",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6HJgArjprPfcCwxaLEKHj9mMK5PQjWbMFkT822jg64xp3xSLUZ",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [
[
"engrave.app",
1
]
],
"key_auths": [
[
"STM7G5RQF3onwaJtmEs8CcoREvdWqwwsSnUijtURBZhnpek8qwekp",
1
]
]
},
"memo": "STM6z2oUYmfR5qEwUVwG5FQn1u9iYZdvtZkESypm7JNCwUvn5WRrK"
}Witness Votes
0 / 30
No active witness votes.
[]